in

Pourquoi vous devriez vous inquiéter chaque fois que la base de données de mots de passe d’un service est divulguée

«Notre base de données de mots de passe a été volée hier. Mais ne vous inquiétez pas: vos mots de passe ont été chiffrés. » Nous voyons régulièrement des déclarations comme celle-ci en ligne, y compris hier, de Yahoo. Mais devrions-nous vraiment prendre ces assurances pour argent comptant?

La réalité est que la base de données de mots de passe compromet une préoccupation, quelle que soit la façon dont une entreprise peut essayer de la faire tourner. Mais il y a quelques choses que vous pouvez faire pour vous isoler, quelle que soit la gravité des pratiques de sécurité d’une entreprise.

Comment les mots de passe doivent être stockés

Voici comment les entreprises devraient stocker les mots de passe dans un monde idéal: vous créez un compte et fournissez un mot de passe. Au lieu de stocker le mot de passe lui-même, le service génère un «hachage» à partir du mot de passe. Il s’agit d’une empreinte digitale unique qui ne peut pas être inversée. Par exemple, le mot de passe «password» peut se transformer en quelque chose qui ressemble plus à «4jfh75to4sud7gh93247g…». Lorsque vous entrez votre mot de passe pour vous connecter, le service génère un hachage à partir de celui-ci et vérifie si la valeur de hachage correspond à la valeur stockée dans la base de données. À aucun moment, le service n’enregistre votre mot de passe lui-même sur le disque.

Pour déterminer votre mot de passe réel, un attaquant ayant accès à la base de données devrait pré-calculer les hachages pour les mots de passe courants, puis vérifier s’ils existent dans la base de données. Les attaquants font cela avec des tables de recherche – d’énormes listes de hachages qui correspondent aux mots de passe. Les hachages peuvent alors être comparés à la base de données. Par exemple, un attaquant connaîtrait le hachage de «password1» et verrait ensuite si des comptes de la base de données l’utilisent. Si tel est le cas, l’attaquant sait que son mot de passe est «password1».

Pour éviter cela, les services doivent «saler» leurs hachages. Au lieu de créer un hachage à partir du mot de passe lui-même, ils ajoutent une chaîne aléatoire au début ou à la fin du mot de passe avant de le hacher. En d’autres termes, un utilisateur entrerait le mot de passe «mot de passe» et le service ajouterait le sel et hacherait un mot de passe qui ressemblerait davantage à «password35s2dg». Chaque compte d’utilisateur doit avoir son propre sel unique, ce qui garantirait que chaque compte d’utilisateur aurait une valeur de hachage différente pour son mot de passe dans la base de données. Même si plusieurs comptes utilisaient le mot de passe «password1», ils auraient des hachages différents en raison des différentes valeurs de sel. Cela vaincrait un attaquant qui aurait tenté de pré-calculer les hachages pour les mots de passe. Au lieu de pouvoir générer des hachages appliqués à chaque compte d’utilisateur dans toute la base de données à la fois, ils devraient générer des hachages uniques pour chaque compte d’utilisateur et son sel unique. Cela prendrait beaucoup plus de temps de calcul et de mémoire.

C’est pourquoi les services disent souvent de ne pas s’inquiéter. Un service utilisant des procédures de sécurité appropriées devrait indiquer qu’il utilisait des hachages de mots de passe salés. S’ils disent simplement que les mots de passe sont «hachés», c’est plus inquiétant. LinkedIn a haché leurs mots de passe, par exemple, mais ils ne les ont pas salés – c’était donc un gros problème lorsque LinkedIn a perdu 6,5 millions de mots de passe hachés en 2012.

Mauvaises pratiques de mot de passe

