Pwned Passwords : votre mot de passe fait-il partie de ces 500 millions qui ont fuité ?

Stéphane Moussie |

Régulièrement, on apprend que telle ou telle entreprise a laissé fuiter des milliers voire des millions de mots de passe dans la nature. Dans le pire des cas, ces mots de passe ne sont pas chiffrés et viennent enrichir les bases de données de vilains hackers… et de Pwned Passwords.

Ce service vous permet de vérifier si vos mots de passe ne sont pas compromis. Troy Hunt, un expert en sécurité qui travaille pour Microsoft, a mis en ligne cette semaine la v2 qui porte à plus de 500 millions le nombre de mots de passe recensés et qui améliore son fonctionnement.

L’utilisation est simplissime : vous tapez un de vos mots de passe dans le champ et vous cliquez sur « pwned? ». Si c’est rouge, votre sésame fait partie d’une fuite de données et il faut le changer. Le nombre de fois où il apparaît dans les sources est spécifié.

Ce n’est pas une bonne idée d’utiliser « azerty » comme mot de passe.

Si c’est vert, votre mot de passe n’a pas fuité… mais cela ne signifie pas à 100 % qu’il est sûr. Il peut avoir été subtilisé individuellement ou bien être trop faible pour ne pas être deviné un jour ou l’autre (lire aussi : rappel de quelques conseils pour vos mots de passe).

Un mot de passe non compromis (je ne précise pas lequel, ce serait contre-productif).

Mais ce n’est pas dangereux de vérifier ses mots de passe en les entrant sur une page web ? Si, ça peut l’être. Pour sa part, Pwned Passwords est reconnu dans le milieu comme un service fiable. D’une part son créateur a pignon sur rue, d’autre part son fonctionnement est expliqué en détail et sûr jusqu’à preuve du contraire.

Votre mot de passe, disons « P@ssw0rd », n’est pas stocké ni même envoyé au service. Il est hashé automatiquement avec l’algorithme SHA–1, ce qui le transforme en ceci (c’est ce qu’on appelle le hash ou condensat) : « 21BD12DC183F740EE76F27B78EB39C8AD972A757 ». Ce hash n’est pas non plus envoyé au serveur, car il pourrait permettre au créateur du site de découvrir le mot de passe derrière.

Ce sont seulement les cinq premiers caractères du hash, 21BD1 dans le cas présent, qui sont envoyés et comparés aux hash des 500 millions de mots de passe recensés. Problème, ce début de hash est celui de 475 mots de passe différents, et non d’un seul :

  • 21BD10018A45C4D1DEF81644B54AB7F969B88D65:1 (mot de passe « lauragpe »)
  • 21BD100D4F6E8FA6EECAD2A3AA415EEC418D38EC:2 (« alexguo029 »)
  • 21BD1011053FD0102E94D6AE2F8B83D76FAF94F6:1 (« BDnd9102 »)
  • etc.

Le serveur envoie alors les 475 hash complets qui débutent par 21BD1 et en local Pwned Passwords les compare avec celui de « P@ssw0rd ». Si un hash correspond, c’est que le mot de passe fait partie de la base de données du service.

Le gestionnaire de mots de passe 1Password a jugé Pwned Passwords assez sûr et utile pour commencer à l’intégrer à son service. Si vous avez un compte 1Password.com, vous pouvez activer l’intégration sur la web app en appuyant sur Shift-Control-Option-C. La fonction sera ajoutée en bonne et due forme dans la partie Audit de sécurité dans une future version.

Si malgré tout vous n’avez pas confiance en Pwned Passwords, vous pouvez télécharger sa base de données de 500 millions de hash de mots de passe pour l’utiliser entièrement en local (le fichier pèse près de 9 Go). Troy Hunt propose aussi un service, have i been pwned?, pour voir si votre adresse email ou votre pseudo fait partie d’une fuite de données.

Pour aller plus loin :
avatar Axel | 

