Blizzard, dont les serveurs ont été en partie piratés, a expliqué que son utilisation du protocole SRP rendait extrêmement difficile la découverte des mots de passe réels des utilisateurs, ce qui a été mise en doute. Il semble toutefois que Blizzard ait raison de se vouloir rassurant, grâce à une politique de sécurité que d'autres devraient prendre en exemple. Explications.

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 optimisme 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(| 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".

Partager sur les réseaux sociaux

Articles liés