Accueil » Dossier » Peut-on casser un mot de passe avec une carte graphique ? » Page 9

Peut-on casser un mot de passe avec une carte graphique ?

1 : Introduction 2 : Configuration du test 3 : Cryptage : WinZip et WinRAR 4 : Résistance des mots de passe 5 : Cracker un mot de passe avec le CPU 6 : Cracker un mot de passe en GPGPU 7 : Performances en attaque par force brute : NVIDIA vs AMD 8 : Sécurité : WinZip et WinRAR

Conclusion

Nous avons été assez surpris après avoir essayé de récupérer le mot de passe d’une vielle archive WinZip. Le fait est que nous sommes à une époque où les donnes censées être protégées ne le sont pas autant qu’on le voudrait (le PSN en est un très bon exemple), ce qui est assez inquiétant quand on constate l’évolution de nos processeurs/cartes graphiques et l’utilisation qui peut en être faite.

Il y a encore une dizaine d’années, il était inconcevable de casser un mot de passe ASCII de 10 caractères dans un délai acceptable à moins d’utiliser une machine conçue pour cela. C’est précisément ce que l’EFF (Electronic Frontier Foundation) a réalisé en 1998 avec son Deep Crack : moyennant 250 000 $, un groupe d’experts a pu construire une machine mettant 1856 puces ASIC AWT-4500 en commun pour arriver à 90 milliards de combinaisons par seconde.

Treize ans plus tard, nous n’arrivons pas au même niveau avec notre configuration de test, mais il faut tout de même noter que notre SLI de GTX 570 affiche 1,5 milliard de combinaisons par seconde avec le cryptage Zip 2.0 : il s’agit d’1/60ème des performances de Deep Crack, pour moins d’un 1/100ème de son prix. Ceci revient à comparer des pommes à des poires vu que le chiffrement Zip 2.0 est dépassé, mais l’essentiel n’est pas là : les architectures graphiques massivement parallèles continueront de progresser à des prix accessibles, jusqu’au jour où sortiront des composants grand public capables d’atteindre les 90 milliards de combinaisons à la seconde.

Image 1 : Peut-on casser un mot de passe avec une carte graphique ?

En parallèle, nous avons vu qu’il valait mieux prendre ses distances avec le cryptage Zip 2.0 : il n’est maintenu que par souci de compatibilité et WinZip conseille l’AES pour une meilleure protection contre les attaques par la force brute.

Les attaques ciblées posent d’autres problèmes : à partir du moment où l’on utilise un mot commun dans un mot de passe, il devient vulnérable aux attaques par dictionnaire quel que soit le chiffrement utilisé. Un dictionnaire de Français courant compte environ 60 000 entrées, une encyclopédie 200 000, tandis qu’une simple GTX 460 peut gérer au moins 150 000 combinaisons par seconde contre un chiffrement AES. Quand bien même on ajouterait quelques variations, il ne faudrait pas plus d’une journée pour cracker le mot de passe :d’un point de vue fonctionnel, un mot entier revient à la même chose qu’une seule lettre.

Voici quelques écueils à éviter pour renforcer la sécurité de ses archives :

  • Eviter les mots du dictionnaire : Le Petit Robert 2011 compte par exemple 60 000 mots, ce n’est rien pour une GTX 460.
  • Eviter d’ajouter un chiffre en suffixe : ce n’est pas parce que l’on rajoute « 1 » à la fin d’un mot de passe qu’il devient plus sûr, vu qu’une demi-journée suffit à tenter tous les mots du dictionnaire et le chiffre manquant avec un SLI de GTX 570.
  • Eviter les répétitions de mots ou lettres de substitution : Motdepassemotdepasse ne fait que doubler le nombre de mots à tester, ce qui n’est pas un obstacle vu la vitesse à laquelle les combinaisons sont tentées. [email protected] n’est pas non plus un bon mot de passe vu que les crackeurs connaissent ce genre de transcription.
  • Eviter les séquences courantes du clavier : Il n’est pas compliqué de rajouter AZERTY au dictionnaire de mot de passe à tester, mieux vaut donc éviter ce genre de raccourcis.
  • Eviter les séquences numériques courantes : 314159 est un nombre facile à retenir vu qu’il s’agit de Pi ; il est aussi souvent testé.
  • Eviter les données personnelles : numéro de sécurité sociale, numéro de téléphone, immatriculation, anniversaire etc. Nous sommes dans une époque où beaucoup d’informations personnelles sont en fait disponibles dans le domaine public, a fortiori quand on possède un compte Facebook/Twitter et consorts.