Très bonne nouvelle ! Le système semble en effet assez sûr. Merci pour les explications sur le fonctionnement du service.

Question, si un hacker intercepte les 5 premiers caractères, le fait de réduire le champs des possibles à 475 mots de passe peut-il lui suffire pour accéder à sa cible ?

avatar reborn | 

@Alméti

Un bon système n’autorise pas la possibilité d’entrer 474 mots de passe erronés normalement

avatar ovea | 

Personne ne dit que cette méthodologie n'est pas étendue, en prédictibilité, dans les faits ;>'

avatar heu | 

@Alméti

Il lui faudra aussi deviner ton login.

avatar C1rc3@0rc | 

@Axel

«Question, si un hacker intercepte les 5 premiers caractères, le fait de réduire le champs des possibles à 475 mots de passe peut-il lui suffire pour accéder à sa cible ?»

40% des connexions a des services Web aujourd'hui sont le fait d'attaquants qui tentent de trouver les mot de passe.

La majortié des systemes de connexion (login) des services Web n'utilisent pas une mesure aussi simple qu'efficace de protection: mettre un delai croissant pour autoriser une nouvelle tentative apres un echec.
Donc oui, réduire le volume a 475 est une optimisation qui améliore grandement les intrusions...

Comme dit dans l'article l'empreinte calculée du mot de passe (SHA1..256) est a sens unique et ne correspond en principe qu'a un seul et unique mot de passe. On utilise ce système pour vérifier aussi qu'un fichier envoyé n'a pas été compromis...
Si ce calcul ne peut pas être inversé (enfin si SHA-1 est compromis depuis 2005...), par contre on peut constituer des tables qui permettent a partir d'une empreintes SHA256 de trouver le mot de passe en clair:

si on peut avoir une table
M0t_D3_P4ss3 => 84a6f0ef2aa002ec8fbd4f9297f81c4b291e366732a31560da6b2a8f682b7c2a

on peut aussi avoir une table
84a6f0ef2aa002ec8fbd4f9297f81c4b291e366732a31560da6b2a8f682b7c2a => M0t_D3_P4ss3

Lorsqu'on tente de s'authentifier sur un site on va envoyer son identifiant et l'empreinte de son mot de passe.

Ça veut dire que celui qui dispose d'une table d'empreintes/mot de passe s'il s'intercale entre toi et le site récupére ton identifiant et l'empreinte du mot de passe. Il lui suffit ensuite d'entrer cette empreinte dans sa table pour obtenir le mot de passe...

Apres, il y a des techniques de sécurisation qui permettent de déjouer ce système, mais elles sont rarement mis en place par la majorité des services en ligne.

Il faut aussi savoir que l'identification a 2 facteurs ou en 2 étapes est souvent réalisée de manière inefficace et ne sécurise rien, voire augmente les risques.

Alors est ce que la consultation de https://haveibeenpwned.com présente un risque?
Oui, clairement.

Mais il est a relativiser.
Mettons que le site ne fasse pas ce qu'il garanti et enregistre les mots de passe qui sont testes. Ça veut dire que la base s'enrichit de mot de passe certifiés utilisés et valides. Ça permet aux hacker donc de constituer des tables pour leurs attaques.

Maintenant la connaissance que j'ai du secteur me permet de penser que presque 100% des services en ligne ont été hacké et que par conséquent tu peux être quasi certain que ton mot de passe a été référencé dans une base du darkweb. Ça veut dire que les tables d'attaques existantes disposent très probablement de ton mot de passe...

Apres comme le dis l'article, pwned-passwords ne contient que 500 millions de mot de passe. C'est une partie de ce qui existe mais ce n'est pas exhaustif, les principales bases étant objets de transaction financières sur le marche noir.

