Craquage de mot de passe - Password cracking

Dans la cryptanalyse et la sécurité informatique , le craquage de mot de passe est le processus de récupération de mots de passe à partir de données qui ont été stockées ou transmises par un système informatique sous forme cryptée. 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 non détectée, à l'aide d'une liste de mots de passe courants.

Le but du craquage de mot de passe peut être d'aider un utilisateur à récupérer un mot de passe oublié (l'installation d'un tout nouveau mot de passe est moins un risque de sécurité, mais cela implique des privilèges d'administration système), d'obtenir un accès non autorisé à un système ou d'agir à titre préventif. mesure par laquelle les administrateurs système vérifient les mots de passe facilement piratables. Fichier par fichier, le piratage du 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 pour les recherches de mot de passe

Le temps nécessaire pour déchiffrer un mot de passe est lié à la force du bit ( voir force du mot de passe ), qui est une mesure de l' entropie du mot de passe , et les détails de la façon dont le mot de passe est stocké. La plupart des méthodes de craquage de mots de passe nécessitent que l'ordinateur produise de nombreux mots de passe candidats, dont chacun est vérifié. Un exemple est le craquage 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. Des méthodes plus courantes de craquage de mot de passe, telles que les attaques par dictionnaire , la vérification des modèles, la substitution de liste de mots, etc. tentent de réduire le nombre d'essais requis et seront généralement tentées avant la force brute. Une force de 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 craquage.

La capacité de déchiffrer des mots de passe à l'aide de programmes informatiques est également fonction 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 se chiffrer en milliards ou en milliards de milliards par seconde, car une attaque hors ligne est possible. Sinon, le taux dépend du fait que le logiciel d'authentification limite 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 cryptées.

Pour certains types de hachage de mot de passe, les ordinateurs de bureau ordinaires peuvent tester plus d'une centaine de millions de mots de passe par seconde à l'aide d'outils de craquage de mot 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 mot de passe basés sur GPU (voir : Benchmarks de John the Ripper ) . 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 des 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 un simple MD5 ou SHA . Un mot de passe à huit caractères sélectionné par l'utilisateur avec des chiffres, une casse mixte et des symboles, avec des mots de passe couramment sélectionnés et d'autres correspondances de dictionnaire filtrées, atteint une force estimée à 30 bits, selon le NIST. 2 30 n'est qu'un milliard de permutations et serait craqué 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 des mots de passe sont considérablement étendues. En 2002, distribué.net a réussi à trouver une clé RC5 64 bits en quatre ans, dans un effort qui a inclus 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 piratage des mots de passe d'un facteur 50 à 100 par rapport aux ordinateurs à usage général pour des algorithmes de hachage spécifiques. Depuis 2011, les produits commerciaux disponibles revendiquent la possibilité de tester jusqu'à 2 800 000 000 de mots de passe par seconde sur un ordinateur de bureau standard à l'aide d'un processeur graphique haut de gamme. Un tel appareil peut déchiffrer un mot de passe à cas unique de 10 lettres en une journée. Le travail peut être réparti sur de nombreux ordinateurs pour une accélération supplémentaire proportionnelle au nombre d'ordinateurs disponibles avec des GPU comparables. Cependant, certains algorithmes sont ou même sont spécifiquement conçus pour fonctionner lentement sur les GPU. Les exemples incluent (triple) DES , bcrypt , scrypt et Argon2 .

L'émergence de l'accélération matérielle au cours de la dernière décennie 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 suppositions par seconde, leur permettant de vérifier les combinaisons de mots de passe en 5,5 heures. En utilisant ocl- Hashcat Plus sur une plate-forme de cluster Virtual OpenCL , le cluster GPU basé sur Linux a été utilisé pour "craquer 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 correspondent pas. Un matériel spécialement conçu est requis 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 craqueur 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 montrent que les ASIC sont utilisés pour un projet militaire visant à casser le code de l'ensemble d'Internet. La conception et la construction de crackers de mots de passe ASIC sont supposés être hors de portée des non-gouvernements. Depuis 2019, John the Ripper prend en charge le craquage de mots de passe pour un nombre limité d'algorithmes de hachage utilisant des FPGA. Les configurations basées sur FPGA sont maintenant utilisées par des sociétés commerciales pour le craquage de mots de passe.

Facile à retenir, difficile à deviner

Les mots de passe difficiles à mémoriser réduiront la sécurité d'un système car (a) les utilisateurs peuvent avoir besoin d'écrire ou de stocker électroniquement le mot de passe en utilisant une méthode non sécurisée, (b) les utilisateurs auront besoin de réinitialisations fréquentes du mot de passe et (c) les utilisateurs sont plus susceptibles de réutiliser le même mot de passe. De même, plus les exigences de force de mot de passe sont strictes, par exemple « avoir un mélange de lettres et de chiffres majuscules et minuscules » ou « le changer tous les mois », plus le degré auquel les utilisateurs vont subvertir le système est élevé.

Dans « La mémorabilité et la sécurité des mots de passe », Jeff Yan et al. examine l'effet des conseils donnés aux utilisateurs sur un bon choix de mot de passe. Ils ont découvert que les mots de passe basés sur la pensée d'une phrase et la prise de la première lettre de chaque mot sont tout aussi mémorables 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. La combinaison de deux mots sans rapport est une autre bonne méthode. Avoir un " algorithme " personnellement conçu 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 caractères majuscules et minuscules » revient à leur demander de se souvenir d'une séquence de bits : difficile à retenir, et seulement un peu plus difficile à déchiffrer (par exemple seulement 128 fois plus difficile à crack pour les mots de passe de 7 lettres, moins si l'utilisateur met simplement une des lettres en majuscule). Demander aux utilisateurs d'utiliser « à la fois des lettres et des chiffres » conduira 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 de plusieurs professeurs de l'Université Carnegie Mellon montrent que les choix de structure de mot de passe des gens suivent souvent plusieurs modèles connus. En conséquence, les mots de passe peuvent être beaucoup plus facilement déchiffrés que leurs probabilités mathématiques ne l'indiquent autrement. Les mots de passe contenant un 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ù ils ont été découverts, ils avaient déjà déchiffré 47 642 mots de passe.

