En cryptanalyse et en sécurité informatique , le craquage de mot de passe est le processus de devinette des mots de passe protégeant un système informatique . Une approche courante ( attaque par force brute ) consiste à essayer à plusieurs reprises de deviner le mot de passe et à les vérifier par rapport à un hachage cryptographique disponible du mot de passe. Un autre type d'approche est la pulvérisation de mots de passe , qui est souvent automatisée et se produit lentement au fil du temps afin de rester indétectable, en utilisant une liste de mots de passe courants.
Le but du piratage de mot de passe peut être d'aider un utilisateur à récupérer un mot de passe oublié (étant donné que l'installation d'un mot de passe entièrement nouveau impliquerait des privilèges d'administrateur système), d'obtenir un accès non autorisé à un système ou d'agir comme une mesure préventive par laquelle les administrateurs système vérifient les mots de passe facilement piratables. Sur la base de chaque fichier, le piratage de mot de passe est utilisé pour accéder aux preuves numériques auxquelles un juge a autorisé l'accès, lorsque les autorisations d'un fichier particulier sont restreintes.
Temps nécessaire à la recherche de mot de passe
Le temps nécessaire pour déchiffrer un mot de passe est lié à la force en bits, qui est une mesure de l' entropie du mot de passe , et aux détails de la manière dont le mot de passe est stocké. La plupart des méthodes de déchiffrage de mot de passe nécessitent que l'ordinateur produise de nombreux mots de passe candidats, chacun d'entre eux étant vérifié. Un exemple est le déchiffrage par force brute , dans lequel un ordinateur essaie toutes les clés ou mots de passe possibles jusqu'à ce qu'il réussisse. Avec plusieurs processeurs, ce temps peut être optimisé en recherchant à partir du dernier groupe possible de symboles et du début en même temps, d'autres processeurs étant placés pour rechercher dans une sélection désignée de mots de passe possibles. Les méthodes plus courantes de déchiffrage de mot de passe, telles que les attaques par dictionnaire , la vérification de modèles et les variantes de mots courants, visent à optimiser le nombre de suppositions et sont généralement tentées avant les attaques par force brute. Une force en bits de mot de passe plus élevée augmente de manière exponentielle le nombre de mots de passe candidats qui doivent être vérifiés, en moyenne, pour récupérer le mot de passe et réduit la probabilité que le mot de passe soit trouvé dans un dictionnaire de déchiffrage.
La capacité à déchiffrer des mots de passe à l'aide de programmes informatiques dépend également du nombre de mots de passe possibles par seconde qui peuvent être vérifiés. Si un hachage du mot de passe cible est disponible pour l'attaquant, ce nombre peut atteindre des milliards ou des milliers de milliards par seconde, car une attaque hors ligne est possible. Dans le cas contraire, le taux dépend de la limitation de la fréquence à laquelle un mot de passe peut être essayé, soit par des délais, des CAPTCHA ou des verrouillages forcés après un certain nombre de tentatives infructueuses. Une autre situation où une devinette rapide est possible est lorsque le mot de passe est utilisé pour former une clé cryptographique . Dans de tels cas, un attaquant peut rapidement vérifier si un mot de passe deviné décode avec succès les données chiffrées.
Pour certains types de hachage de mot de passe, les ordinateurs de bureau ordinaires peuvent tester plus de cent millions de mots de passe par seconde à l'aide d'outils de craquage de mots de passe exécutés sur un processeur à usage général et des milliards de mots de passe par seconde à l'aide d'outils de craquage de mots de passe basés sur un GPU . Le taux de devinette de mot de passe dépend fortement de la fonction cryptographique utilisée par le système pour générer les hachages de mot de passe. Une fonction de hachage de mot de passe appropriée, telle que bcrypt , est de plusieurs ordres de grandeur meilleure qu'une fonction naïve comme MD5 ou SHA simple . Un mot de passe de huit caractères sélectionné par l'utilisateur avec des chiffres, une casse mixte et des symboles, avec des mots de passe fréquemment sélectionnés et d'autres correspondances de dictionnaire filtrées, atteint une force estimée à 30 bits, selon le NIST. 2 30 ne représente qu'un milliard de permutations et serait déchiffré en quelques secondes si la fonction de hachage était naïve. Lorsque des ordinateurs de bureau ordinaires sont combinés dans un effort de craquage, comme cela peut être fait avec les botnets , les capacités de craquage de mot de passe sont considérablement étendues. En 2002, Distributed.net a réussi à trouver une clé RC5 de 64 bits en quatre ans, dans un effort qui a impliqué plus de 300 000 ordinateurs différents à différents moments, et qui a généré en moyenne plus de 12 milliards de clés par seconde.
Les processeurs graphiques peuvent accélérer le déchiffrage des mots de passe d'un facteur 50 à 100 par rapport aux ordinateurs à usage général pour des algorithmes de hachage spécifiques. À titre d'exemple, en 2011, les produits commerciaux disponibles revendiquaient la capacité de tester jusqu'à 2 800 000 000 de mots de passe NTLM par seconde sur un ordinateur de bureau standard utilisant un processeur graphique haut de gamme. Un tel appareil peut déchiffrer un mot de passe à casse unique de 10 lettres en une journée. Le travail peut être réparti sur plusieurs ordinateurs pour une accélération supplémentaire proportionnelle au nombre d'ordinateurs disponibles avec des GPU comparables. Cependant, certains algorithmes s'exécutent lentement, ou sont même spécifiquement conçus pour s'exécuter lentement, sur des GPU. Des exemples sont DES , Triple DES , bcrypt , scrypt et Argon2 .
L'accélération matérielle dans un GPU a permis d'utiliser des ressources pour augmenter l'efficacité et la vitesse d'une attaque par force brute pour la plupart des algorithmes de hachage. En 2012, Stricture Consulting Group a dévoilé un cluster de 25 GPU qui a atteint une vitesse d'attaque par force brute de 350 milliards de tentatives de mots de passe NTLM par seconde, ce qui lui a permis de vérifier les combinaisons de mots de passe en 5,5 heures, soit suffisamment pour déchiffrer tous les mots de passe alphanumériques à 8 caractères spéciaux couramment utilisés dans les environnements d'entreprise. En utilisant ocl- Hashcat Plus sur une plate-forme de cluster OpenCL virtuelle , cluster GPU basé sur Linux a été utilisé pour « déchiffrer 90 % des 6,5 millions de hachages de mots de passe appartenant aux utilisateurs de LinkedIn ».
Pour certains algorithmes de hachage spécifiques, les CPU et les GPU ne sont pas une bonne combinaison. Un matériel spécialement conçu est nécessaire pour fonctionner à des vitesses élevées. Le matériel personnalisé peut être fabriqué à l'aide de la technologie FPGA ou ASIC . Le développement des deux technologies est complexe et (très) coûteux. En général, les FPGA sont favorables en petites quantités, les ASIC sont favorables en (très) grandes quantités, plus économes en énergie et plus rapides. En 1998, l' Electronic Frontier Foundation (EFF) a construit un cracker de mot de passe dédié utilisant des ASIC. Leur machine, Deep Crack , a cassé une clé DES 56 bits en 56 heures, testant plus de 90 milliards de clés par seconde. En 2017, des documents divulgués ont montré que les ASIC étaient utilisés pour un projet militaire qui avait le potentiel de déchiffrer de nombreuses parties des communications Internet avec un cryptage plus faible. Depuis 2019, John the Ripper prend en charge le crackage de mots de passe pour un nombre limité d'algorithmes de hachage utilisant des FPGA. Les entreprises commerciales utilisent désormais des configurations basées sur FPGA pour le craquage de mots de passe.
Facile à retenir, difficile à deviner
Les mots de passe difficiles à retenir réduiront la sécurité d’un système car
- les utilisateurs peuvent avoir besoin d'écrire ou de stocker électroniquement le mot de passe à l'aide d'une méthode non sécurisée,
- les utilisateurs auront besoin de réinitialiser fréquemment leur mot de passe, et
- les utilisateurs sont plus susceptibles de réutiliser le même mot de passe.
De même, plus les exigences en matière de force du mot de passe sont strictes, par exemple « avoir un mélange de lettres majuscules, minuscules et de chiffres » ou « le changer tous les mois », plus les utilisateurs risquent de subvertir le système.
Dans « The Memorability and Security of Passwords », Jeff Yan et al. examinent l'effet des conseils donnés aux utilisateurs sur le bon choix de mot de passe. Ils ont découvert que les mots de passe basés sur la réflexion sur une phrase et la prise de la première lettre de chaque mot sont tout aussi faciles à mémoriser que les mots de passe sélectionnés naïvement, et tout aussi difficiles à déchiffrer que les mots de passe générés aléatoirement. Combiner deux mots sans rapport est une autre bonne méthode. Avoir un « algorithme » conçu personnellement pour générer des mots de passe obscurs est une autre bonne méthode.
Cependant, demander aux utilisateurs de se souvenir d'un mot de passe composé d'un « mélange de majuscules et de minuscules » revient à leur demander de se souvenir d'une séquence de bits : c'est difficile à retenir et seulement un peu plus difficile à déchiffrer (par exemple, seulement 128 fois plus difficile à déchiffrer pour les mots de passe de 7 lettres, moins si l'utilisateur met simplement une majuscule sur l'une des lettres). Demander aux utilisateurs d'utiliser « à la fois des lettres et des chiffres » conduit souvent à des substitutions faciles à deviner telles que « E » → « 3 » et « I » → « 1 » : des substitutions bien connues des attaquants. De même, taper le mot de passe une ligne de clavier plus haut est une astuce courante connue des attaquants.
Des recherches détaillées dans un article d'avril 2015 rédigé par plusieurs professeurs de l'université Carnegie Mellon montrent que les choix des individus en matière de structure de mot de passe suivent souvent plusieurs modèles connus. Par exemple, lorsque les exigences en matière de mot de passe exigent une longueur minimale importante, comme 16 caractères, les gens ont tendance à répéter des caractères ou même des mots entiers dans leurs mots de passe. Par conséquent, les mots de passe peuvent être beaucoup plus faciles à déchiffrer que leurs probabilités mathématiques ne l'indiqueraient. Les mots de passe contenant un seul chiffre, par exemple, l'incluent de manière disproportionnée à la fin du mot de passe.
Incidents
Le 16 juillet 1998, le CERT a signalé un incident au cours duquel un attaquant avait trouvé 186 126 mots de passe cryptés. Au moment où la faille a été découverte, 47 642 mots de passe avaient déjà été piratés.
En décembre 2009, une importante violation de mots de passe s'est produite sur le site Rockyou.com , qui a conduit à la divulgation de 32 millions de mots de passe. L'attaquant a ensuite divulgué la liste complète des 32 millions de mots de passe (sans aucune autre information identifiable) sur Internet. Les mots de passe étaient stockés en texte clair dans la base de données et ont été extraits via une vulnérabilité d'injection SQL . L' Imperva Application Defense Center (ADC) a effectué une analyse sur la force des mots de passe. Voici quelques-unes des principales conclusions :
- environ 30 % des utilisateurs ont choisi des mots de passe dont la longueur était inférieure à sept caractères,
- près de 60 % des utilisateurs choisissent leur mot de passe à partir d'un ensemble limité de caractères alphanumériques, et
- près de 50 % des utilisateurs ont utilisé des noms, des mots d'argot, des mots du dictionnaire ou des mots de passe triviaux qui employaient des constructions faibles telles que des chiffres consécutifs et/ou des touches de clavier adjacentes. Par exemple, le mot de passe le plus courant parmi les propriétaires de compte RockYou était simplement « 123456 ».
En juin 2011, l'OTAN (Organisation du Traité de l'Atlantique Nord) a été victime d'une faille de sécurité qui a conduit à la divulgation publique des noms, prénoms, noms d'utilisateur et mots de passe de plus de 11 000 utilisateurs enregistrés de sa librairie en ligne. Les données ont été divulguées dans le cadre de l'opération AntiSec , un mouvement qui comprend Anonymous , LulzSec et d'autres groupes et individus de piratage informatique.
Le 11 juillet 2011, les serveurs de Booz Allen Hamilton , une importante société de conseil américaine qui effectue une grande partie du travail pour le Pentagone , ont été piratés par Anonymous et divulgués le même jour. « La fuite, surnommée « Military Meltdown Monday », comprend 90 000 identifiants de personnel militaire, dont des membres de l'USCENTCOM , du SOCOM , du Corps des Marines , de diverses installations de l'armée de l'air , de la Sécurité intérieure , du personnel du Département d'État et de ce qui semble être des sous-traitants du secteur privé. » Ces mots de passe divulgués se sont avérés être hachés avec SHA-1 non salé et ont ensuite été analysés par l'équipe ADC d' Imperva , révélant que même certains membres du personnel militaire utilisaient des mots de passe aussi faibles que « 1234 ».
Le 18 juillet 2011, Microsoft Hotmail a interdit le mot de passe « 123456 ».
En juillet 2015, un groupe se faisant appeler « The Impact Team » a volé les données des utilisateurs d'Ashley Madison . De nombreux mots de passe ont été hachés à l'aide de l'algorithme relativement puissant bcrypt et du hachage MD5 plus faible . L'attaque de ce dernier algorithme a permis au groupe de craquage de mots de passe CynoSure Prime de récupérer environ 11 millions de mots de passe en texte clair.
Prévention
Une méthode pour empêcher le piratage d'un mot de passe consiste à s'assurer que les attaquants ne peuvent pas accéder au mot de passe haché. Par exemple, sur le système d'exploitation Unix , les mots de passe hachés étaient initialement stockés dans un fichier accessible au public . Sur les systèmes Unix (et similaires) modernes, en revanche, ils sont stockés dans le fichier de mots de passe fantômes , qui n'est accessible qu'aux programmes exécutés avec des privilèges améliorés (c'est-à-dire des privilèges « système »). Cela rend plus difficile pour un utilisateur malveillant d'obtenir les mots de passe hachés dans un premier temps, mais de nombreuses collections de hachages de mots de passe ont été volées malgré cette protection. Et certains protocoles réseau courants transmettent les mots de passe en texte clair ou utilisent des schémas de défi/réponse faibles. /etc/passwd/etc/shadow
L'utilisation de salt , une valeur aléatoire unique à chaque mot de passe incorporée dans le hachage, empêche l'attaque simultanée de plusieurs hachages et empêche également la création de dictionnaires pré-calculés tels que les tables arc-en-ciel .
Une autre approche consiste à combiner une clé secrète spécifique au site avec le hachage du mot de passe, ce qui empêche la récupération du mot de passe en texte clair même si les valeurs hachées sont volées. Cependant, les attaques par escalade de privilèges qui peuvent voler des fichiers de hachage protégés peuvent également exposer le secret du site. Une troisième approche consiste à utiliser des fonctions de dérivation de clés qui réduisent la vitesse à laquelle les mots de passe peuvent être devinés.
Les systèmes Unix modernes ont remplacé la fonction de hachage de mot de passe traditionnelle basée sur DES crypt() par des méthodes plus puissantes telles que crypt-SHA , bcrypt et scrypt . D'autres systèmes ont également commencé à adopter ces méthodes. Par exemple, Cisco IOS utilisait à l'origine un chiffrement de Vigenère réversible pour crypter les mots de passe, mais utilise désormais md5-crypt avec un salt de 24 bits lorsque la commande « enable secret » est utilisée. Ces nouvelles méthodes utilisent des valeurs salt élevées qui empêchent les attaquants de lancer efficacement des attaques hors ligne contre plusieurs comptes d'utilisateurs simultanément. Les algorithmes sont également beaucoup plus lents à exécuter, ce qui augmente considérablement le temps nécessaire pour lancer une attaque hors ligne réussie.
De nombreux hachages utilisés pour stocker des mots de passe, tels que MD5 et la famille SHA , sont conçus pour un calcul rapide avec de faibles besoins en mémoire et une implémentation efficace dans le matériel. Plusieurs instances de ces algorithmes peuvent être exécutées en parallèle sur des unités de traitement graphique (GPU), ce qui accélère le craquage. Par conséquent, les hachages rapides sont inefficaces pour empêcher le craquage des mots de passe, même avec du sel. Certains algorithmes d'étirement de clés , tels que PBKDF2 et crypt-SHA, calculent de manière itérative les hachages de mots de passe et peuvent réduire considérablement la vitesse à laquelle les mots de passe peuvent être testés, si le nombre d'itérations est suffisamment élevé. D'autres algorithmes, tels que scrypt , sont gourmands en mémoire , ce qui signifie qu'ils nécessitent des quantités de mémoire relativement importantes en plus d'un calcul chronophage et sont donc plus difficiles à craquer à l'aide de GPU et de circuits intégrés personnalisés.
En 2013, un concours de hachage de mots de passe à long terme a été annoncé pour choisir un nouvel algorithme standard pour le hachage de mots de passe, avec Argon2 choisi comme gagnant en 2015. Un autre algorithme, Balloon , est recommandé par le NIST . Les deux algorithmes sont gourmands en mémoire.
Des solutions comme un jeton de sécurité fournissent une réponse formelle en changeant constamment le mot de passe. Ces solutions réduisent brusquement le délai disponible pour le forçage brut (l'attaquant doit casser et utiliser le mot de passe en un seul changement) et elles réduisent la valeur des mots de passe volés en raison de leur courte durée de validité.
Logiciel
Il existe de nombreux outils logiciels de craquage de mots de passe, mais les plus populaires sont Aircrack-ng , Cain & Abel , John the Ripper , Hashcat , Hydra , DaveGrohl et ElcomSoft . De nombreux logiciels d'assistance aux litiges incluent également une fonctionnalité de craquage de mots de passe. La plupart de ces logiciels utilisent un mélange de stratégies de craquage, les algorithmes avec des attaques par force brute et par dictionnaire s'avérant les plus productifs.
La disponibilité accrue de la puissance de calcul et des logiciels de craquage de mots de passe automatisés et conviviaux pour les débutants pour un certain nombre de systèmes de protection a permis à cette activité d'être reprise par les script kiddies .