Le comptage des mots de passe implique de déterminer combien de comptes ont été compromis en raison de mots de passe divulgués ou piratés. Il s'agit d'une étape cruciale pour évaluer l'impact d'une violation de données ou d'une fuite de mot de passe. Voici un aperçu du processus :
1. Acquisition de données :
* Agrégateurs de données sur les violations : Des services comme Have I Been Pwned (HIBP) et des bases de données similaires sur abonnement collectent des données provenant de violations de données divulguées publiquement. Ils indexent les noms d’utilisateur/adresses e-mail et parfois les mots de passe associés.
* Journaux internes : Si vous êtes une entreprise, vous pouvez disposer de journaux internes d'échecs de tentatives de connexion, de demandes de réinitialisation de mot de passe ou d'anomalies suggérant des comptes compromis.
* Surveillance du Dark Web : Des services spécialisés explorent le dark web à la recherche de mentions de votre domaine, des noms de votre entreprise ou des informations d'identification des utilisateurs échangées ou discutées.
* Analyses de vulnérabilité : Les outils de sécurité qui recherchent les vulnérabilités et les erreurs de configuration courantes peuvent parfois révéler des informations d'identification exposées dans les fichiers de configuration, les référentiels de code ou les bases de données.
2. Traitement des données et déduplication :
* Nettoyer les données : Les vidages de violation contiennent souvent des doublons, un formatage incorrect et des données non pertinentes. Supprimez les caractères superflus, normalisez les formats de données (par exemple, les adresses e-mail) et assurez la cohérence des données.
* Déduplication : Éliminez les entrées en double sur plusieurs sources de violation pour éviter le surcomptage. Cela peut être difficile car les données peuvent être subtilement différentes (par exemple, variations dans la capitalisation des e-mails). Utilisez des techniques telles que la correspondance floue ou le couplage d'enregistrements.
* Hachage et salage : Si les mots de passe dans les violations sont en texte brut, hachez-les et salez-les immédiatement à l'aide d'un algorithme puissant (par exemple, bcrypt, Argon2, scrypt). Ne stockez jamais les mots de passe en texte brut ! Si les mots de passe sont déjà hachés, conservez les hachages existants pour comparaison ultérieure.
3. Identifiants correspondants :
* Comparer avec la base de données d'utilisateurs existante : Faites correspondre les noms d'utilisateur/adresses e-mail compromis provenant des données de violation avec votre base de données d'utilisateurs existante. Il s’agit de l’étape cruciale pour identifier les comptes concernés.
* Comparaison de mots de passe (directs ou hachés) :
* Mots de passe en texte brut (en cas de violation) :
* Ne stockez jamais vos mots de passe utilisateur actuels en texte brut. Si vous le faites, cela représente un énorme risque pour la sécurité.
* Hachez et salez les mots de passe en texte brut de la violation en utilisant le *même* algorithme et le même sel que ceux utilisés pour votre base de données d'utilisateurs.
* Comparez le hachage obtenu avec les hachages de vos mots de passe utilisateur actuels. Une correspondance indique un compte compromis (l'utilisateur a utilisé le même mot de passe).
* Mots de passe hachés (en cas de violation) :
* Si votre base de données utilisateur utilise le *même* algorithme de hachage que la violation (peu probable mais possible), vous pouvez comparer directement les hachages. Une correspondance signifie un compte compromis.
* Si les algorithmes de hachage diffèrent, *vous ne pouvez pas comparer directement les hachages*. Le hachage est une fonction à sens unique. Vous devrez vous appuyer sur d'autres indicateurs (correspondance nom d'utilisateur/e-mail) et encourager les utilisateurs à changer leurs mots de passe.
* Nom d'utilisateur/e-mail uniquement (pas de mot de passe) : Même si une violation ne concerne que des noms d’utilisateur ou des adresses e-mail, considérez que ces comptes sont potentiellement compromis. Encouragez les utilisateurs à modifier leurs mots de passe, surtout s'ils utilisent le même mot de passe ailleurs.
4. Comptabilisation et rapports :
* Compter les comptes compromis : Sur la base du processus de correspondance, comptez le nombre de comptes identifiés comme ayant des mots de passe compromis.
* Classer par gravité : Vous souhaiterez peut-être classer les comptes compromis en fonction de la sensibilité des données auxquelles ils accèdent. Par exemple:
* Élevé :comptes dotés de privilèges administratifs ou d'un accès à des données financières sensibles.
* Support :comptes ayant accès à des informations personnelles ou à des données professionnelles confidentielles.
* Faible :comptes avec un accès limité ou des informations publiques.
* Résultats du rapport : Générez un rapport résumant le nombre de comptes compromis, les niveaux de gravité et les tendances observées. Ce rapport doit être partagé avec les parties prenantes concernées (par exemple, l'équipe de sécurité, le service informatique, la direction).
* Suivi historique : Gardez une trace des décomptes de mots de passe antérieurs pour suivre les tendances en matière de sécurité et l’efficacité des efforts d’atténuation.
5. Correction et atténuation :
* Politiques de réinitialisation de mot de passe : Appliquez la réinitialisation des mots de passe pour les comptes compromis. Idéalement, forcez la réinitialisation du mot de passe lors de la prochaine tentative de connexion.
* Authentification multifacteur (MFA) : Implémentez MFA pour tous les comptes, en particulier ceux dotés de privilèges élevés. MFA réduit considérablement le risque de piratage de compte, même si un mot de passe est compromis.
* Exigences relatives à la complexité du mot de passe : Appliquez des exigences strictes en matière de complexité des mots de passe (longueur, types de caractères). Pensez à utiliser le score d’entropie des mots de passe pour mesurer la force des mots de passe.
* Liste noire des mots de passe : Mettez en place une liste noire de mots de passe pour empêcher les utilisateurs de choisir des mots de passe courants ou faciles à deviner. Pensez également à mettre sur liste noire les mots de passe trouvés dans des violations connues.
* Surveillance des mots de passe et alertes : Surveillez en permanence les informations d'identification violées et alertez les utilisateurs si leurs comptes sont détectés comme étant victimes d'une violation. Plusieurs services commerciaux proposent ce type de surveillance.
* Éducation des utilisateurs : Éduquez les utilisateurs sur les meilleures pratiques en matière de sécurité des mots de passe, notamment sur l'importance d'utiliser des mots de passe forts et uniques, d'éviter la réutilisation des mots de passe et d'activer l'authentification multifacteur.
* Audits de sécurité réguliers : Effectuer régulièrement des audits de sécurité et des évaluations de vulnérabilité pour identifier et corriger les faiblesses potentielles en matière de sécurité.
Considérations importantes :
* Confidentialité : Soyez extrêmement prudent lorsque vous manipulez des données sensibles telles que des mots de passe. Respectez toutes les réglementations pertinentes en matière de confidentialité (par exemple, RGPD, CCPA). Mettre en œuvre des contrôles d’accès et des mesures de sécurité appropriés pour protéger les données.
* Juridique : Consultez un conseiller juridique pour garantir le respect de toutes les lois et réglementations applicables concernant la notification et la résolution des violations de données.
* Faux positifs/négatifs : Le processus d'appariement n'est pas parfait. Il peut y avoir des faux positifs (comptes incorrectement identifiés comme compromis) et des faux négatifs (comptes compromis manqués). Enquêtez sur les correspondances suspectes et affinez vos processus.
* Sel : Utilisez toujours des sels uniques lors du hachage des mots de passe. Si vous utilisez le même sel pour tous les mots de passe, un attaquant peut précalculer une table arc-en-ciel et déchiffrer rapidement plusieurs mots de passe.
* Algorithme de hachage : Choisissez un algorithme de hachage solide et à jour comme bcrypt, Argon2 ou scrypt. Évitez les algorithmes plus anciens comme MD5 ou SHA-1, qui sont considérés comme non sécurisés.
* Automatisation : Automatisez autant de processus que possible à l'aide de langages de script (par exemple Python) et d'outils de sécurité. L'automatisation améliore l'efficacité et réduit le risque d'erreur humaine.
Exemple de scénario (simplifié) :
1. Acquérir les données de violation : Téléchargez un dump de violation de données à partir d’une source fiable.
2. Nettoyer et dédoublonner : Supprimez les entrées en double et formatez les adresses e-mail de manière cohérente.
3. Faire correspondre les noms d'utilisateur : Comparez les adresses e-mail contenues dans les données de violation avec les adresses e-mail des utilisateurs de votre base de données d'utilisateurs. Disons que 100 adresses e-mail correspondent.
4. Hachage et comparaison des mots de passe : Les données de violation contiennent des mots de passe en texte brut. Hachez et salez ces mots de passe en utilisant le même algorithme et le même sel que vous utilisez pour votre base de données d'utilisateurs. Comparez les hachages obtenus avec les mots de passe hachés dans votre base de données utilisateur. Disons que 30 des 100 comptes correspondants ont le même hachage de mot de passe.
5. Comptage : Vous disposez de 30 comptes compromis confirmés (mots de passe correspondants). Vous disposez également de 70 comptes potentiellement compromis (les noms d’utilisateur/e-mails correspondent, mais les mots de passe n’ont pas pu être confirmés).
6. Correction : Forcez la réinitialisation des mots de passe pour les 100 comptes et encouragez les utilisateurs à activer MFA.
En suivant ces étapes, vous pouvez comptabiliser efficacement les mots de passe trouvés, évaluer l'impact sur votre organisation et prendre les mesures appropriées pour atténuer les risques. N'oubliez pas qu'il s'agit d'un processus continu qui nécessite de la vigilance et une approche proactive en matière de sécurité.
|