Ce n’est pas la chose la plus difficile à mettre en œuvre, mais de nombreux sites Web parviennent toujours à le gâcher de différentes manières:

  • Stockage des mots de passe en texte brut: Plutôt que de s’embêter avec le hachage, certains des pires contrevenants peuvent simplement vider les mots de passe sous forme de texte brut dans une base de données. Si une telle base de données est compromise, vos mots de passe sont évidemment compromis. Peu importe leur force.
  • Hachage des mots de passe sans les saler: Certains services peuvent hacher les mots de passe et abandonner là-bas, en choisissant de ne pas utiliser de sels. Ces bases de données de mots de passe seraient très vulnérables aux tables de recherche. Un attaquant pourrait générer les hachages pour de nombreux mots de passe, puis vérifier s’ils existaient dans la base de données – ils pourraient le faire pour chaque compte à la fois si aucun sel n’était utilisé.
  • Réutilisation des sels: Certains services peuvent utiliser un sel, mais ils peuvent réutiliser le même sel pour chaque mot de passe de compte utilisateur. C’est inutile – si le même sel était utilisé pour chaque utilisateur, deux utilisateurs avec le même mot de passe auraient le même hachage.
  • Utilisation de sels courts: Si des sels de seulement quelques chiffres sont utilisés, il serait possible de générer des tables de recherche contenant tous les sels possibles. Par exemple, si un seul chiffre était utilisé comme sel, l’attaquant pourrait facilement générer des listes de hachages contenant tous les sels possibles.

Les entreprises ne vous raconteront pas toujours toute l’histoire, donc même si elles disent qu’un mot de passe a été haché (ou haché et salé), elles n’utilisent peut-être pas les meilleures pratiques. Faites toujours preuve de prudence.

Autres préoccupations

Il est probable que la valeur salt soit également présente dans la base de données de mots de passe. Ce n’est pas si grave – si une valeur de sel unique était utilisée pour chaque utilisateur, les attaquants devraient dépenser d’énormes quantités de puissance CPU pour casser tous ces mots de passe.

Dans la pratique, tant de personnes utilisent des mots de passe évidents qu’il serait probablement facile de déterminer les mots de passe de nombreux comptes d’utilisateurs. Par exemple, si un attaquant connaît votre hachage et qu’il connaît votre sel, il peut facilement vérifier si vous utilisez certains des mots de passe les plus courants.

Si un attaquant le possède pour vous et veut déchiffrer votre mot de passe, il peut le faire avec la force brute tant qu’il connaît la valeur du sel – ce qu’il fait probablement. Avec un accès local et hors ligne aux bases de données de mots de passe, les attaquants peuvent utiliser toutes les attaques par force brute qu’ils souhaitent.

D’autres données personnelles sont également susceptibles de fuir lorsqu’une base de données de mots de passe est volée: noms d’utilisateur, adresses e-mail, etc. Dans le cas de la fuite Yahoo, des questions de sécurité et des réponses ont également été divulguées, ce qui, comme nous le savons tous, facilite le vol d’accès au compte de quelqu’un.

Aide, que dois-je faire?

Quoi qu’un service dise lorsque sa base de données de mots de passe est volée, il est préférable de supposer que chaque service est complètement incompétent et d’agir en conséquence.

Tout d’abord, ne réutilisez pas les mots de passe sur plusieurs sites Web. Utilisez un gestionnaire de mots de passe qui génère des mots de passe uniques pour chaque site Web. Si un attaquant parvient à découvrir que votre mot de passe pour un service est «43 ^ tSd% 7uho2 # 3» et que vous n’utilisez ce mot de passe que sur ce site Web spécifique, il n’a rien appris d’utile. Si vous utilisez le même mot de passe partout, ils pourraient accéder à vos autres comptes. C’est ainsi que les comptes de nombreuses personnes sont «piratés».

Si un service est compromis, assurez-vous de changer le mot de passe que vous y utilisez. Vous devriez également changer le mot de passe sur d’autres sites si vous le réutilisez là-bas – mais vous ne devriez pas le faire en premier lieu.

Vous devriez également envisager d’utiliser l’authentification à deux facteurs, qui vous protégera même si un attaquant apprend votre mot de passe.

Le plus important est de ne pas réutiliser les mots de passe. Les bases de données de mots de passe compromises ne peuvent pas vous blesser si vous utilisez un mot de passe unique partout – à moins qu’elles ne stockent quelque chose d’autre important dans la base de données, comme votre numéro de carte de crédit.

Crédit d’image: Marc Falardeau sur Flickr, Wikimedia Commons

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

D’énormes supercalculateurs existent toujours. Voici à quoi ils servent aujourd’hui

Comment créer des graphiques instantanés avec la fonctionnalité Explorer de Google Sheets

Comment créer des graphiques instantanés avec la fonctionnalité Explorer de Google Sheets