Le cryptage est aussi valable que le mot de passe qui le protège, or c’est justement la faiblesse des mots de passe symétriques (les clés de chiffrement et déchiffrement sont alors identiques). Le PGP (Pretty Good Privacy) et le chiffrement par certificat offrent des niveaux de protections extrêmement élevés, mais il est délicat de les utiliser au quotidien à moins de passer aux archives PKZIP. En premier lieu, il faut donc choisir un mot de passe à la fois long et complexe.

Fort heureusement, les mathématiques sont là pour nous aider : sur la base des caractères ASCII, la résistance d’un mot de passe sera 94 (taille du mot de passe) vu que chaque caractère supplémentaire rend le mot de passe 94 fois plus sûr. Quelques caractères en plus suffisent donc à rendre un mot de passe virtuellement inviolable vis-à-vis des attaques par la force brute : si les 7 298 831 534 994 528 combinaisons possibles avec un mot de passe à neuf caractères ne suffisent pas à être rassuré, on peut passer à 10 caractères pour atteindre les 699 823 827 359 474 784 possibilités.

Image 2 : Peut-on casser un mot de passe avec une carte graphique ?

Vu les résultats que nous avons obtenus pour cet article, une paire de HD 6990 devrait permettre de légèrement dépasser les 3 millions de combinaisons par seconde contre un cryptage AES. Concrètement, il faudrait alors 7397 années avec l’AMD Stream activé pour rechercher toutes les combinaisons possibles avec un mot de passe de 10 caractères.

Peut-être qu’il sera possible à l’utilisateur moyen d’accéder à des possibilités de calcul parallèle suffisantes pour ce genre de tâche à l’avenir. Le calcul distribué constitue la prochaine étape, sachant que Parallel Pasword Recovery travaille déjà sur la répartition du calcul par accélération GPU.

Il n’y a pas de quoi se faire du mauvais sang pour le moment, mais il est important d’être conscient du niveau de sécurité de ses archives. C’est justement le rôle des logiciels pour la récupération des mots de passe, vision d’ailleurs partagée par WinZip. Tom Vaughan (son vice-président) a ainsi déclaré : « Pour moi, les programmeurs de logiciels pour la récupération de mots de passe sont des white hats et non pas des black hats. Ce sont les logiciels que l’on ne connait pas encore qui devraient nous inquiéter (développé par des black hats et plus rapides/capables de casser des sécurités que ce à quoi on s’attendait) ».

D’autre part, il ne faudrait pas perdre de vue que l’on ne peut pas acheter le/les logiciel(s) de référence : le cryptage personnalisé avance toujours plus vite que les solutions accessibles au grand public. Après avoir abordé ce qu’il vaut mieux éviter, voici quelques conseils pour le choix du mot de passe :

  • Au moins neuf caractères
  • Au moins une majuscule
  • Au moins une minuscule
  • Au moins un caractère spécial comme @ ou !
  • Au moins un chiffre

 .

Sommaire :

  1. Introduction
  2. Configuration du test
  3. Cryptage : WinZip et WinRAR
  4. Résistance des mots de passe
  5. Cracker un mot de passe avec le CPU
  6. Cracker un mot de passe en GPGPU
  7. Performances en attaque par force brute : NVIDIA vs AMD
  8. Sécurité : WinZip et WinRAR
  9. Conclusion