Blizzard hacké : le SRP protège-t-il bien les mots de passe ?
Sujet ouvert par Guillaume Champeau - Dernière réponse le 11 août 2012 à 09h24



Jeudi, Blizzard a annoncé avoir été victime d'une intrusion sur son réseau Battle.net, qui a permis aux hackers de mettre la main sur une base de données comprenant des noms des utilisateurs, leur adresse e-mail, la réponse à la "question de sécurité personnelle", et des données relatives à la double authentification. Les joueurs connectés aux serveurs nord-américains (Amérique du Nord, Amérique Latine, Australie, Nouvelle-Zélande et Asie du Sud-Est) seraient les seuls concernés, même si rien n'est encore totalement exclu pour les joueurs européens.

Pour rassurer sur la portée de l'incident, Blizzard a expliqué que les mots de passe en clair n'avaient pas été compromis. "Nous savons que les versions brouillées de manière cryptographique (et non les versions réelles) de mots de passe Battle.net de personnes jouant sur des serveurs nord-américains ont été volées. Nous utilisons le protocole SRP pour protéger ces mots de passe, ce qui rend extrêmement difficile l'extraction du mot de passe réel et qui implique que chaque mot de passe doit être décodé individuellement", a ainsi expliqué Blizzard.

Cet optimise est mis en doute par Jeremy Spilman, le fondateur d'une société spécialisée dans la fourniture de solutions de sécurisation. Il confirme que le protocole SRP sur lequel repose Blizzard fait que les bases de données de Battle.net contiennent non pas le mot de passe en clair, mais une version "hashée", c'est-à-dire la signature électronique de chaque mot de passe. Lorsque l'utilisateur veut se logger, c'est la signature de son mot de passe qui est comparée à cette base, et non le mot de passe lui-même. C'est une technique bien connue, utilisée sur de nombreux sites (dont Numerama), mais qui n'est pas infaillible.

Spilman rappelle en effet que selon le protocole SRP, pour établir un mot de passe P, Blizzard génère un "sel" s aléatoire puis effectue ces équations :




x = SHA1(s | SHA(nom_utilisateur | ':' | P))

v = g^x % N


Dans ses bases de données, Blizzard stocke la valeur de vérification du mot de passe (v), et le sel (s) qui a servi de base unique à la génération du "hash". Comme le montre la formule, le v est obtenu à partir du mot de passe hashé (x), et de deux valeurs g et N. Or il semble que Blizzard a communiqué ces deux valeurs pour permettre aux développeurs de s'interfacer avec ses systèmes (on les retrouver sur un code source hébergé par Github). Le hacker, lui, possède les valeurs "nom_utilisateur", v et s.

Il a donc tout ce qu'il faut en main pour générer des hashs à partir d'un dictionnaire de mots de passe pour chaque "sel" différent contenu dans la base, et savoir à quel mot correspond quel hash présent dans la base. Selon Jeremy Spilman, un ordinateur basé sur un processeur i7 - 2600 permettrait de tester chaque jour 100 000 mots de passe sur 100 000 utilisateurs. "Puisque l'attaque a eu lieu il y a plus de cinq jours, des milliers de mots de passe d'utilisateurs ont probablement déjà été crackés", estime-t-il.

D'heureuses contraintes dans le choix du mot de passe

Cependant, la théorie de Spilman repose pour une large part sur l'idée que les joueurs utilisent massivement des mots de passe présents dans les dictionnaires de mots de passe. Or la probabilité est rendue beaucoup plus faible par les contraintes imposées par Blizzard. L'éditeur oblige en effet à respecter certains critères pour accepter un mot de passe :


Votre mot de passe doit compter entre 8 et 16 caractères.

Votre mot de passe ne peut être consitué que de lettres (A à Z), chiffres (0 à 9) et/ou ponctuation.

Votre mot de passe doit contenir au moins une lettre et un chiffre.

Le nom de votre compte ne peut pas vous servir de mot de passe.


La seule contrainte que nous avons mise en gras doit suffire à écarter nombre de mots de passe présents dans les dictionnaires. Ce qui donne raison à Blizzard lorsqu'il dit, non pas que le SRP empêche de découvrir les mots de passe, mais qu'il "rend extrêmement difficile l'extraction du mot de passe réel".


Lire la suite
14 réponses
Inscrit le 10/08/2012
1 messages publiés
Les dictionnaires de mots de passe actuels comprennent un grand nombre de combinaisons courantes de chiffres et caractères non alphabétiques. En particulier les variations de forme (chiffre pour une lettre, leettalk) ou de son ( 1 pour 'un' ou 'in' ...).

Qui plus est, si la compromission a eu lieu dans les bases de Blizzard, le protocole utilisé pour authentifier les utilisateurs est de peu d'intéret. Il est probable que ces comptes soient utilisés pour authentifier de multiples types d'accés: par le jeu, par du web ...Et dans ce cas il est douteux que SRP soit utilisé partout.

