Techniques et matériaux

Avec un mot de passe sécurisé, le hacker ne passe pas !

Attaque de pirates informatiques

Sur Internet, le trésor convoité par les pirates informatiques c’est tes données personnelles !  Image : Can Stock Photo / faithie

Mot de passe : monmotdepasse
Erreur ! Veuillez utiliser au moins deux chiffres, une majuscule et un symbole.

Qui n’a jamais été surpris par de telles obligations lors de la création d’un compte sur un site internet ? Derrière leurs airs autoritaires, ces indications sont en réalité là pour te protéger des pirates informatiques ! Ces derniers ont en effet la possibilité de cracker ton mot de passe à l’aide de toutes sortes de techniques, et l’une d’entre elles est l’attaque par force brute. Découvre comment cela fonctionne et comment un mot de passe sécurisé peut t’en protéger.

Attaque par force brute par ordre alphabétique

Attaque par force brute par ordre alphabétique. Toutes les combinaisons de mots de passe sont testées jusqu'à ce que le mot de passe valide soit trouvé (ici 'abc'). Le modèle est simplifié avec l’utilisation des caractères minuscules uniquement. Illustration: Rédaction SimplyScience.ch

Renseigner un mot de passe sécurisé est souvent recommandé lors de la création d’un compte sur un site internet. Cette indication est parfois accompagnée de contraintes de longueur et de l’obligation d’utiliser certains types de caractères – majuscules, chiffres, symboles, etc. Mais quelle est l’utilité de toutes ces restrictions, et servent-elles réellement à quelque chose ?

Pour répondre à cela, il est important de comprendre comment un mot de passe non-sécurisé peut être exploité à des fins malveillantes et quelles peuvent en être les conséquences.

L’attaque par force brute

Admettons qu’un pirate informatique souhaite accéder à un de tes comptes personnels sans ton accord. Une des manières les plus simples pour y parvenir est l’attaque par force brute (brute-force en anglais). Le pirate va rentrer toutes les combinaisons de mots de passe sur le site internet jusqu’à trouver le bon.

Théoriquement, cette technique permet de trouver le mot de passe de n’importe quel compte ou service protégé. 

Mais si ce procédé est infaillible, quelle est l’utilité d’avoir un mot de passe ? 🤨

Le secret réside dans le nombre de mots de passe à tester. Plus celui-ci est grand, plus le temps que le pirate va prendre pour trouver ton mot de passe va augmenter.  C’est pourquoi un attaquant va souvent laisser de côté les caractères exotiques (ÿ, ù, µ, etc.) lors de son offensive. En effet, utiliser seulement les lettres les plus courantes dans un mot de passe permet de diminuer drastiquement le nombre de mots de passe à tester tout en restant efficace.

Le nombre de mots de passe possibles de longueur L pour un alphabet de taille N est illustré par la formule suivante : Nombre de mots de passe = NL.

Par exemple, le nombre de mots de passe de deux caractères en prenant en compte seulement les lettres minuscules de l’alphabet latin ({a, b, c, …, x, y, z} = 26 caractères) est de 262 = 676.

Si on veut aussi considérer les mots de passe de 3 caractères, il faut rajouter à ce chiffre le nombre de mots de passe correspondant :

Nombre de mots de passe de 2 ou 3 caractères = 676 + 263 = 676 + 17576 = 18252.

Et cela continue en ajoutant la valeur pour 4 caractères (264 = 456 976), 5 caractères (265 = 11 881 376) etc.

On voit qu’on arrive très vite à des chiffres énormes – dépassant les 8 milliards si l’on décide de considérer les mots de passe jusqu’à 7 caractères de long en utilisant seulement les 26 lettres minuscules de notre alphabet. Imaginons que l’on utilise aussi les lettres majuscules, ainsi que tous les chiffres, on obtient plus de 3 billions (!) de mots de passe à tester.

Pour pallier ce phénomène, l’attaquant peut décider d’utiliser des listes de mots afin d’accélérer le processus. Par exemple, il peut tester tous les mots du dictionnaire français (à peu près 100 000) ou tous les mots de passe d’une certaine forme, par exemple une majuscule suivie de minuscules puis de chiffres. Ces procédés peuvent significativement accélérer le temps de décryptage selon le mot de passe.

C’est pourquoi il est important de choisir un mot de passe non seulement compliqué, mais aussi imprévisible. Ainsi, un attaquant ne pourra pas utiliser de technique accélératrice et devra tester toutes les combinaisons.

De nos jours, les sites internet sont conçus de manière suffisamment intelligente pour bloquer les tentatives de connexion répétées et peuvent imposer un temps d’attente avant de tenter un nouveau mot de passe. Cela rend pratiquement impossible l’attaque par force brute sur les sites en question, puisque cela peut limiter les tentatives à seulement quelques dizaines par heure. 

