Des chercheurs ont exposé leurs progrès dans le développement de BitCracker, un outil de cassage de mot de passe alimenté par GPU, construit spécifiquement pour casser BitLocker, le chiffrement complet du disque intégré à Microsoft Windows.
Un livre blanc (PDF) récemment publié par Elena Agostini, ingénieur logiciel chez Nvidia, et Massimo Bernaschi, directeur de la technologie au Conseil national de la recherche d’Italie (CNR), décrit BitCracker comme une solution conçue pour « tenter le décryptage, au moyen d’une attaque par dictionnaire, des unités de mémoire cryptées par BitLocker ».
BitCracker a été publié pour la première fois en décembre 2015 et a été continuellement développé depuis.
Attaque par dictionnaire
BitLocker est l’implémentation de Microsoft du chiffrement complet du disque, publié pour la première fois comme mise à niveau de Windows Vista en 2007. BitLocker est compatible avec les modules de plateforme de confiance (TPM) et crypte les données stockées sur le disque pour empêcher tout accès non autorisé en cas de vol de périphérique ou d’attaques basées sur des logiciels.
BitLocker To Go fonctionne de la même manière pour les périphériques externes, tels que les lecteurs USB.
La technologie utilise un chiffrement AES de 128 bits par défaut, mais celui-ci peut être configuré à 256 bits pour un niveau de sécurité accru.
Comme BitLocker utilise des niveaux élevés de chiffrement AES, BitCracker s’appuie sur des unités de traitement graphique (GPU) performantes pour rendre viable une attaque par dictionnaire.
Le logiciel est disponible pour la communauté open source et accessible via GitHub.
Une implémentation OpenCL de BitCracker a été intégrée à l’outil populaire et open source de piratage de mots de passe John The Ripper, version Bleeding-Jumbo, publié l’année dernière.
« Le processus de décryptage de BitLocker nécessite l’exécution d’un très grand nombre de hachages SHA-256 et aussi d’AES, nous proposons donc une solution très rapide, hautement accordée pour les GPU Nvidia, pour les deux », expliquent les chercheurs.
BitCracker a été testé avec trois architectures de GPU Nvidia : Kepler, Maxwell et Pascal.
LISTEN NOW SwigCast, Episode 2 : ENCRYPTION
Bits and pieces
BitLocker utilise deux modes d’authentification différents ; un mot de passe utilisateur ou un mode de récupération, dans lequel un utilisateur tape un mot de passe pour crypter ou décrypter un disque, ou utilise une clé de récupération à 48 chiffres générée par BitLocker pour accéder à son contenu.
Lors du chiffrement, chaque volume de secteur est chiffré individuellement à l’aide d’une clé de chiffrement de volume complet (FVEK) et d’une clé principale de volume (VMK), cette dernière étant également chiffrée et stockée dans le volume.
Si un lecteur a été chiffré en utilisant la méthode du mot de passe utilisateur, par exemple, dans les métadonnées du volume, vous trouverez deux VMK chiffrées – une chiffrée avec le mot de passe utilisateur et une chiffrée avec le mot de passe de récupération.
Lors du décryptage, BitLocker commence à décrypter le VMK, puis le FVEK, et enfin le disque lui-même.
L’outil BitCracker se concentre sur le décryptage d’une clé VMK, exposant un mot de passe capable de décrypter un périphérique.
Une attaque par dictionnaire est effectuée, exploitant les performances et la puissance du GPU. La norme SHA-256 transforme les messages en ce que l’on appelle des « blocs W » avant d’être hachés, et donc pour accélérer les choses, l’équipe a créé une facilité de précalcul pour certains ensembles de mots W, réduisant le nombre d’opérations arithmétiques requises en créant une table de consultation arc-en-ciel. Cela ne peut toutefois pas être appliqué à d’autres configurations SHA-256.
Vous pourriez également aimer Des outils open source aident à détecter la sécurité des conteneurs de cloud
Pour augmenter encore la vitesse des attaques potentielles, Agostini et Bernaschi ont également pu supprimer le calcul et la comparaison MAC.
Les performances de BitCracker ont été comparées à celles d’un autre craqueur de mots de passe populaire, Hashcat, en utilisant un GPU Pascal.
L’équipe reconnaît que la comparaison n’est pas tout à fait juste, car Hashcat n’utilise pas les fonctions W-block de BitCracker ni le calcul MAC.
Cependant, Hashcat était capable de 3 290 millions de hachages par seconde (MH/s), un résultat que les chercheurs disent être « comparable à la meilleure performance de BitCrackers sur le même GPU. »
Le processus de cryptage complexe de BitLocker signifie qu’il y a une limite au nombre de mots de passe qui peuvent être testés en même temps.
Cependant, le document de recherche suggère qu’avec un seul GPU haut de gamme, il est théoriquement possible que plus de 122 millions de mots de passe soient tentés en seulement 24 heures.
« Les résultats montrent que BitCracker peut rivaliser avec un craqueur de mots de passe de pointe en termes de performance brute sur les noyaux de calcul de base tandis qu’il est le seul à fournir des raccourcis spécifiques pour accélérer la procédure de décryptage de BitLocker », expliquent les chercheurs.
Développements futurs
Il y a des limites à BitCracker. L’outil n’est actuellement capable d’évaluer que les mots de passe de huit à 27 caractères, et les utilisateurs doivent fournir leur propre dictionnaire de saisie.
En outre, BitLocker est souvent utilisé en conjonction avec un TPM dans les entreprises plutôt que de s’appuyer uniquement sur un mot de passe utilisateur, de sorte que les attaques peuvent être limitées aux configurations des consommateurs ou peut-être à des individus dans des organisations particulières plutôt qu’à des déploiements à l’échelle de l’entreprise.
Comme l’a noté l’utilisateur de Reddit et le contributeur GitHub Rarecoil, il est également le cas que l’outil a plusieurs années, et que les dictionnaires et les ensembles de règles optimisés ont maintenant progressé au-delà de la portée de l’attaque de BitCracker.
Agostini et Bernaschi ont également proposé des méthodes pour améliorer BitCracker à l’avenir, y compris l’ajout d’une attaque en mode masque ou l’attribution de probabilités intelligentes aux dictionnaires d’entrée afin d’accélérer le processus.