Donc d'un cote un prend un risque potentiel et de l'autre cette base ne garantie rien... Bref la meilleure solution c'est de changer souvent sont mot de passe pour un qui réponde a ces critères:
1) au moins 12 caracteres
2) utiliser des chiffres, des lettre minuscules et majuscules
3) utiliser au moins 1 signe: !@#$%^&*()_-=[]{}\|/<>
4) utiliser au moins 1 signe de ponctuation
5) doit etre unique (ne jamais utiliser le meme mot de passe pour deux services)

Utiliser un identifiant unique pour chaque service (que ce soit une adresse mail ou un mot)!

Et se connecter qu'a partir d'un réseau sécurisé (le sien, ou obligatoirement avec un VPN sur un réseau public) et toujours vérifier qu'on utilise une connexion HTTPS et pas HTTP...

avatar françois bayrou | 

"l'empreinte calculée du mot de passe (SHA1..256) est a sens unique et ne correspond en principe qu'a un seul et unique mot de passe."

Que ce soit en md5, sha, ... un hash, qui a un nombre de caractères finis ( donc nombre de combinaisons finies ) , permet de hasher une infinité de chaines.
C'est donc mathématique, plusieurs chaines auront le même hash. Une infinité, même :)

Donc je dirais qu'en principe, non. Mais dans la réalité, oui ... ou presque : des collisions ont déjà été identifiées sur des repos git et ca peut créer un sacré bazard.
Pour en savoir plus : https://shattered.io

Sinon en ce qui concerne les mots de passe : En apparence ta méthode parait robuste mais non seulement elle ne l'est pas mais en plus, elle n'est pas pratique. Allez je le recolle ici pour la 50eme fois :
https://xkcd.com/936/

avatar iapx | 

Le site est perclus de différents trous de sécurité.

La pseudo-sécurité du mécanisme ne tient aucunement la route face aux attaques possibles, et de façon plus amusante, un tiers pouvant générer des certificats crédibles (au hasard un organisme US à 3 lettres) va avoir accès à vos mot-de-passe au complet.

Ne pas utiliser, c'est toxique et réalisé soit par un imbécile au QI d'huître, soit par des gens voulant récupérer vos mot-de-passe.

avatar r e m y | 

Amusant de voir sur quels sites l'email tcook@apple.com, par exemple, possède un compte ayant été compromis.

avatar Olivier S | 

Super service 👍
Des mots de passe communs, il doit sûrement en avoir quelques uns en tout c’est une très bonne idée

avatar Powerdom | 

azerty :

Oh no — pwned!
This password has been seen 295 067 times before

avatar marc_os | 

Le certificat du site de Pwned Passwords n'est pas valide.
C'est plutôt ballot dirais-je...

avatar AirForceTwo | 

Il est parfaitement valide. Vérifiez plutôt la date de votre ordinateur.

https://www.sslshopper.com/ssl-checker.html#hostname=haveibeenpwned.com

avatar iapx | 

Ah ça commence...

Ce site est toxique, la sécurité est absente, avec des failles très présente et même j'allais dire amusantes tellement elles sont amateur!

avatar 666 | 

J’ai mon adresse e-mail perso qui a été pwned. Concrètement ça veut dire quoi svp ?

avatar r e m y | 

@666

Que ton e-mail figure sur des listes avec à côté le mot de passe utilisé avec cet e-mail sur le site où il a été récupéré.
Des malandrins vont tester ce même couple e-mail/password sur des tas de sites et si ils tombent sur un site où tu as un compte avec ce même e-mail et mot de passe, ils vont accéder à ton compte.

La parade consiste à modifier le mot de passe sur tous les sites où tu utilises cet e-mail comme identifiant.

avatar 666 | 

@r e m y

Ça voudrait dire qu’il faut que je change mon mot de passe rapidement c’est ça ?
En plus ils auront pas de mal puisque c’est xxxxx@hotmail.fr donc ils sauront où

avatar r e m y | 

@666

Tu changes de mot de passe partout où cette adresse e-mail est utilisée comme identifiant, pas uniquement sur le site qui a été hacké et sur lequel ton couple e-mail/mot de passe a été récupéré.

avatar 666 | 