Ce qui serai pertinent serai de savoir comment sont stockés les mots de passe
dans les bases de Blizzard.

L'exemple récent de Linked-in prouve que stocké les mots de passe hashés est insuffisant.
Et je ne parle pas d'un éventuel stockage clair.

CQFD.
[message édité par furaxfox le 10/08/2012 à 14:31 ]
Inscrit le 19/10/2009
5626 messages publiés
Ils devraient recommander l'emploi d'un mot de passe unique pour le compte, qui ne soit pas commun à d'autres accès ' numériques '...

Et nous ne parlerons pas de la rétention des données bancaires...
Inscrit le 10/08/2012
4 messages publiés
@Gnommy

Si tu regardes l'image c'est bien recommandé
Inscrit le 24/03/2009
803 messages publiés
Blizzard interdit (ou interdisait ?) l'utilisation de caractères spéciaux et de majuscules dans les mots de passe.
J'ai un doute concernant l'utilisation de la ponctuation, si c'était quelque chose de disponible depuis le début ou si c'est un ajout récent.

Bref, moyen.
Inscrit le 26/02/2009
492 messages publiés
Caratères spéciaux et chiffre dans mon cas et cela marche
Inscrit le 16/06/2009
7150 messages publiés
Mindo (Rédacteurs Numerama) le 10/08/2012 à 12:46
Warp, le 10/08/2012 - 12:28
J'ai un doute concernant l'utilisation de la ponctuation, si c'était quelque chose de disponible depuis le début ou si c'est un ajout récent.


Si je ne me trompe pas, l'utilisation de la ponctuation est possible depuis plusieurs années (pour ne pas dire depuis le début).
Inscrit le 18/12/2008
105 messages publiés
Un article de numerama qui défend bibli ? oh punaise c'est la fête
Inscrit le 09/07/2008
778 messages publiés
Warp, le 10/08/2012 - 12:28
Blizzard interdit (ou interdisait ?) l'utilisation de caractères spéciaux et de majuscules dans les mots de passe.

Y'a dix ans de ça alors.
Inscrit le 05/10/2011
1843 messages publiés
Guillaume, le 10/08/2012 - 11:34

Cet optimise est mis en doute par Jeremy Spilman, le fondateur d'une société spécialisée dans la fourniture de solutions de sécurisation.

Déjà, quand je lis ça, je suis quasiment sûr que ce que le mec va sortir est plus ou moins biaisé, parce qu'il a certainement un truc à vendre.
Guillaume, le 10/08/2012 - 11:34
Selon Jeremy Spilman, un ordinateur basé sur un processeur i7 - 2600 permettrait de tester chaque jour 100 000 mots de passe sur 100 000 utilisateurs.


Ce n'est pas assez précis. Tester 100k mots de passe, c'est pour une attaque par dictionnaire ? Si c'est le cas, on s'en fout, l'attaque par dictionnaire ne fonctionnera pas : ils utilisent un salt. Il aura l'air malin avec ses dictionnaires...
Pour effectuer une attaque avec ce que blizzard a mis en place, il faut plus qu'un simple dictionnaire...
Inscrit le 24/03/2009
803 messages publiés
Elric, le 10/08/2012 - 13:17
Warp, le 10/08/2012 - 12:28
Blizzard interdit (ou interdisait ?) l'utilisation de caractères spéciaux et de majuscules dans les mots de passe.

Y'a dix ans de ça alors.
Quand j'ai mit à jour mon compte bnet pour la bêta de Diablo III, je me souviens avoir voulu changer de mot de passe. Impossible de mettre une majuscule ou un caractère comme #, @ ou
?.
Ca a peut-être changé, mais en tout cas, sur le moment, je ne pouvais que faire du a-z + 0-9 et ponctuation je crois.
Inscrit le 08/02/2005
920 messages publiés
Un jour, je me suis trompé 2/3 fois sur mon mot de passe et l'accès à mon compte battlenet a été bloqué.
Du coup, je ne vois pas bien comment on pourrait tester 100 000 mots de passe sur un utilisateur...
Inscrit le 12/03/2009
112 messages publiés

Guillaume, le 10/08/2012 - 11:34
Selon Jeremy Spilman, un ordinateur basé sur un processeur i7 - 2600 permettrait de tester chaque jour 100 000 mots de passe sur 100 000 utilisateurs.


Ce n'est pas assez précis. Tester 100k mots de passe, c'est pour une attaque par dictionnaire ? Si c'est le cas, on s'en fout, l'attaque par dictionnaire ne fonctionnera pas : ils utilisent un salt. Il aura l'air malin avec ses dictionnaires...
Pour effectuer une attaque avec ce que blizzard a mis en place, il faut plus qu'un simple dictionnaire...


