Casser du mot de passe dans le cloud, c'était une application tellement évidente que la seule chose qui puisse réellement étonner, c'est que ça n'ait pas été essayé plus tôt... Un des premiers efforts à documenter ses résultats est cette initiative consistant à installer et faire tourner EDPR sur EC2 pour casser des mots de passe PGP plus rapidement.

Les détails de l'installation et de la configuration de l'ensemble pourront intéresser tous ceux voudraient se lancer à leur tour dans ce genre d'utilisation, mais personnellement, ce sont les résultats qui ont retenu mon attention. Ne serait-ce que par leur forme : au lieu de parler performance, on parle coût. Je vais vous laisser parcourir la page pour vous faire votre propre idée[1], mais globalement, ce que j'en retire, c'est qu'il n'y a pas de quoi sauter au plafond.

Si on part de l'hypothèse généreuse qu'une machine équipée d'une GPU un peu performante coûte dans les 2500$, ça nous amène, en terme de comparaison évidemment, à ce type de performance sur leur setup :

  • casser des mots de passe alphabétiques lowercase de 10 caractères ;
  • casser des mots de passe alphanumériques lowercase de 9 caractères ;
  • casser des mots de passe complexes[2] de moins de 8 caractères, mais on ne sait pas combien...

Le cinquième graphe est également intéressant. Il est censé nous montrer l'évolution du coût de cassage d'un mot de passe de huit caractères en fonction de sa complexité. Par complexité, on entend la taille du dictionnaire de caractères. On remarquera qu'on atteint nos 2500$ aux environs des 62 caractères, ce qui correspond aux caractères alphanumériques. Le dernier graphe est joli, pas de doute. Mais considérant que le pas d'ordonnées est de 200 millions de dollars, j'aurais pour ma part préféré un bon zoom sur ce qui se passe entre zéro et un million de dollars...

D'aucuns vont me trouver un peu mesquin à critiquer de la sorte, mais je ne trouve pas ces résultats follement excitants. Et les réponses qu'ils donnent à divers commentaires me confortent dans cette idée. Surtout la première qui se passerait presque de commentaires :

Anonymous said...
   So did you crack the password in the end? How long did it
   take? You've left us hanging here!!

So far we have run [a-z0-9] (length=8) on all of the target
files with no luck.  We are in the process of running
[a-zA-Z0-9 !@#$%^&*()] (length=8) on the targets

Car à bien y réfléchir, si on se compare les échelles de coût proposées à la cinquantaine de millions d'euros[3] avancée pour le supercalculateur Tera 10 du CEA et ses 50 téraflops, quand bien même s'il s'agirait de comparer des pommes et des oranges, on en vient quand même à se demande si le calcul intensif dans le cloud est un si bon pari quand on a les moyens de lâcher des centaines de millions de dollars[4]...


Une autre annonce qui a fait un peu plus de buzzz, c'est le service de crackage de PSK WPA/WPA2 proposé par Moxie Marlinspike. Ce dernier annonce pouvoir tester un dictionnaire de 135 millions de passphrases en une vingtaine de minutes sur un cluster de 400 CPUs, le tout en mode SaaS à partir de 17$ le run. Aujourd'hui, le service propose également un second dictionnaire dit étendu de 284 millions nouvelles passphrases[5], couvert en 55 minutes sur un nombre inconnu de CPUs, ainsi que la possibilité de casser des mot de passe ZIP avec des performances qui ne sont pas précisées.

Si on fait le calcul à partir des chiffres annoncés pour le dictionnaire de base, on obtient une vitesse de calcul de cracking de 112500 PSK par seconde. Vitesse qui dépasse les performances obtenues avec Pyrit mais en restant dans un ordre de grandeur comparable. Considérant qu'un PC de gamer bien équipé dispose aujourd'hui d'une GPU capable de tourner aux alentours de 15000 PSK/s, on parcourerait le dictionnaire en deux heures et demie. Ramené à une CPU, on obtient une vitesse de 280 PSK/s. À cette rythme, il faut bel et bien un peu plus de cinq jours pour parcourir les 135 millions de passphrases. Sauf qu'un processeur classique faisant tourner aircrack-ng teste environs 600 PSK/s, ce qui ramène le temps de cassage à deux jours et demi.

Deux jours et demi, sur une CPU classique. Deux heures et demie, sur une GPU un peu burnée qui pourrait tourner la nuit. Si on compte réaliser ce genre d'opérations régulièrement, il vaudra peut-être mieux claquer 500€ dans une bonne carte vidéo que de recourir à ce service...

Ceci étant dit, cette initiative présente deux avantages. D'abord un modèle commercial particulièrement intéressant : 34$ pour avoir sa réponse en 20 minutes représente un coût relativement dérisoire, surtout si on le compare aux chiffres astronomiques évoqués plus haut. Même en rajoutant 40$ pour tester le dictionnaire étendu en plus, ça reste clairement accessible à presque n'importe qui. Le tout sans avoir à acquérir de matériel[6], le faire tourner, le configurer et le monopoliser pour réaliser la tâche. Ensuite, on dispose d'un peu plus de 400 millions de passphrases. C'est un dictionnaire conséquent qu'on n'a pas besoin de constituer soi-même. Ce dernier avantage est cependant diminué par le fait qu'on ne sache rien de ce dictionnaire d'une part, et pour nous francophone qu'il soit anglophone[7] d'autre part, donc pas forcément adapté à nos besoins.


En guise de conclusion, je ne peux m'empêcher de vous renvoyer à XKCD d'une part et Wondermark de l'autre. Et de rappeler que le cloud, tout bel avenir qu'il puisse représenter, sera également celui d'un autre genre de distribution dont on se passerait bien...

Notes

[1] Notez bien que les ordonnées des trois premiers graphes ont une échelle logarithmique.

[2] Alphanumériques plus caractères spéciaux.

[3] Soit 71 millions de dollars US.

[4] Et pas forcément envie qu'Amazon récupère aussi les résultats...

[5] Qui ne contient pas le dictionnaire de base.

[6] Matériel qu'on a peut-être déjà.

[7] Nos amis teutons apprécieront le dictionnaire germanophone, de taille inconnue.