@r e m y

Une dernière question : le mot de passe associé à cette adresse n’est lui pas pwned il faudra le changer quand même ?

D’accord merci bcp pour toutes ces explications 🙏

avatar ovea | 

Ouiii oui, le changer aussi, il faut … si seulement, l'accès à sa validation par mail est susceptible d'être comprise ;>'

(((Doublon avec @stefhan : problème d' identantation sur la nouvelle app MacG)))

avatar C1rc3@0rc | 

@666

«Une dernière question : le mot de passe associé à cette adresse n’est lui pas pwned il faudra le changer quand même ?»

oui.

Et meme si tu penses qu'un de tes identifiants n'on pas ete compromis, il faut de toute façon changer regulierement ton mot de passe.

La regle minimum de securité c'est:
- 1 identiant => 1 mot de passe
- 1 service => 1 identifiant
- changer regulierement le mot de passe

La frequence de changement du mot de passe c'est minimum 3 mois.

Après, il ne faut pas s’inquiéter que ses identifiants et ses mots de passe se baladent sur le Web, il faut s’inquiéter que les paires identifiants/mot de passe se baladent sur le Web...

Et il faut se souvenir d'une chose: tous les services en lignes sont virtuellement tous hackés...
Ça veut dire qu'il faut faire attention aux données qu'on leurs donne... Par principe toute donnée confiée a un service en ligne doit être considérée comme publique!

avatar 666 | 

@C1rc3@0rc

Merci infiniment pour la réponse !
J’avoue, il faudrait le faire plus souvent. Je n’ai jamais changer mes mots de passe ou du moins que quand je les oublie !
Je vais m’y mettre alors 😬

avatar stefhan | 

@666

Que tu dois changer ton mot de passe...

avatar flagos | 

Une erreur dans l'article: Il n'existe pas de maniere de de-hasher un hash. On ne peut savoir a partir d'un hash le mot de passe qui a servi a le generer. Tout simplement car il existe plusieurs mot de passe pour un seul hash.

Le truc, c'est que certains malins pourraient trouver un mot de passe qui donne le meme hash (il existe des tables pour ca), et utiliser celui-ci sur des sites qui ne salent pas les mots de passe.

avatar stefann | 

@flagos

Je plussoie. Il n'y a pas d'opération inverse possible avec sha1 jusqu'à présent.

avatar C1rc3@0rc | 

@stefann

«Je plussoie. Il n'y a pas d'opération inverse possible avec sha1 jusqu'à présent.»

Ben tu devrais pas.

C'est en référence dans l'article, encore faut il le lire: depuis 2005 SHA-1 est compromis.

Depuis 2010 toutes les agences et organismes de securité demandent de remplacer l'usage de SHA-1 par SHA-2 ou un autre.

Les principaux editeurs de navigateurs Web ont decidés d'interdir l'usage des certificats SSL SHA-1 a partir de 2017.

En 2017 Google et le centre national de recherche en mathematique et informatique d'Amsterdam ont publié une demonstration d'attaque par collision du protocole SHA-1.

Donc oui, SHA-1 peut etre inversé...

Les algorithmes SHA sont des fonctions de hachage. Une fonction de hachage cryptographique idéale est definie par les quatre propriétés suivantes :

- la valeur de hachage d'un message se calcule « très rapidement » ;
- il est, par définition, impossible, pour une valeur de hachage donnée, de construire un message ayant cette valeur de hachage ;
- il est, par définition, impossible de modifier un message sans changer sa valeur de hachage ;
- il est, par définition, impossible de trouver deux messages différents ayant la même valeur de hachage. Si pour deux messages distincts m1 et m2 on a hachage(m1) = hachage(m2) alors on a une collision. La probabilité d'une collision est inversement proportionnelle a la longueur du message

Lorsqu'une des ses propriété est violée la fonction de hachage est compromise et ne peut plus servir a garantir la validité d'un message / fichier.

Pages

CONNEXION UTILISATEUR