En décembre 2009, une violation majeure du mot de passe du site Web Rockyou.com s'est produite, entraînant la publication 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 clair dans la base de données et 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.

En juin 2011, l' OTAN (Organisation du Traité de l'Atlantique Nord) a connu une faille de sécurité qui a conduit à la divulgation publique des noms et prénoms, des noms d'utilisateur et des mots de passe pour plus de 11 000 utilisateurs enregistrés de leur e-librairie. Les données ont été divulguées dans le cadre de l' opération AntiSec , un mouvement qui inclut Anonymous , LulzSec , ainsi que d'autres groupes et individus de piratage.

Le 11 juillet 2011, Booz Allen Hamilton , un grand cabinet de conseil américain qui effectue un travail considérable pour le Pentagone , a vu ses serveurs piratés par Anonymous et divulgués le même jour. "La fuite, surnommée" Military Meltdown Monday ", comprend 90 000 connexions de personnel militaire, y compris du personnel de l' USCENTCOM , du SOCOM , du Marine Corps , de diverses installations de l'Air Force , de la sécurité intérieure , du personnel du département d'État et de ce qui ressemble à des sous-traitants du secteur privé. " Ces mots de passe divulgués ont fini par être hachés avec du SHA-1 non salé et ont ensuite été analysés par l'équipe ADC d' Imperva , révélant que même certains militaires utilisaient des mots de passe aussi faibles que "1234".

Le 18 juillet 2011, Microsoft Hotmail a banni le mot de passe : "123456".

En juillet 2015, un groupe se faisant appeler « The Impact Team » a volé les données utilisateur d'Ashley Madison . De nombreux mots de passe ont été hachés en utilisant à la fois l' algorithme bcrypt relativement fort et le hachage MD5 plus faible . L'attaque de ce dernier algorithme a permis à quelque 11 millions de mots de passe en clair d'être récupérés par le groupe de craquage de mots de passe CynoSure Prime.

La 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 même au mot de passe haché. Par exemple, sur le système d' exploitation Unix , les mots de passe hachés étaient à l'origine stockés dans un fichier accessible au public /etc/passwd. Sur les systèmes Unix modernes (et similaires), en revanche, ils sont stockés dans le fichier shadow de mot de passe/etc/shadow , 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, cependant de nombreuses collections de hachages de mots de passe ont été volées malgré une telle protection. Et certains protocoles réseau courants transmettent les mots de passe en clair ou utilisent des schémas de défi/réponse faibles.

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 clair même si les valeurs hachées sont volées. Cependant, les attaques d' 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.

Une autre mesure de protection est l'utilisation de salt , une valeur aléatoire unique à chaque mot de passe qui est incorporé dans le hachage. Salt empêche plusieurs hachages d'être attaqués simultanément et empêche également la création de dictionnaires précalculés tels que les tables arc- en- ciel .

Les systèmes Unix modernes ont remplacé la fonction traditionnelle de hachage de mot de passe 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 sel 24 bits lorsque la commande « enable secret » est utilisée. Ces nouvelles méthodes utilisent des valeurs de sel élevées qui empêchent les attaquants de monter 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 monter une attaque hors ligne réussie.

De nombreux hachages utilisés pour stocker les 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), accélérant ainsi le craquage. En conséquence, les hachages rapides sont inefficaces pour empêcher le craquage des mots de passe, même avec du sel. Certains algorithmes d' extension de clé , tels que PBKDF2 et crypt-SHA, calculent de manière itérative les hachages de mot de passe et peuvent réduire considérablement la fréquence à 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 durs en mémoire , ce qui signifie qu'ils nécessitent des quantités de mémoire relativement importantes en plus du temps de calcul et sont donc plus difficiles à déchiffrer à l'aide de GPU et de circuits intégrés personnalisés.

En 2013, un concours de hachage de mot de passe à long terme a été annoncé pour choisir un nouvel algorithme standard pour le hachage de mot de passe, Argon2 étant choisi comme vainqueur en 2015. Un autre algorithme, Balloon , est recommandé par le NIST . Les deux algorithmes sont durs en mémoire.

Des solutions comme un jeton de sécurité donnent une réponse de preuve formelle en changeant constamment le mot de passe. Ces solutions réduisent brusquement le délai disponible pour le forçage brutal (l'attaquant doit casser et utiliser le mot de passe en un seul quart de travail) et elles réduisent la valeur des mots de passe volés en raison de sa courte durée de validité.

Logiciel

Il existe de nombreux outils logiciels de craquage de mots de passe, mais les plus populaires sont Aircrack , Cain et Abel , John the Ripper , Hashcat , Hydra , DaveGrohl et ElcomSoft . De nombreux progiciels d'assistance aux litiges incluent également une fonctionnalité de craquage de mot de passe. La plupart de ces packages utilisent un mélange de stratégies de craquage, d'algorithmes avec force brute et d'attaques par dictionnaire s'avérant les plus productifs.

La disponibilité accrue de la puissance de calcul et du logiciel de craquage de mot de passe automatisé convivial pour les débutants pour un certain nombre de schémas de protection a permis à l'activité d'être reprise par les script kiddies .

Voir également

Les références

Liens externes