Une grappe de serveurs embarquant 25 GPU Radeon d’AMD a été capable de craquer un mot de passe Windows en quelques heures. Une opération qui soulève des questions sur l’efficacité de l’algorithme de hachage du protocole NTLM utilisé depuis Windows Server 2003.
Jeremi Gosney, PDG de la société Stricture Consulting Group (SCG), a présenté la semaine dernière lors de la conférence Passwords^12 une machine d’un genre particulier. Il s’agissait d’une grappe de serveurs embarquant 25 cartes graphiques basées sur des puces Radeon d’AMD. La machine était équipée en outre d’un système Linux et de la plateforme Virtual OpenCL, capable de créer une grappe logicielle depuis les cartes graphiques, afin qu’elles soient toutes traitées comme faisant partie d’une seule unité.
L’objectif et le point fort de ce serveur ? Trouver les mots de passe. Il le fait bien, et il le fait vite : il ne lui a fallu que 5,5 heures pour trouver un mot de passe Windows long de huit caractères. En termes de chiffres, cela représente 348 milliards d’essais à la seconde et près de 7 millions de milliards d’essais en 5h30. Assez pour deviner n’importe quelle combinaison de huit caractères exploitant aussi bien les majuscules que les minuscules, les chiffres et les caractères spéciaux.
Bien entendu, quelques précisions sont nécessaires. D’une part, si 5h30 sont un résultat impressionnant en force brute, il augmente brutalement avec des caractères supplémentaires : un de plus suffit à réclamer 500 heures de travail au serveur, tandis que deux lui demanderont cinq ans et quatre mois. En clair, aucun mot de passe ne devrait faire moins de 9 caractères au strict minimum pour décourager les éventuels pirates.
D’autre part, le temps de calcul dépend expressément de l’algorithme employé pour hacher le mot de passe. Selon Jeremi Gosney, le serveur peut ainsi s’attaquer à 44 autres algorithmes, mais les vitesses de calcul varient : 180 milliards d’essais à la seconde pour le MD5, 63 milliards pour le SHA1 et seulement 364 000 essais par seconde pour le SHA512crypt. Toutes ces opérations ont été ralisées à partir de fichiers locaux donnés en pâture à la grappe de serveurs.
Enfin, il faut considérer que la méthode par force brute n’est pas le seul moyen employé par les pirates pour deviner les mots de passe. Elle peut notamment être couplée à la comparaison directe. Jeremi Gosney a ainsi indiqué que lors de la fuite des identifiants LinkedIn, il avait été capable de casser 90 % des empreintes résultant du chiffrement des données. Il avait notamment utilisé une liste de 500 million de mots couramment utilisés dans les mots de passe. Il se servait toutefois d’une ancienne version du serveur, et la nouvelle lui aurait nécessité quatre fois moins de temps.
Comme d’habitude, nous recommandons à nos lecteurs la plus grande prudence dans le choix de leurs mots de passe. Même si ce type d’attaque n’est en général pas possible en ligne, à cause de la limitation des essais (trois le plus souvent), il est redoutable dans le cas d’une fuite d’identifiants avec récupération de fichiers. Un constat qui ne peut que s'aggraver avec la puissance toujours plus importante délivrée par les GPU.