Mais pourquoi avoir vu tout cela, si finalement ça ne marche pas ? 🤔😂

Car il y a un autre danger qui attend ton mot de passe, et il se base sur le même principe. Pour le comprendre, introduisons la notion de hachage (hashing en anglais).
 

Le hachage pour stocker les mots de passe de manière sécurisée

De manière simplifiée, une fonction de hachage est un processus par lequel n’importe quel texte est transformé en une chaîne de caractères aléatoire et de longueur fixe : un hash.

Quelques petits exemples :

Exemples de hash résultant de la fonction de hachage MD5

Exemples de hash résultant de la fonction de hachage MD5. Essaie avec tes propres phrases sur https://md5decrypt.net/  Illustration: Rédaction SimplyScience.ch

On trouvera toujours le même hash si on applique une même fonction de hachage sur un même texte à n’importe quel moment. Cependant, il n’existe aucune fonction inverse permettant de retrouver un texte à partir d’un hash. Le hachage est une technique de cryptage de données particulière qui rend illisible un message sans permettre d’obtenir le message original comme c’est souvent le cas pour d’autres techniques de cryptage.

Cette propriété rend les hash utiles pour le stockage de mots de passe, en particulier sur les sites internet. Un site n’a pas besoin de stocker ton mot de passe en clair et peut simplement stocker le hash de ton mot de passe, sans que cela n’affecte ta connexion sur le site.

 Connexion sur un site en comparant les hash

Connexion sur un site en comparant les hash. Illustration: Rédaction SimplyScience.ch

Chaque jour, des dizaines de sites internet se font pirater et des listes contenant des millions d’adresses électroniques accompagnées du hash de leur mot de passe se retrouvent dans la nature. C’est une mine d’or pour les pirates qui peuvent directement procéder à l’attaque par force brute des hash, sans avoir besoin d’accéder au site internet et contournant donc les protections mises en place, qui limitent le nombre de tentatives.

Attaquer un hash par force brute suit plus ou moins le même principe que lorsque l’on essayait de se connecter directement sur le site :

On génère tous les mots de passe possibles, puis on les hash et on les compare aux hash trouvés dans les listes ayant fuité. Si on retrouve le même hash pour un mot de passe, on a de très grandes chances d’avoir trouvé le mot de passe de l’utilisateur, et pour peu qu’il l’utilise sur d’autres sites internet, on a maintenant accès à son compte sur tous les sites où il est inscrit.

Cela implique qu’en plus d’avoir un mot de passe sécurisé, il faut avoir un mot de passe différent pour chaque compte, au cas où un des hash fuiterait et se ferait décrypter.  A noter que certains sites (ils sont rares de nos jours) stockent encore les mots de passe des utilisateurs en clair (sans les crypter) … Une raison de plus pour diversifier les mots de passe qui protègent tes comptes.

Temps nécessaire pour trouver ton mot de passe en fonction de sa taille et des caractères utilisés

Temps nécessaire pour trouver ton mot de passe en fonction de sa taille et des caractères utilisés. Un trillion américain (utilisé dans le tableau) correspond à un billion en Europe (dans le texte) car l'échelle utilisée n'est pas la même. Illustration : Hive Systems.

Conclusion

Le temps nécessaire pour décrypter un mot de passe à partir de son hash en fonction de sa longueur et de l’alphabet utilisé est résumé dans l’illustration ci-contre.

Un mot de passe de 18 caractères utilisant toutes les lettres minuscules et majuscules, les chiffres et les symboles, prendrait ainsi 438 billions (438 000 000 000 000) d’années à être déchiffré avec le meilleur matériel actuel (un ordinateur plus puissant pouvant tester plus de mots de passe par seconde).

En résumé, lors du choix d’un mot de passe :

  • Préférer un mot de passe que tu n’as jamais utilisé auparavant
  • Ne pas inclure de mots du dictionnaire
  • Ne pas utiliser un format prévisible (par exemple une phrase)
  • Utiliser au moins 10 caractères (minimum !)
  • Utiliser des minuscules, majuscules, chiffres et symboles

Du moins si tu ne veux pas gracieusement offrir tes comptes Google, Instagram et Snapchat à des hackers sans scrupule 😉

Texte: Rédaction SimplyScience.ch

Sources : 
(1) Corey Neskey, Are your passwords in the green? 2 mars 2022
(2) Wikipédia, Attaque par force brute
(3) IONOS Digital guide, Hash functions: definition, usage, and examples, 14 octobre 2020

Dernière modification: 09.02.2023
Créé: 09.03.2023
Plus