Le cinq Mai 2018, Twitter a identifié un bug dans leur gestion des mots de passe. Et même si cette faille de sécurité ne semble pas avoir été exploitée par des personnes malveillantes, l’entreprise préconise à tous ses utilisateurs de changer leur mot de passe.
Malgré cette recommandation je suis persuadé que très peu de personnes ont changé leurs mots de passe. Il faut être honnête : changer de mot de passe c’est chiant ! Il faut en trouver un nouveau en respectant des règles obscures mais ne pas le rendre trop compliqué au risque de ne pas réussir à s’en souvenir ensuite.
Et pourtant le mot de passe est votre première ligne de défense contre le piratage. Sur un site qui est codé de manière convenable, le mot de passe est la première chose qu’un pirate informatique va tenter de trouver. Ce n’est donc pas quelque chose qu’il faut négliger.
Je vous propose de faire un point ensemble sur la sécurité et les mots de passe.
Je commencerais par vous expliquer comment sont habituellement gérés les mots de passe sur un site internet. Par la même occasion nous verrons quelles sont les techniques utilisées par les pirates pour les trouver.
A partir de là nous verrons quelles sont les recommandations pour ne pas leur facilité le travail.
Je terminerais enfin par vous exposer ma méthode pour avoir un mot de passe complexe et différent pour chacun de mes comptes.
La gestion des mots de passe sur un site :
Imaginons que vous vous inscrivez pour la première fois sur Facebook. Vous allez devoir indiquer votre adresse mail et un mot de passe. Lorsque vous validez le formulaire ces deux informations seront sauvegardées dans une base de données.
Dans les débuts d’internet, toutes les informations en base de données étaient enregistrées en clair. Si votre mot de passe était « password », le mot « password » était parfaitement visible dans la base de données.
Comme vous vous en doutez, cette façon de procéder n’est pas du tout la bonne car il arrive malheureusement que des bases de données se fassent pirater (surement à cause d’un mauvais mot de passe administrateur d’ailleurs). Le pirate aura alors accès à tous les comptes mais aussi à tous les mots de passe. Et comme nous avons pour habitude d’utiliser le même mot de passe pour tout, le pirate peut alors avoir accès à l’ensemble de nos comptes (mail, session Windows, Facebook, Twitter, …)
Très rapidement, une méthode de cryptage a été instaurer : le hachage.
Les fonctions de hachage vont transformer votre mot de passe en une suite de chiffres et de lettres sans aucun sens.
Par exemple, notre mot de passe « password » deviendra après hachage :
$2y$10$QJFfysTYlIngLSHODe/fCuMxyVVQEYFnn40h1jHjt7dWkEOuaT6wK
Donc pour reprendre le cas où vous créez un compte sur Facebook, lorsque vous allez valider le formulaire, votre mot de passe sera haché puis enregistré dans la base de donnée.
Le principal intérêt du hachage est qu’il n’est pas réversible. Il n’est pas possible à partir de la ligne ci-dessus de récupérer le mot « password ». Mais dans ce cas comment fait le site internet pour reconnaître votre mot de passe ? Lorsque vous vous connectez à nouveau à Facebook, comment fait-il pour savoir que votre mot de passe est le bon ?
La réponse est simple : en comparant les hachages !
Lorsque vous validez le formulaire de connexion, le mot de passe que vous avez inscrit est haché. Puis Facebook va chercher dans sa base de données le mot de passe haché qui correspond à votre identifiant. Il ne lui reste plus qu’à comparer les deux résultats.
Grâce à cette méthode, si la base de données est corrompue lors d’un piratage. Il est totalement impossible pour un pirate de deviner les mots de passe puisqu’il est impossible de récupérer un mot de passe en clair à partir de sa version hachée. Enfin… dans le principe…
Les techniques de pirate
Et maintenant enfilez votre crochet, votre bandeau et votre plus beau perroquet, on va jouer aux pirates !
Nous venons de voir que les mots de passe sont cryptés en base de donnée alors comment des personnes malveillantes arrivent-elles à se connecter à votre compte ?
L’attaque par force brut
Quel est selon vous la façon la plus simple d’ouvrir une porte fermée à clef ?
Pour celles et ceux qui ont répondu « en tapant dessus assez fort » félicitation vous êtes des pirates !
L’attaque par force brut consiste à trouver le mot de passe en testant une à une toutes les combinaisons possibles. Cette méthode ultra bourrine peut s’avérer payante seulement si le mot de passe n’est pas compliqué ou très cours.
L’attaque par dictionnaire
Tout comme pour l’attaque par force brut, celle par dictionnaire consiste à tester à la suite des mots de passe. Mais au lieu de tester toutes les combinaisons de lettre et de chiffre, cette attaque va utiliser des « dictionnaires » de mot de passe.
« password », « abcde », « azerty », « 123456 », … bref tous les mots de passe qui sont habituellement utilisés sont testés les uns après les autres. Bien entendu cette méthode n’est efficace que si le mot de passe se trouve dans les dicos.
Le phishing
A la question « quel est la façon la plus simple d’ouvrir une porte fermée à clef » il y avait une réponse encore plus simple : demander la clef au propriétaire !
La technique du phishing, ou d’hameçonnage, est une technique dit d’ingénierie sociale. A l’inverse de l’attaque par force brut ou par dictionnaire, elle ne repose pas sur une technique informatique mais consiste à exploiter la faille humaine. Le but de cette technique : vous amener à donner vous-même vos identifiants !
Par exemple : un jour vous recevez un mail de Facebook, les conditions d’utilisations de vos données personnelles ont changé et si vous ne validez pas rapidement ces nouvelles normes, toutes vos données seront visibles par tous ! Ni une ni deux vous cliquez sur le lien, vous arrivez bien sur une page qui ressemble à la page de connexion de Facebook. Vous rentrez alors vos identifiants afin de vous connecter et d’éviter que toutes vos dernières photos soient visibles.
Et voilà, vous venez de fournir votre mot de passe à un pirate !
Cette exemple peut ne pas porter à de trop lourdes conséquences mais sachez qu’une bonne partie des mails de fishing tentent de vous soutirer vos coordonnées bancaires en se faisant passer pour votre banque, pour EDF, ou pour votre fournisseur d’accès à internet…
Bien choisir son mot de passe
Vous l’aurez compris, le choix du mot de passe est déterminant pour la sécurité de vos comptes. Plus votre mot de passe est commun, simple ou court, plus il a de risque d’être trouvé.
Mais comment bien choisir un mot de passe ?
Pour rappel, afin d’éviter les attaques par force brut le mot de passe doit être suffisamment long et complexe. L’Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI) recommande les principes suivants :
- Le mot de passe doit contenir au moins 12 caractères,
- Il faut utiliser des types différents : majuscules, minuscules, chiffres, caractères spéciaux
Exemple de mauvais mot de passe :
- abcdefghijklmnopqrstuvwxyz : il n’y a pas à dire celui-ci est très long. Par contre il n’a aucune complexité car il n’est composé que de lettre en minuscule.
- A$3b : à l’inverse ce mot de passe est très complexe car il mélange des types différents. Malheureusement il est beaucoup trop court.
Les comportements à éviter
Maintenant que nous avons les premiers principes pour avoir un mot de passe long et complexe il nous reste une chose à voir : éviter la faille humaine. Car même le meilleur mot de passe du monde ne vaut rien si vous le donner par erreur.
Je vous invite donc à respecter les recommandations suivantes :
- Choisissez un mot de passe qui n’a aucun lien avec vous : date de naissance, prénom des enfants ou de l’animal de compagnie, nom de société… Rien ne doit vous lier au mot de passe.
- N’utilisez pas de générateur en ligne : ne faites pas confiance aux sites qui vous proposent de générer un mot de passe ou au contraire de vérifier si votre mot de passe est sécurisé. Ces sites peuvent tout simplement servir à alimenter des dictionnaires.
- Si un site vous oblige à avoir un minimum de caractère (6 ou 8 bien souvent), ne respectez pas cette condition à la lettre. Dans ces cas les hackers adapteront leurs algorithme pour d’abord tester les mots de qui ont le bon nombre de caractère. En ajoutant un ou plusieurs caractères vous allongez donc le temps de recherche.
- Ne stockez pas vos mots de passe de manière « visible » : pas de fichier « mot de passe » sur votre ordinateur ou pire sur un post-it collé à l’écran (ne rigolez pas je vois ça très régulièrement).
- N’acceptez pas la sauvegarde de mot de passe (sur les navigateurs par exemple) sur un ordinateur qui n’est pas le vôtre. J’irais même jusqu’à recommander de ne pas le faire non plus sur son propre ordinateur.
- Toujours vérifier la source : lorsque vous avez un mot de passe à donner, vérifier toujours que vous le faites au bon endroit pour éviter les attaques par fishing.
- Toujours modifier immédiatement les mots de passe par défaut : lors de la création de compte ou le renouvellement de mot de passe certains sites vous envoient par mail un nouveau mot de passe. Vous devez impérativement le changer.
- Changer régulièrement vos mots de passe : l’ANSSI recommande tous les 3 mois pour les données sensibles. Personnellement je le fais une fois par an.
- Et enfin utiliser un mot de passe unique pour chaque service, de mon point de vue la recommandation la plus importante.
Une solution à ce casse-tête ?
« Il faut donc qu’on trouve des mots de passe pour chaque service, qui soient longs et complexes et faut arriver à se souvenir de tous. Et avec ceci ça sera tout ? »
Vous avez raison, concevoir des mots de passe en respectant les critères vus plus haut n’est pas simple du tout.
L’ANSSI propose deux méthodes pour choisir des mots de passe :
- La méthode phonétique : « J’ai acheté huit cd pour cent euros cet après-midi » deviendra ght8CD%E7am
- La méthode des premières lettres : la citation « un tien vaut mieux que deux tu l’auras » donnera 1tvmQ2tl’A
Il y a beaucoup d’autres sites qui proposent des méthodes pour créer des mots de passe. Je ne suis pas trop fan de ce type d’idée. Il ne faut pas oublier que plus une méthode sera répandue plus il sera facile pour les pirates d’adapter leurs algorithmes pour prendre en compte ces méthodes.
De plus ces méthodes ne permettent pas de régler le principal problème : réussir à se souvenir de tous ses mots de passe !
Mais ne vous inquiétez pas, j’ai pour vous LA solution miracle : créez votre propre méthode !
Au lieu d’essayer de se souvenir de chaque mot de passe, imaginez votre propre méthode, votre propre algorithme pour concevoir un mot de passe en fonction de la source, c’est-à-dire le nom du site ou du service utilisé.
Un exemple vaut mieux que mille mots :
L’algorithme choisi est :
Première lettre de la source en majuscule
+ seconde lettre de la source en minuscule
+ un point d’exclamation
+ les deux premières lettres de mon prénom en minuscule
+ les deux premières lettres de mon nom de famille en majuscule
+ un point-virgule
+ les chiffres 486
+ la dernière lettre de la source en minuscule
+ la dernière lettre de la source en majuscule
Ce qui donne :
- Pour Facebook : Fa!seCL;48oK
- Pour Twitter : Tw!seCL;48eR
Au premier abord cela semble assez difficile à mettre en place. A vous de trouver une séquence facile à retenir. Alors bien entendu cette exemple utilise le prénom et le nom alors que je vous ai conseillé plus haut de ne pas faire de lien avec vous. Avouez tout de même que même en sachant mon prénom et mon nom il vous aurait été impossible de trouver cette séquence !
Pour conclure je souhaiterais insister sur un point : la meilleure façon de lutter contre le piratage de mot de passe est d’être novateur et prudent. Même s’il est virtuellement impossible d’être protégé à cent pour cent, en créant vos propres règles pour vos mots de passe et en étant prudent vous limitez considérablement les risques de piratage.
Sources
https://blog.imirhil.fr/2015/10/27/stockage-mot-passe.html
https://fr.wikipedia.org/wiki/Attaque_par_force_brute
https://www.commentcamarche.com/contents/65-le-phishing-hameconnage