Inglorious Astar

Vie, mort et faits d'arme des mots de passe

Parce qu'un hacker suffisamment doué peut deviner le nom de votre chien

Public cible :
Grand public
-
Temps de lecture :
20
min

Notre précieux sésame

Si vous êtes repu d'entendre qu'un mot de passe doit avoir 8 caractères, des lettres, des chiffres, des caractères spéciaux et que vous sentez bien qu'il y a autre chose à savoir, vous êtes au bon endroit.

Cet article a vocation à vous aiguiller sur les bonnes pistes et à vous permettre de comprendre pourquoi certaines pratiques (que vous jugez probablement bonnes) sont en fait pernicieuses.
Notamment pourquoi FrodonComaPlacentaGore est un meilleur mot de passe que D@v1d2019!

Les erreurs à ne pas commettre

Avoir un mot de passe à son image

"Le mot de passe c'est intime, c'est une part de nous, c'est lié à notre identité".
Fuyez pauvres fous ! Un mot de passe qui vous ressemble, un mot de passe "à votre image", est la dernière des bonnes idées.
5 ans de fappening sont là pour témoigner que le mot de passe "juliana" est plutôt une mauvaise idée si vous vous appelez par exemple... Juliana. Des millions d'hommes de 35 ans ont du bien se (ré)jouir de la naïveté de ces stars. Mais aujourd'hui, 5 ans plus tard, quand leur fille a maintenant 15 ans, un smartphone et beaucoup trop d'amis au lycée... la peur change de camp.

Comment en arrive-t-on là ?
D'une manière assez simple, quand on cherche l'inspiration pour un mot de passe, il nous vient plutôt en tête des mots en liens avec nos goûts: son acteur préféré, le nom du chien, le code postal, etc.
Et on trouve ça parfois trop mignon d'utiliser le nom de l'élue de son coeur en guise de "code secret", ou encore trop stylé d'utiliser le nom de son joueur de foot préféré.
D'une certaine manière, on aimerait presque que les gens découvrent notre mot de passe pour les entendre nous dire "DevilM4yCry ? wouuuuuué la classe ton mot de passe mec !" ou bien "Sandra<3Kevin oooooooh c'est cro mignon".

Fort de ce constat, comment juger si votre mot de passe vous ressemble trop ?
Pour le savoir, vous pouvez suivre le cheminement qu'emploierait un pirate contre vous.

Premièrement il testera les 100 ou 1000 mots de passe les plus fréquents sur Internet. Si le votre est dedans, il n'y a pas de quoi être fier.

Si le pirate n'a pas trouvé votre mot de passe, il va maintenant tester un dictionnaire de prénoms. Car si vous avez plus de 45 ans, vous appartenez à cette génération où 99% des mots de passe sont les noms des enfants... et il n'y a pas de quoi être fier non plus.

A cet instant il est possible que vous riiez d'un air diabolique devant les tentatives pathétiques de ces pauvres pirates car votre mot de passe c'est "Th0mas" avec un zéro à la place du "o" !!!
Laissez-moi vous présenter rsmangler. Un petit outil sympathique qui compile les habitudes hautement originales dont vous faites preuve. Son utilisation est simple : on lui donne à manger un mot et il en sort une liste de dérivés.
Pour le mot "thomas", nous aurons :

  • thomas
  • Thomas
  • ...
  • tHoMaS
  • ...
  • thomas1998
  • ...
  • Th0mas
  • ...
  • Th0m4s
  • ...
  • 7h0m4S
  • ...

Bref, je vous épargne la liste complète, mais toutes les astuces minuscules/majuscules, l33t, rajouter une année, mettre le mot à l'envers, etc. ça ne lui fait pas peur.
Donc notre pirate a seulement besoin d'appliquer rsmangler sur chaque prénom de sa liste.