C'est marqué dans l'article que le salt est connu du hacker.

Un jour, je me suis trompé 2/3 fois sur mon mot de passe et l'accès à mon compte battlenet a été bloqué.
Du coup, je ne vois pas bien comment on pourrait tester 100 000 mots de passe sur un utilisateur...


Il a pas besoin de tester le mdp en ligne. Il connait la version hash du mot de passe. Il hash tout son dico avec le bon salt, il regarde lequel correspond et paf mot de passe trouvé.
Inscrit le 05/10/2011
1843 messages publiés
Wurrzounet, le 10/08/2012 - 15:04


Guillaume, le 10/08/2012 - 11:34
Selon Jeremy Spilman, un ordinateur basé sur un processeur i7 - 2600 permettrait de tester chaque jour 100 000 mots de passe sur 100 000 utilisateurs.



Ce n'est pas assez précis. Tester 100k mots de passe, c'est pour une attaque par dictionnaire ? Si c'est le cas, on s'en fout, l'attaque par dictionnaire ne fonctionnera pas : ils utilisent un salt. Il aura l'air malin avec ses dictionnaires...
Pour effectuer une attaque avec ce que blizzard a mis en place, il faut plus qu'un simple dictionnaire...



C'est marqué dans l'article que le salt est connu du hacker.


Ca ne change rien : c'est quand même beaucoup plus long qu'une simple attaque par dictionnaire : comme indiqué dans l'article, avant de pouvoir tester les mots de passe sur les 100k utilisateurs, il faut déjà générer les dictionnaires pour ces 100k utilisateurs. Je ne l'ai jamais fait, mais je ne suis pas sûr que ça prenne 30 secondes.
S'il ne prend en compte que le temps de comparaison des mots de passe, son calcul est erroné.
Inscrit le 24/12/2011
1162 messages publiés
milord, le 10/08/2012 - 15:52
Wurrzounet, le 10/08/2012 - 15:04


Guillaume, le 10/08/2012 - 11:34
Selon Jeremy Spilman, un ordinateur basé sur un processeur i7 - 2600 permettrait de tester chaque jour 100 000 mots de passe sur 100 000 utilisateurs.



Ce n'est pas assez précis. Tester 100k mots de passe, c'est pour une attaque par dictionnaire ? Si c'est le cas, on s'en fout, l'attaque par dictionnaire ne fonctionnera pas : ils utilisent un salt. Il aura l'air malin avec ses dictionnaires...
Pour effectuer une attaque avec ce que blizzard a mis en place, il faut plus qu'un simple dictionnaire...



C'est marqué dans l'article que le salt est connu du hacker.


Ca ne change rien : c'est quand même beaucoup plus long qu'une simple attaque par dictionnaire : comme indiqué dans l'article, avant de pouvoir tester les mots de passe sur les 100k utilisateurs, il faut déjà générer les dictionnaires pour ces 100k utilisateurs. Je ne l'ai jamais fait, mais je ne suis pas sûr que ça prenne 30 secondes.
S'il ne prend en compte que le temps de comparaison des mots de passe, son calcul est erroné.


Bien sûr que non, si c'était un simple temps de comparaison le nombre de mots de passe testable serait beaucoup plus élevé que ça. La il faut faire en gros deux SHA, un exposant, un modulo, ca reste très rapide.

Pour info les attaques par dictionnaire ne consistent pas à tester juste la liste de mots d'un dico, mais à tester la liste de mots + tout une série de règles génératrice de variante, comme le remplace d'une lettre par une autre, l'ajout d'un chiffre au bout, etc...
Ces règles là (voir dans le très bon logiciel John the Ripper par ex) sont d'une très grande efficacité, qu'on ne soupçonne généralement pas avant de l'avoir testé. Les règles mises en place par Blizzard (un chiffre et une lettre au moins, longueur 8+) sont bien, mais ne protégeront pas tellement contre une attaque par dictionnaire, car la grande majorité, quand on leur impose ces règles là, se content de rajouter leur age ou leur département à la fin de leur mot de passe habituel.
Je suis persuadé que 100k mdp pour 100k utilisateur doivent donner un résultat d'au moins 25k comptes craqués (par jour donc)
Envoyer

Tous les champs doivent être remplis.

Tous les champs doivent être remplis.

Tous les champs doivent être remplis.

Télécharger
Your Free Registry Cleaner
Nettoyeurs - Nettoyer votre base de registre simplement
 
Settler of Catan
Plateau - Remake de Settlers of Catan
 
Autopano Pro
Photo numérique - Créez vos photos panoramiques très facilement.
 
Zsnes
Emulateurs - Emulateur Super Nintendo
 
PhotoSync
Photo numérique - Transférez facilement vos photos vers vos iDevices.
 
Matoumba
EntrepreNantes
Numerama est un site du réseau PressTIC