Image : Flickr/Elias Bizannes

Un hacker allemand nous explique comment créer un mot de passe en béton armé

De nombreux mythes circulent au sujet des règles de composition d’un mot de passe robuste. On a interrogé un mec qui s’y connaît un peu, vu qu’il a déjà piraté la CIA, le FBI et les Hells Angels.

|
juin 27 2017, 7:00am

Image : Flickr/Elias Bizannes

De nombreux mythes circulent au sujet des règles de composition d'un bon mot de passe, et même les férus de sécurité informatique propagent parfois des rumeurs infondées sur le sujet. On a donc interrogé un mec qui s'y connaît pas mal, vu qu'il a déjà piraté la CIA, le FBI et les Hells Angels.

Pour Matthias, casser des mots de passe est une activité de routine. Le hacker de 28 ans, plus connu sous le pseudonyme « unnex », maitrise toutes les arcanes des ordinateurs et des systèmes informatiques depuis des années. Son tableau de chasse est pour le moins spectaculaire : Facebook, Paypal, Interpol, la NSA, la CIA, le FBI, la Bundeswehr et les Hells Angels, il les a tous mis à genoux en pianotant comme un fou sur son clavier aussi large qu'un orgue d'église.

Pourtant, la menace des hackers n'est pas l'apanage des grandes institutions, et les utilisateurs lambda devraient connaître les principes de base des bonnes pratiques à suivre en matière de sécurité informatique. Hélas, c'est rarement le cas. Aujourd'hui, pirater un compte Facebook, un compte de messagerie électronique ou l'accès à un service bancaire n'est que trop facile, comme le prouvent les articles d'actu que nous postons régulièrement sur Motherboard. Il est urgent que le grand public apprenne à concevoir des mots de passe costauds. Tant que ce ne sera pas le cas, la confidentialité des informations personnelles de tous les darons de la Terre sera compromise.

La plupart des mots de passe que nous utilisons au quotidien sont des invitations éhontées au piratage. « Hello » est le mot de passe le plus utilisé en Allemagne depuis plusieurs années. Il est suivi de près par « password » et « hello123 », ce qui montre à quel point le manque d'éducation en matière informatique est terrible. La plupart des utilisateurs se prennent pour des poètes et sécurisent leur compte avec de merveilleux « iloveyou » et autres « vivent/les/poneys », cachant sous leurs atours d'utilisateurs candides et pas parano pour un sou une relation naïve et paradoxale à la technologie.

Il est temps d'écouter un véritable expert. Matthias Ungethuem nous a expliqué comment concevoir un mot de passe à l'épreuve du feu, et a détruit tous les mythes qui circulent sur le sujet.

Matthias Ungethuem. Image : Mario Ast. Photo utilisée avec l'aimable permission de l'intéressé.

Motherboard : Combien de mots de passe as-tu cassés dans ta vie ?

Matthias Ungethuem : Difficile à dire. Ça correspond à un nombre très, très important. Que ce soit au travers de mes activités de hacker ou pour mon taf, je passe mes journées à casser des mots de passe. Je suis expert en tests d'intrusion et je vérifie la stabilité du réseau d'organisations privées.

Quels sont les plus gros mythes sur les mots de passe dits « solides » ?

J'en vois trois, principalement. D'abord, il y a les utilisateurs qui sont convaincus de ne pas être une cible potentielle pour les pirates, et ne prennent pas la peine d'inventer des mots de passe un peu élaborés. Autant te dire qu'ils se plantent complètement. Les attaques sont généralement orientées vers de gros sites web, pas vers des individus spécifiques. Une fois que l'attaque a réussi, les hackers vont pirater des comptes en masse, sans discriminer. Ils ne décideront d'exploiter tel ou tel compte qu'après avoir examiné les données des victimes avec soin.

Second mythe : il faut changer très fréquemment le mot de passe de tous ses comptes. Non, ça ne va pas de soi. Modifier constamment ses mots de passe peut être vecteur d'incertitude. De nombreuses entreprises demandent à leurs employés de modifier leurs mots de passe Intranet chaque semaine, ce qui serait une bonne idée si on avait tous une cervelle d'éléphant. Cela pousse de nombreux employés à noter leur mot de passe sur une feuille de papier qu'ils dissimulent sous leur clavier ou laissent bien en vue sur leur bureau. Le clavier, c'est l'équivalent du paillasson sous lequel on cache les clés de la porte d'entrée. Tout le monde le fait, c'est ultra dangereux et aussi complètement con.