Maintenant, considérons que vous n'étiez pas aussi pathétique dans votre choix et que les deux premières étapes n'ont pas porté leurs fruits.
Je suis un pirate et je vais devoir me renseigner sur vos centres d'intérêts pour trouver des idées de mots de passe que vous auriez pu utiliser.
Il y a un outil pour cela aussi: cewl (décidément c'est pas de chance). Pour l'utiliser, il suffit de lui passer une URL et il créera un dictionnaire basé sur les mots trouvés dessus. Donc on pense tout de suite à lui passer votre page facebook et on voit ce que ça peut donner.
Par exemple si quelqu'un voulait pirater François Bayrou pour enrichir la base du fappening, cet outil lui donnerait la liste suivante:

  • ...
  • française
  • mérite
  • réponses
  • francois
  • bayrou
  • président
  • MoDem
  • Bienvenue
  • respect
  • ...
  • Deutsch
  • Plus
  • débat
  • chefs
  • partis
  • BFMTV
  • ...

Et là pareil, chaque mot peut être passé dans rsmangler pour avoir les variantes.
Sachant que sur votre page Facebook on trouvera votre département, votre ville de naissance, le nom de votre chien, le nom de vos enfants, le nom de votre voiture préférée, le nom de votre footballeur préféré, le nom de votre marque de vêtements préférée, ... (en général ça traîne dans les commentaires ou les lieux de vos photos).

Si votre mot de passe n'est pas basé sur un mot que l'on peut trouver sur votre facebook, dans un dictionnaire de noms/prénoms ou dans une liste de mots de passe fréquents, vous passez avec succès cette première étape.

Dans le cas contraire, ben ne faites plus ça.
C'est mal.
Retenez bien que votre mot de passe ne doit PAS vous ressembler. A la limite si quelqu'un le découvrait un jour, il faudrait qu'il se dise "nooooooon ça ne peut pas être le mot de passe de Michel ça".

Parler de votre mot de passe

Est-ce que votre mot de passe fait au moins 8 caractères ? Est-ce qu'il comprend des chiffres et caractères spéciaux ? Est-ce qu'il comprend des majuscules ?
On vous a sûrement déjà posé ces questions.
Quelqu'eut été votre réponse, sachez qu'elle fût mauvaise car elle viole la règle numéro 1 :

ON NE PARLE PAS DE SON MOT DE PASSE
Regle n°1

Ton mot de passe fait plus de 8 caractères ? Fort bien, je peux donc m'abstenir de tester toutes les combinaisons de 7 caractères (64 847 759 419 264 possibilités), toutes les combinaisons de 6 caractères (689 869 781 056 possibilités), toutes les combinaisons de 5 caractères (7 339 040 224), etc. etc.
Autant dire que cela m'épargne bien du mal.
Ton mot de passe est fort car il contient des majuscules à plusieurs endroits ? Fort bien, je peux donc m'abstenir de tester tous les mots de passe qui contiennent 1 ou 0 majuscules (environ 8,5% de mots de passe en moins à tester).

Vous voyez l'idée. Chaque fois que vous donnez une indication sur le contenu, le format, la façon dont a été créé votre mot de passe, etc., c'est comme si vous permettiez au pirate de baisser des tuiles dans une partie de "Qui est-ce ?"

La seule réponse à donner à toute question sur votre mot de passe, même si elle est évasive, innocente ou superficielle, est "je ne donne aucune information sur mon mot de passe".

Et ceci nous amène à parler de cette aberration que sont les "indices" de mot de passe et autres questions secrètes.
Certains sites (Windows, Mac aussi d'ailleurs) vous proposent d'enregistrer un indice concernant votre mot de passe au cas où vous l'oubliez.

Image indice

Sachez que ces indices et questions sécrètes sont stockés en clair et accessibles à toute personne voulant pirater votre compte.
Donc même sans parler des stars qui se disent "hummm quel indice pour penser à Futurama12! ... Futurama...12", il faut comprendre que c'est quelque chose de dangereux. La règle est très simple, tout indice, quel qu'il soit, diminue la sécurité de votre mot de passe. Tout est question de savoir à quel point.

Donc il faut juger comment ce que vous révélez dans l'indice peut éliminer des cas à tester pour le pirate. Si je mets l'indice "mon héros de film préféré" le pirate utilisera probablement un dictionnaire de noms propres et s'abstiendra de tester des choses comme "recevoir", "hygiène", "endoctriner", etc. ça lui enlève quasiment tous les mots du dictionnaire... c'est beaucoup.

Pour les questions secrètes, en général le choix est limité par le site.
Si le site nous propose une question comme "Mon signe du zodiac préféré"... vous vous rendez bien compte que même si le pirate ne connaît pas votre date de naissance, c'est surmontable (au pire 12 essais).
La ville de naissance de votre mère ? Ok il y a plus de choix, mais il n'y a qu'environ 30 000 communes en France, dont la liste peut facilement être récupérée. Le nom de votre chien ? Tout vous amis facebook le connaissent probablement.

Bien, un peu de maths maintenant.
Nous allons calculer quelle est la quantité acceptable d'information que vous pouvez vous permettre de donner dans les questions secrètes et indice de mot de passe.
Soit L la longueur de votre mot de passe, C le nombre de caractères possibles, P le nombre de possibilités qui peuvent correspondre à votre indice, l'équation suivante vous donne exactement la quantité d'information que peuvent contenir ces indices et questions secrètes :

0
Regle n°1

N'utilisez jamais les indices et questions. Si vous êtes obligés de les remplir ne répondez pas par quelque chose de faux mais par quelque chose d'aléatoire. En effet répondre une fausse ville de naissance de votre mère n'empêche pas que le pirate trouvera la réponse en testant tous les noms de villes. En revanche mettre oifjzoaùfhjofjÖZFNZOf va le calmer.
De même donner un faux indice de mot de passe donne une information sur ce que votre mot de passe n'est pas, ce qui est utile.

Il y a une seule exception c'est quand la question secrète est utilisée conjointement à l'envoi d'un courriel pour réinitialiser le mot de passe et qu'aucun des deux, seul, n'est suffisant pour cette opération.

Utiliser le même mot de passe partout

"C'est déjà suffisamment dur de trouver un bon mot de passe et de le retenir, s'il en faut un différent pour chaque site, c'est la hess." Effectivement, il y a un peu de ça. Pourtant nous allons voir que ce n'est vraiment pas négociable.

Sur tous les sites où vous vous êtes inscrits avec le même mot de passe, certains sont développés par des professionnels sur-payés et avides de sécurité. D'autres sont développés par des amateurs avides de rien.
Il suffit qu'un seul des sites moisis se fasse siphonner sa base de données par un pirate et votre mot de passe se retrouve dans la nature.

A titre d'illustration, voici un site qui répertorie toutes les bases de mots de passe ayant fuitées à la suite d'un piratage: https://www.databases.today/search.php.
On y retrouve notamment LinkedIn, Mega.co.nz, Playstation Network, etc.

Si vous n'avez pas le temps de chercher dans chacune si vous y figurez, il y a l'utilissime site haveibeenpwned auquel vous pouvez soumettre votre adresse email ou votre mot de passe pour voir s'ils apparaissent dans certaines bases ayant fuitées.
Pour une de mes adresses email cela me donne :

Have I been pwned

Et puis si vous vous ennuyez, vous pouvez aussi télécharger la base des mots de passe qu'ils ont compilés ici

Imaginons maintenant que vous soyez un pirate ayant cette base de mots de passe entre les mains.
Vous voyez que le mot de passe de paul.bizmut@laposte.net a fuité pour le site adopteunetopmodeleitalienne.com. Mais ça ne vous intéresse pas de lui voler son compte, vous vivez déjà avec une top model italienne (vu que vous êtes un pirate).

Il serait intéressant de voir si Paul Bizmut n'utilise pas le même mot de passe ailleurs: facebook, paypal, ashleymadison, etc. Seulement cela vous semble fatigant car vous manquez de protéine depuis votre nouveau régime vegan.
Qu'à cela ne tienne, Cr3dOv3r est là pour ça: on lui donne une adresse email, il va chercher si son mot de passe se trouve dans une base ayant fuitée et s'il le trouve, il l'essaye sur plusieurs services:

[+] Testing email against 15 website
[!] [ Facebook ] Login unsuccessful!
[+] [ Twitter  ] Login successful!
[!] [ Ask.fm   ] Login unsuccessful!
[+] [ Github   ] Login successful!
[!] [Virustotal] Login unsuccessful!
[!] [LinkedIn  ] Something wrong with the website maybe it's blocked!
[!] [ Ebay.com ] Login unsuccessful!
[!] [Wikipedia ] Login unsuccessful!
[!] [ Airdroid ] Login unsuccessful!
[!] [ StackOF  ] Login unsuccessful!
[!] [FourSquare] Login unsuccessful!
[!] [ Gitlab   ] Login unsuccessful!
[+] [ Google   ] Login successful!
[!] [ Yahoo    ] Email not registered!
[!] [Mediafire ] Login unsuccessful!

Tout cela est particulièrement bien huilé et il suffit d'un seul site loufoque, sur lequel vous vous êtes enregistré il y a des années sans jamais y retourner, pour être touché.
Sans parler du fait que n'importe qui pourrait créer un site, espérer que des gens s'y inscrivent. Quand ils s'inscrivent, enregistrer leur mot de passe et tenter de le réutiliser sur Paypal...

XKCD

Moralité, il faut utiliser un mot de passe unique par site Web. Nous reviendrons sur comment faire.

Se torturer avec un mot de passe ultra-complexe

Oui vous avez bien lu, nous sommes toujours dans la catégorie "A ne pas faire".
Bien qu'on vous assène sans arrêt que votre mot de passe doit contenir des minuscules, majuscules, chiffres et caractères spéciaux, c'est parfaitement subsidiaire du moment que votre mot de passe est suffisamment LONG.

Pour savoir si votre mot de passe est robuste à une attaque exhaustive, il faut calculer le nombre de mots de passe que votre adversaire devrait essayer un à un avant de tomber sur le votre. On part du principe que l'attaquant est une brute qui va tester dans l'ordre "a", "aa", "ab", "ac"..."az", "aaa", "aab", ... "passworc", "password", "passwore", ... "zzzzzzzzzzzzy", "zzzzzzzzzzzzz"
Vous voyez le principe.

Je vous passe la vraie formule, sachez qu'on peut approximer l'ordre de grandeur en disant qu'il faut tester "le nombre de caractères utilisables" (que j'appellerai C) puissance "la longueur du mot de passe" (que j'appellerai L):

CL

Mais tout de suite un exemple.
Si mon mot de passe est Jk[er45!"Z, le pirate ne pourra le trouver que s'il suppose qu'il comporte des minuscules (26 possibilités), des majuscules (26 possibilités), des chiffres (10 possibilités) et des caractères de ponctuation (32 possibilités).
Il y a donc 94 caractères utilisables.
Mon mot de passe fait 10 caractères de long, nous en déduisons de la formule qu'il faut calculer 9410 soit 53 861 511 409 489 970 176 possibilités.

C'est bien.
On ne va pas se mentir, si l'attaquant teste les mots de passe à l'allure de 100 milliards d'essais toute les secondes (ce n'est pas à la portée du premier venu), il lui faudrait environ 17 ans pour y arriver.

Clap clap

Maintenant prenons un autre mot de passe: mignonkoalafanderock. Bon, si l'attaquant suppose qu'il n'y a que des minuscules, il peut trouver mon mot de passe, donc il n'a que 26 caractères utilisables à tester.
Le mot de passe fait 20 caractères de long. La formule nous dit donc de calculer 2620... soit 19 928 148 895 209 409 152 340 197 376.
Pour parler en années de mots de passe à tester, là cela prendrait non plus 17 ans mais 6 milliards d'années...

Ce qu'il faut comprendre c'est qu'augmenter le nombre de caractères utilisables (le C de la formule) améliore la robustesse de manière géométrique. Augmenter la longueur du mot de passe (le L) améliore la robustesse de manière exponentielle !!

Pour schématiser à l'aide d'une courbe totalement fausse et arbitraire, imaginez qu'augmenter C améliore la robustesse du mot de passe suivant la courbe rouge. Augmenter L améliore la robustesse suivant la courbe bleue.

courbes

En résumé en dessous d'un certain nombre de caractères la courbe bleue est moins bonne, mais passé un certain seuil, elle est stratosphériquement meilleure.

Vous pourriez me dire que "du coup c'est encore mieux de faire un mot de passe long ET complexe".
Et bien... qui dit complexe dit difficile à mémoriser. Donc si c'est pour le noter sur un post-it ou avoir le même partout car vous ne pouvez pas en retenir 20 comme ça... la réponse est non.

Sachez-le, même si vous avez l’impression que votre mot de passe est vraiment complexe car il est plein de caractères étranges (comme Hu90W1n!88), il l’est probablement moins que vous ne le pensez.

La racine du mal

En effet, l’expérience nous apprend que lorsque vous devez mettre au point un mot de passe complexe, il est loin de revêtir l’aspect aléatoire (et donc robuste) que l’on en attend.
Vous choisissez généralement ce qu’on l’on appelle une “racine”, c’est-à-dire un mot prononçable dans votre tête, et ensuite vous dégradez ce mot de multiples façons:

  • Michel -> MichMich
  • Anaconda -> 4n4kond4
  • Fantomette -> faNtomEttE
  • ...

Comme on vous demande des majuscules dans votre mot de passe, vous êtes nombreux (90% des cas) à céder à la convention qui consiste à faire débuter votre mot de passe par une majuscule.
Et les chiffres et caractères spéciaux apparaissent très souvent à la fin. Comme chiffres vous choisirez régulièrement des dates de naissance (93, 1980, ...), des numéros de département (surtout dans les départements chauvins) ou des séquences classiques (123, 007, ...). Comme caractères spéciaux, vous raffolez des “!”, “/”, “-”, “?”, “$” mais beaucoup moins des “~”, “|”, “{“, “§”.

Et donc, si le pirate trouve la racine que vous avez employée, il n’aura pas besoin de tant d’essais que vous le pensez pour trouver votre mot de passe “complexe”. Comme nous l’avons vu plus haut, il est à espérer pour vous que votre racine ne soit pas un mot trop connu ou bien qui s’extraie facilement de vos informations publiques sur Internet.

Il est bien plus utile d'avoir un mot de passe simple à retenir, car vous n'avez ainsi pas à le noter.

XKCD

Modifier son mot de passe tous les 3 mois

Encore une fois, on est bien dans la rubrique "à ne pas faire", vous ne rêvez pas.

Cette recommandation est initialement issue du fait que si un pirate a accédé indirectement à votre mot de passe (par exemple s'il a piraté le site de Domino's Pizza où vous l'utilisiez), vous pouvez lui couper l'accès en le changeant.

Dans les faits ... c'est contre-productif.
C'est déjà difficile de retenir un bon mot de passe, mais alors s'il faut s'en rappeler d'un nouveau tous les 3 mois, c'est vite l'horreur. Et donc dans les faits, ce que font les personnes à qui on impose ça, c'est qu'elles rajoutent un suffixe du type TitiPoney2019, Luca$$03, MonpasswordAvril. Donc si un pirate trouve votre mot de passe Josianne_2K18 et que d'un coup vous le changez ... ok il n'a plus l'accès ... mais bon ça va pas lui provoquer un anévrisme de deviner le nouveau.

Qui plus est, si un pirate a choppé votre mot de passe, soit il s'en sert immédiatement d'une manière visible : il vous vole votre compte Instagram et vous demande une rançon pour le récupérer, il envoie un message à tous vos contacts pour leur quémander de l'argent en se faisant passer pour vous ("slt jsuis dans une grosse galère, est-ce que tu peux me faire un virement de 400€ sur ce compte à Djibouti stp ?"), etc. Soit il vous pique silencieusement vos données pour les revendre. Soit il profite d'un accès à un serveur de votre entreprise et s'installe une porte dérobée pour revenir quand il veut. 
Et donc globalement, quand vous changez votre mot de passe, le gros du mal est déjà fait, ça ne change plus grand chose.

Donc c'est beaucoup de souffrance pour peu de résultat => ça dégage.

S'inspirer des mots de passe des autres

Si vous suivez une recette pour construire votre mot de passe, les pirates utilisent la même recette pour vous le déplomber.

Si vous voyez un mot de passe qui vous plaît, oubliez. Si vous l'avez vu, c'est qu'il est probablement connu et qu'il est donc dans les dictionnaires d'attaque des pirates.
En fait, si c'est écrit quelque part, c'est que ça a des chances d'être dans un dictionnaire d'attaque.

Tout ce que vous voyez/lisez/entendez/humez/touchez qui vous inspire un mot de passe...

Avengers

... est probablement une mauvaise idée.

Lorsque un site se fait pirater et que l'on observe les mots de passe des gens, il est triste de voir à quel point ils utilisent tous les mêmes. Les pirates le savent et testent avant tout les "blockbusters".
Donc exit les P@ssword1, MichaelJackson, Azerty123! StarWarsdu93, etc.

Tout miser sur la biométrie

"Les mots de passe c'est obsolète de toute façon, maintenant tout se déverrouille avec le doigt sur le smartphone."
Certes, cette mode du biométrique a probablement compliqué la vie des pirates. Pour autant, la biométrie pose un certain nombre de problèmes difficilement surmontables.

Tete à la main

Unique mais pas secret

Un mot de passe, vous pouvez le retenir et ne le noter nul part. On ne sait pas (encore) l'extraire de votre cerveau. Quand vous vous baladez dans la rue, vous emportez le plus souvent votre visage et vos mains, qui sont donc exposés à la vue de tous. Cela revient à se balader avec un post-it sur le front où est inscrit votre mot de passe.
Nos constantes biométriques sont certes uniques mais elle sont loins d'être assez secrètes. L'Etat connait vos empreintes (vous les donnez pour obtenir une carte d'identité ou un passeport), les états des pays où vous avez voyagé aussi (on les donne à l'aéroport). Mais il y a bien pire : s'il existe des photos de vous sur Internet, il est envisageable de les utiliser pour tromper de la reconnaissance faciale et même un détecteur d'empreintes (si l'on aperçoit votre doigt sur une photo).

Non modifiable

Lorsque le mot de passe d'un utilisateur est compromis, il lui suffit d'en changer. Si son empreinte digitale est compromise, car il l'a laissée sur un verre d'eau, il ne peut pas changer ses doigts (sans parler de son visage).
Ceci viole le principe de Kerckhoff (un des fondamentaux de la sécurité) qui veut que la sécurité d'un système ne doit reposer que sur des secrets facilement modifiables (un mot de passe est facilement modifiable, pas un doigt).

Inversement, quand vous perdez votre mot de passe, il suffit de le réinitialiser. Mais si on vous coupe le doigt et que vous ne pouvez plus faire de virement bancaire, commander à manger sur deliveroo, consulter vos emails, etc. c'est problématique quand même.
Si vous faites de la chirurgie faciale ou que vous vous êtes fait bastonné et que votre visage est tuméfié, ce serait dommage de ne plus pouvoir deverrouiller votre smartphone.

Bref, on voit bien qu'il est impossible d'imaginer se reposer uniquement sur la biométrie pour l'authentification. D'ailleurs nos smartphones nous demandent généralement de configurer un code PIN en supplément de la reconnaissance biométrique. C'est en partie pour les raisons que nous venons d'évoquer. Tant qu'on y est, si vous avez mis le code PIN 0000, un voleur ou un hacker peut toujours demander au smartphone de s'authentifier via ce moyen plutôt qu'avec la biométrie, donc ne soyez pas trop pathétique dans ce choix.

Falsifiable

Les détecteurs actuels (empreinte, visage, voix, ...) sont loins d'être au niveau en termes d'infalsifiabilité : on peut contourner plus de 80% des detecteurs du marché avec une photo ou un décalque d'empreinte.
Pour les 20% qui restent, les imprimantes 3D marchent bien, or elles sont de plus en plus abordables.
Quand on en sera à l'empreinte veineuse irriguée généralisée peut être que ce sera plus safe (notamment car il ne suffira plus de prendre un verre d'eau dans sa main pour filer ses empreintes) mais on en est loin.

En somme, protéger uniquement via de la biométrie est une très mauvaise idée mais s'en servir pour de l'authentification double facteur (biométrie + mot de passe par exemple) offre un niveau de sécurité puissant.

Épilogue

Il est possible après tout ceci que vous vous sentiez un peu ... démunis

Pas venu la pour souffrir

Après avoir vu tout ce qu'il fallait éviter, voyons ce que vous pouvez faire !

David SORIA
-
2019-04-21

Nos autres articles