Et le troisième mythe ?

C'est sans doute le plus dangereux : certaines personnes pensent que concevoir un mot de passe qui a du sens, ou qui est généré selon certaines règles (un algorithme simple, par exemple) est une très bonne idée. Eh bien non. Si vous faites ça, vous faites un énorme cadeau aux hackers, puisque le principe même du cracking de mot de passe consiste à mettre à jour sa cohérence interne. Plus la structure du mot de passe est logique, plus il est facile à casser, plus vous êtes vulnérable.

Mais comment un hacker pourrait-il deviner selon quelles règles je compose mes mots de passe ? Les possibilités sont infinies !

En pratique, non, la variété des systèmes utilisés par les gens est assez réduite. Les chances que tu trouves un système hyper original, voire unique, est très faible. De leur côté, les attaquants utilisent ce qu'ils appellent des « listes du dico » : des listes de mots contenant des archives lexicales énormes, des expressions idiomatiques, des listes de noms, et des mots de passe hybrides. Un mot de passe hybride, c'est un mot de passe composé de plusieurs parties, dont certaines ont du sens et d'autres non. C'est le type de mot de passe le plus utilisé. MarkusX1 par exemple, ou qwerty493. L'immense majorité des mots de passe est construite de cette façon. Hélas, ils ne sont pas robustes du tout.

Comment tu t'y prends pour casser un mot de passe ?

En général, j'utilise une carte graphique de grande distribution, comme la Radeon RX 580 Gaming X 8G de MSI. Elle coûte environ 300 euros. L'un des algorithmes les plus répandus pour le chiffrement de mot de passe est SHA1. La carte graphique crée environ 4,3 milliards d'options de mot de passe chiffrés SHA1 par seconde. L'exemple ci-dessus, « MarkusX1 » serait craqué en 14 heures environ.

Screenshot : Matthias Ungethuem

Il faut distinguer entre les mots de passe auxquels on accède en tentant de se connecter au compte via une interface, et les mots de passes hachés que l'on tente de casser. Lorsque vous tentez de casser un mot de passe haché, vous pouvez laisser travailler votre machine toute seule, sans nul besoin de connexion Internet. Si vous souhaitez cracker un compte Facebook, votre succès dépendra en partie de la vitesse de votre connexion Internet.

Ok. Alors c'est quoi, le secret d'un mot de passe en béton ?

Il faut qu'il comprenne 16 caractères, dont des caractères spéciaux, des chiffres, des majuscules et des minuscules. Il ne doit pas avoir le moindre sens ni être composé de manière algorithmique. De même, il ne devrait jamais être transmis en clair sans avoir été chiffré, ni être composé sur un site non sécurisé (ne disposant pas du protocole https par exemple). Enfin il ne faut jamais écrire votre mot de passe, il doit rester dans votre tête.

Même si l'on respecte ces règles à la lettre, sera-t-il vraiment à toute épreuve ? Je me dis que si un composant à 300 balles est capable de lancer 4,3 milliards d'attaques à la seconde, aucun mot de passe mémorisable ne sera jamais assez long et assez solide pour tenir le choc.

Tu peux évaluer la robustesse de ton mot de passe chez toi, tout seul, comme un grand. Il suffit de prendre le nombre de caractères possibles et de le factoriser avec la longueur du mot de passe. Par exemple, « password » ne contient que les petites lettres de l'alphabet, de sorte que le nombre de caractères possibles est 26 (a à z). Tu prends 26 puissance 8 (le nombre de caractères), ça te donne 208 milliards de combinaisons possibles. Si tu ajoutes les caractères majuscules, on passe à 52 caractères possibles (a à z, A à Z). « PassWoRd » contient donc 52 puissance 8 possibilités, ce qui nous fait 53 trillions de combinaisons possibles.

Il suffit ensuite de comparer le nombre obtenu avec les performances de ton matériel. Ma carte graphique produit 4,3 milliards d'attaques par seconde, ce qui me permettrait de craquer « password » en 48 secondes. Pour « PassWoRd », il faudrait 3 heures environ. Plus le nombre de caractères possibles (minuscules, majuscules, chiffres, caractères spéciaux) est élevé et plus le mot de passe est long, plus le nombres de possibilités est gros, plus l'attaquant mettra longtemps à casser le mot de passe.

En bref, il n'existe pas de mots de passe à toute épreuve, seulement des mots de passe qui résistent plus longtemps que les autres à la force brute.

Exactement.

Une astuce de création de mot de passe plutôt répandue consiste à penser à une phrase facile à mémoriser, puis à créer un mot de passe à partir de la première lettre de chaque mot, en gardant les chiffres. Par exemple « Le 1 er janvier 20$$, les machines prendront le contrôle de la Terre », ce qui nous donne L1J2$$LMPLC2LT (de devient 2). Qu'en penses-tu ?

Je n'en pense rien. Le mot de passe a du sens, à la fois au niveau logique et au niveau du contenu, et c'est un gros problème. Je ne suis pas le premier et certainement pas le dernier à utiliser des listes de mots de passe complexes afin de pouvoir gérer ce genre de code – en général, ça fonctionne.

Screenshot de la page de connexion de Facebook en allemand. Collage abominable : Motherboard.

Récemment, il y a une nouvelle mode : arrêter de penser "mot de passe" et inventer une phrase secrète, c'est-à-dire une suite de mots qui ne sont apparemment pas liés les uns aux autres, mais dont il est possible de se souvenir grâce à des astuces mnémotechniques. Par exemple « Rozana Mars Jésus Karaté. » Les phrases secrètes sont beaucoup plus longues qu'un mot de passe classique et il faut donc très longtemps pour pouvoir les cracker. Qu'en penses-tu ?

C'est encore pire que la méthode précédente. Il est très facile de créer des listes de mots de passe permettant de couvrir des phrases secrètes, surtout quand plusieurs hackers s'associent et mettent ces listes en commun.

Soyons réalistes, personne ne peut se souvenir de 15 mots de passe complexe différents. Que penses-tu des gestionnaires de mot de passe ?

La centralisation de mots de passe ne me dérange pas sur le principe. Mais quand la master key du gestionnaire est crackée, c'est foutu. L'attaquant a alors accès à la totalité de tes mots de passe. Pour lui, c'est un festin, il pleure de joie. Même si tu as mis toute ton inventivité dans la création des mots de passe, cela n'aura servi à rien. Il s'agit donc d'une solution extrêmement risquée selon moi. Tu mets tous tes œufs dans le même panier, ton mot de passe principal a intérêt à être plus complexe que la complexité elle-même.

Et l'authentification à deux facteurs, c'est de la merde aussi ?

Oui. Tout dépend de la nature du second facteur : il peut être attaqué en parallèle. Un SMS par exemple peut être intercepté, si le pirate s'est donné du mal.

Je suis déprimé. Il n'existe vraiment aucune règle de transformation permettant de convertir un ensemble de caractère mémorisables en un mot de passe solide ?

Non, c'est une mauvaise approche. Il est impératif que le mot de passe ne soit basé sur aucun motif récurent, aucune règle logique. En logique, l'homme sera toujours moins doué que la machine. Démerde-toi mec ! Il suffit de mémoriser. Ce n'est pas inhumain non plus. Le dernier conseil que je peux donner, c'est d'utiliser toute l'espace du clavier. Prends des caractères situés à gauche et à droite, mais aussi au milieu. C'est encore mieux si tu utilises des caractères qui n'apparaissent pas dans toutes les langues, comme des caractères cyrilliques ou hébreux. Ça, ça fait vraiment chier les hackers et c'est ce qu'ils testent en dernier.

Je vais te donner un exemple d'un mot de passe qui suit toutes les recommandations que tu as données : ß@h/9#02'+a!(DkÄ
Combien de temps faudrait-il pour le cracker ?

À vue de nez, on a 37 combinaisons possibles à 10^30, c'est-à-dire un nombre à 32 chiffres. Avec du matos à 300 balles, le hacker aurait besoin de 273 billions d'années pour le casser. C'est un bon mot de passe.

Merci Mathias. Je récapitule pour les lecteurs. On a besoin d'un mot de passe de 16 caractères, dont des caractères spéciaux (les sinogrammes c'est cool), des majuscules, des minuscules, des chiffres – le mot de passe ne doit suivre aucune logique et être totalement déstructuré. Mais si vous l'écrivez quelque part en clair ou que vous l'envoyez sur un site non sécurisé, tout cela n'aura servi à rien.