Sécurité des mots de passe : failles, attaques et bonnes pratiques

Introduction

Les mots de passe font partie de notre quotidien. Nous les utilisons partout ; pour accéder à nos emails, nos réseaux sociaux, nos comptes bancaires, etc.

Pourtant, ils restent l’une des failles les plus exploitées par les attaquants. En 2023, plus de 80 % des violations de données étaient liées à des mots de passe compromis. Et un mot de passe compromis peut coûter cher. Vol de données, pertes financières, ou atteinte à la réputation, les conséquences sont nombreuses.

Dans cet article, nous passerons en revue les bonnes pratiques pour sécuriser vos mots de passe. Nous reviendrons également sur les failles et attaques courantes ainsi que sur les techniques permettant de compromettre la sécurité des mots de passe.

Guide complet sur la sécurité des mots de passe

Pourquoi la sécurité des mots de passe est cruciale ?

La sécurité des mots de passe est un enjeu central. Chaque jour, des milliards de personnes utilisent des mots de passe pour accéder à leurs comptes en ligne ou gérer des ressources sensibles.

Pourtant, ces mots de passe, essentiels à la protection de nos données, sont aussi l’une des cibles préférées des attaquants.

En effet, les mots de passe compromis sont à l’origine de la majorité des violations de données. En exploitant des failles simples, comme des mots de passe trop courts ou des réutilisations sur plusieurs plateformes, les attaquants parviennent souvent à accéder à des informations critiques sans avoir recours à des techniques complexes.

Ce phénomène est amplifié par la multiplication des comptes. À force d’accumuler des identifiants, les utilisateurs tombent dans des habitudes risquées : mémoriser un seul mot de passe pour plusieurs services ou choisir des termes faciles à retenir, mais vulnérables aux attaques automatisées.

Pour les entreprises, la mauvaise gestion des mots de passe peut avoir des conséquences désastreuses. Un mot de passe mal protégé peut permettre à un attaquant d’accéder à des bases de données sensibles, de détourner des fonds ou de compromettre des systèmes entiers. Les conséquences ne se limitent pas aux pertes financières. Elles incluent aussi des sanctions légales, comme celles imposées par des réglementations telles que le RGPD, et des dommages à la réputation.

De plus, les attaquants innovent constamment. Attaques par dictionnaire, brute force ou phishing, les méthodes pour voler ou deviner des mots de passe se multiplient.

Comprendre pourquoi les mots de passe sont vulnérables et apprendre à mieux les sécuriser est une étape incontournable pour se protéger. Cela implique non seulement de connaître les failles les plus courantes, mais aussi de mettre en place des stratégies adaptées pour renforcer cette barrière essentielle entre nos données et les attaquants.

Comprendre les failles et attaques courantes sur les mots de passe, ainsi que les bonnes pratiques sécurité

Les mots de passe sont au centre des systèmes d’information. Lorsqu’ils sont mal choisis, mal stockés ou mal protégés, ils deviennent une cible facile pour les attaquants.

Ces derniers utilisent des techniques d’attaques variées.

L’une des failles les plus répandues dans la sécurité des mots de passe est l’utilisation de mots de passe faibles.

Ces derniers sont généralement à la fois faciles à mémoriser et à compromettre par des attaquants.

Les mots de passe faibles incluent souvent des suites de chiffres, des mots courants, des informations personnelles évidentes ou des combinaisons prévisibles de lettres et de chiffres.

Par exemple, un mot de passe simple, comme « 123456 » ou « password », peut être compromis en quelques secondes par une attaque brute force.

Qu’est-ce qu’une attaque brute force ?

Les attaques brute force consistent à tester toutes les combinaisons possibles d’un mot de passe jusqu’à trouver la bonne.

Cette méthode repose sur la capacité des ordinateurs modernes à effectuer des calculs massifs très rapidement. Plus le mot de passe est simple ou court, plus cette méthode est efficace.

Pour lancer une attaque brute force, les hackers utilisent des logiciels comme Hydra, John the Ripper ou Hashcat.

Ces outils peuvent essayer des millions de combinaisons par seconde, notamment lorsque le mot de passe est mal protégé ou stocké avec des algorithmes de hachage obsolètes comme MD5 ou SHA1.

Imaginons un mot de passe de 6 caractères composé uniquement de lettres minuscules. Il existe, grosso modo, 308 millions combinaisons possibles.

Avec un ordinateur standard, il suffirait de quelques heures pour trouver la combinaison correcte. Si ce mot de passe est allongé à 20 caractères, le nombre de combinaisons augmente de façon exponentielle ; rendant une attaque brute force difficile voire impossible.

Comment se protéger ?

Choisir des mots de passe forts

Pour contrer une attaque par brute force, il est crucial de mettre en place une politique de mots de passe efficace.

Le critère essentiel est la longueur du mot de passe. Plus un mot de passe est long, plus il sera difficile à deviner lors d’une telle attaque.

Malheureusement, ce critère est souvent ignoré. Les entreprises imposent encore des règles inefficaces et parfois dangereuses, comme celles exigeant des mots de passe d’au moins 8 caractères avec une majuscule, un chiffre et un caractère spécial. Ces directives donnent un faux sentiment de sécurité.

Prenons l’exemple du mot de passe : P@ssword2024!. Selon les règles classiques, il est considéré comme sécurisé. Pourtant, il reste facilement cassable par brute force.

En revanche, un mot de passe (phrase de passe) comme « monmotdepasseestsecureetjetemetsaudefideledeviner », bien qu’il n’ait ni majuscule, ni chiffre, ni caractère spécial, est bien plus robuste grâce à sa longueur.

Pour garantir la sécurité, privilégiez des mots de passe d’au moins 15 à 20 caractères, quel que soit le type de caractères utilisés. Évitez cependant les suites évidentes comme « 12345678910111213″.

La longueur est la clé d’un mot de passe sûr et résistant.

Bannir les politiques d’expiration de mots de passe

Les politiques d’expiration des mots de passe visent à encourager des changements réguliers pour limiter les risques de fuite.

Cela semble, en théorie, être une bonne mesure de sécurité.

Cependant, dans la pratique, ces politiques poussent souvent les utilisateurs à adopter de mauvais comportements. Ils créent des mots de passe simples et faciles à deviner, juste pour se conformer rapidement à la règle. Par exemple, ils modifient à peine leur ancien mot de passe en ajoutant un chiffre ou un caractère, ce qui rend leur sécurité encore plus fragile.

Pour cette raison, il est préférable d’abandonner ces politiques d’expiration systématique. Une meilleure approche consiste à inciter les utilisateurs à créer des mots de passe longs et complexes dès le départ. Cela garantit une sécurité plus durable et réduit les risques liés à des habitudes contre-productives.

Implémenter un Rate Limiting

Le Rate Limiting est une mesure efficace pour protéger les mots de passe et contrer les attaques par brute force. Cette méthode consiste à limiter le nombre de tentatives de connexion qu’un utilisateur ou une adresse IP peut effectuer dans un laps de temps donné.

En réduisant le rythme des tentatives, on complique considérablement la tâche des attaquants qui essaient de deviner des mots de passe en testant de multiples combinaisons.

Par exemple, si un attaquant essaie de forcer l’accès à un compte, un système de Rate Limiting peut bloquer ses tentatives après cinq essais infructueux en une minute. Ce blocage temporaire ralentit l’attaque et réduit son efficacité.

Une implémentation classique consiste à fixer des seuils de tentatives, avec des délais croissants entre chaque nouvelle tentative après échec. Par exemple, après cinq échecs, l’accès est bloqué pendant 30 secondes, puis une minute, et ainsi de suite. Cela protège les comptes tout en évitant de pénaliser les utilisateurs légitimes qui font des erreurs de saisie.

Mettre en place l’authentification multifacteur

L’authentification multifacteur est une méthode essentielle pour sécuriser les comptes utilisateurs. Elle ajoute une couche supplémentaire de protection en exigeant une deuxième preuve d’identité après la saisie du mot de passe.

Même si un attaquant parvient à obtenir un mot de passe, il lui sera très difficile d’accéder au compte sans le second facteur.

L’authentification multifacteur repose sur l’utilisation de deux éléments distincts : quelque chose que l’utilisateur connaît (mot de passe), possède (smartphone, clé USB de sécurité) ou est (empreinte digitale, reconnaissance faciale). Par exemple, après avoir saisi son mot de passe, un utilisateur peut devoir entrer un code reçu par SMS ou généré par une application comme Google Authenticator.

Ce système est particulièrement efficace contre les attaques classiques, comme le phishing ou le credential stuffing, où seuls les mots de passe sont ciblés. Même en cas de compromission du mot de passe, l’accès reste bloqué sans le second facteur.

La réutilisation des mots de passe est l’une des pratiques les plus risquées en cybersécurité. Pourtant, elle reste courante.

À force de multiplier les comptes en ligne, de nombreux utilisateurs préfèrent mémoriser un seul mot de passe qu’ils réutilisent sur plusieurs plateformes.

Cette habitude crée une vulnérabilité majeure, exploitée par des attaques spécifiques comme le credential stuffing et le password spraying.

Qu’est-ce que le Credential Stuffing ?

Le Credential Stuffing est une méthode d’attaque où des attaquants utilisent des combinaisons de noms d’utilisateur et de mots de passe volées lors de précédentes fuites de données pour tenter de se connecter à d’autres comptes en ligne.

Cette technique repose sur une réalité alarmante : beaucoup d’utilisateurs réutilisent les mêmes identifiants sur plusieurs services.

L’attaquant automatise ces tentatives en utilisant des outils spécialisés capables de tester des milliers de combinaisons en très peu de temps. Par exemple, si un utilisateur a utilisé le même mot de passe pour son compte e-mail et pour un service de streaming, et que ce mot de passe a été exposé lors d’une fuite, l’attaquant peut potentiellement accéder aux deux comptes.

Comprendre les principes du Password Spraying

Le Password Spraying est une technique d’attaque où un attaquant tente de se connecter à de nombreux comptes en utilisant une poignée de mots de passe courants ou faibles.

Contrairement au Credential Stuffing, qui exploite des mots de passe spécifiques volés lors de fuites de données, le Password Spraying mise sur l’utilisation de mots de passe génériques pour cibler un grand nombre d’utilisateurs.

Les attaquants testent des mots de passe courants comme 123456, password, ou welcome2024 sur des milliers de comptes. Cette méthode repose sur une règle simple : essayer les mots de passe un à un sur plusieurs comptes au lieu de tenter de nombreuses combinaisons sur un seul compte.

Cela permet à l’attaquant d’éviter les blocages automatiques souvent déclenchés par des tentatives infructueuses répétées sur un même compte.

Mesures pour prévenir le Credential Stuffing et le Password Spraying

Créer des mots de passe uniques pour chaque compte

Réutiliser le même mot de passe sur plusieurs plateformes est une erreur majeure, car une seule fuite peut compromettre plusieurs comptes. La solution est simple : utiliser des mots de passe uniques et robustes pour chaque service.

Cependant, retenir de nombreux mots de passe complexes peut devenir un casse-tête. Les gestionnaires de mots de passe offrent une solution pratique et sécurisée. Ces outils génèrent, stockent et remplissent automatiquement des mots de passe forts, ce qui simplifie leur gestion et évite la tentation de réutiliser des mots de passe faibles ou identiques.

Surveiller les fuites de données

Les fuites de données alimentent directement les attaques de Credential Stuffing. Des millions de combinaisons d’identifiants et de mots de passe circulent sur des forums ou sont vendues sur le dark web.

La surveillance proactive de ces fuites est une stratégie cruciale pour se protéger.

Have I Been Pwned est une plateforme populaire qui permet de vérifier si vos adresses e-mail ou identifiants ont été exposés dans une fuite. En entrant une adresse e-mail, l’outil analyse les bases de données connues et informe si des informations associées à cette adresse ont été compromises.

Qu’entend-t-on par stockage des mots de passe en clair ?

Le stockage en clair consiste à conserver les mots de passe des utilisateurs dans une base de données ou un fichier sans aucune forme de chiffrement ou de protection.

Cela signifie que quiconque accède à cette base peut lire les mots de passe dans leur format original, tels qu’ils ont été saisis par les utilisateurs.

Ainsi, un attaquant, via l’exploitation réussie d’une injection SQL par exemple, peut accéder à la base de données et extraire les mots de passe en clair. Cela lui permet d’utiliser directement ces informations pour se connecter à des comptes ou les exploiter dans des attaques comme le Credential Stuffing.

Le problème ne s’arrête pas là. Si la base de données est compromise, les mots de passe exposés deviennent accessibles à n’importe qui, parfois même publiés sur Internet. Cette situation aggrave les risques, non seulement pour les utilisateurs du service initial, mais aussi pour tous les autres comptes où les mots de passe ont été réutilisés.

De plus, le stockage en clair empêche toute vérification sécurisée. Par exemple, un administrateur malveillant ou un employé avec des privilèges d’accès pourrait lire les mots de passe des utilisateurs.

Comment sécuriser le stockage des mots de passe ?

Sécuriser le stockage des mots de passe est essentiel pour empêcher les compromissions massives. L’objectif est de rendre les mots de passe illisibles et inutilisables, même en cas de fuite ou d’accès non autorisé à la base de données.

Pour ce faire, ils doivent être transformés en une forme illisible grâce à des algorithmes de hachage. Ces algorithmes, comme Argon2, bcrypt ou PBKDF2, génèrent une empreinte unique du mot de passe, appelée hash.

Contrairement au chiffrement, le hachage est unidirectionnel : il n’est pas possible de retrouver le mot de passe original à partir du hash.

Et pour renforcer la sécurité, il est impératif d’ajouter un sel (salt) à chaque mot de passe. Le salt est une chaîne de caractères aléatoire ajoutée avant ou après le mot de passe avant le hachage. Il empêche l’utilisation de tables de correspondance pré-calculées, comme les rainbow tables, qui permettent de retrouver des mots de passe à partir de leurs empreintes.

Par exemple, au lieu de hacher simplement « monmotdepasseestsecureetjetemetsaudefideledeviner », le système génère un salt aléatoire, comme « Z7x!d# », et hache la combinaison « Z7x!d#monmotdepasseestsecureetjetemetsaudefideledeviner ». Même si un autre utilisateur choisit le même mot de passe, le hash généré sera différent grâce au salt.

L’utilisation de l’algorithme Argon2 est aujourd’hui recommandée. Ce dernier est conçu pour être résistant aux attaques brute force en rendant chaque tentative de calcul coûteuse en termes de temps et de ressources.

Enfin, il est important de protéger la base de données elle-même. L’accès doit être limité aux seuls utilisateurs et services autorisés. Les communications entre les systèmes doivent être chiffrées, et les journaux d’accès régulièrement audités. Une surveillance proactive permet de détecter rapidement toute tentative d’accès non autorisé.

La réinitialisation des mots de passe est une fonctionnalité essentielle pour permettre aux utilisateurs de récupérer l’accès à leurs comptes.

Cependant, elle est aussi une cible fréquente pour les attaquants. Parmi les risques courants, on trouve l’exploitation de liens de réinitialisation mal sécurisés. Par exemple, si ces liens contiennent des paramètres manipulables par un utilisateur malveillant, ils peuvent être utilisés pour rediriger des victimes vers des sites frauduleux.

De plus, des tokens générés de manière prévisible ou n’expirant pas rapidement augmentent considérablement les risques d’exploitation.

Pour limiter ces menaces, il est crucial d’utiliser des tokens uniques, aléatoires et ayant une durée de validité limitée. Les paramètres qui permettent de construire les URL de réinitialisation doivent être strictement contrôlés côté serveur pour éviter tout détournement.

Il est également recommandé de supprimer toute trace des secrets ou tokens des fichiers de logs des serveurs. Une solution consiste à encapsuler ces informations dans une partie de l’URL non transmise au serveur, par exemple après un dièse (#), nécessitant une logique côté client pour les traiter.

Pour plus d’informations, vous pouvez consulter notre article dédié : Réinitialisation de mots de passe : exploitations et bonnes pratiques sécurité.

Autres mesures pour protéger les mots de passe

Protéger les mots de passe ne se limite pas à leur complexité ou leur gestion technique. Il est crucial d’adopter une approche globale, en renforçant à la fois les systèmes et les comportements humains.

Deux mesures complémentaires s’imposent : appliquer le principe du moindre privilège et sensibiliser les utilisateurs.

Le principe du moindre privilège consiste à limiter les droits d’accès des utilisateurs et des systèmes aux ressources strictement nécessaires pour accomplir leurs tâches. En d’autres termes, chaque utilisateur ou service ne devrait avoir accès qu’aux données ou fonctionnalités indispensables à ses besoins.

Par exemple, un employé ayant des responsabilités administratives n’a pas besoin d’accéder aux mots de passe chiffrés stockés dans la base de données. De même, les applications ou services externes connectés à vos systèmes doivent bénéficier d’autorisations minimales pour éviter qu’une faille ne compromette l’ensemble du réseau. Cette mesure réduit l’impact potentiel en cas de compromission d’un compte ou d’un service.

La mise en œuvre peut inclure des contrôles rigoureux des rôles et des autorisations dans les systèmes informatiques, ainsi que des audits réguliers pour identifier et corriger les excès de privilèges. Combinée à une surveillance accrue des activités suspectes, cette stratégie limite les opportunités pour les attaquants.

Les technologies ne suffisent pas si les utilisateurs n’adoptent pas les bons comportements. La sensibilisation est une pierre angulaire de la sécurité des mots de passe. De nombreux incidents de sécurité proviennent d’erreurs humaines, comme le partage de mots de passe, leur stockage dans des endroits non sécurisés ou l’utilisation répétée de mots de passe faibles.

Les programmes de sensibilisation doivent expliquer clairement les dangers des pratiques risquées et l’importance des mots de passe uniques, longs et robustes. Il est également essentiel de promouvoir l’utilisation de gestionnaires de mots de passe pour minimiser les erreurs.

Des campagnes régulières de formation, appuyées par des exemples concrets d’attaques (comme le credential stuffing), permettent de renforcer les connaissances. Par exemple, une simulation d’attaque de phishing peut démontrer l’importance de ne pas divulguer ses identifiants.

Conclusion

La sécurité des mots de passe est une responsabilité partagée entre les utilisateurs et les organisations.

Les failles courantes, qu’il s’agisse de mots de passe faibles, réutilisés ou mal stockés, offrent une porte d’entrée facile aux attaquants. Les attaques comme le credential stuffing ou le password spraying exploitent ces vulnérabilités avec une efficacité redoutable.

Face à ces menaces, des mesures techniques comme le chiffrement sécurisé, le rate limiting, et l’authentification multifacteur jouent un rôle clé.

Cependant, les solutions techniques ne suffisent pas à elles seules. Appliquer le principe du moindre privilège réduit les risques d’exploitation des comptes internes, tandis que la sensibilisation des utilisateurs reste essentielle pour limiter les erreurs humaines. Former et accompagner les utilisateurs dans l’adoption de bonnes pratiques, comme la création de mots de passe uniques et robustes avec des gestionnaires dédiés, complète cette approche.

En intégrant ces stratégies dans une démarche globale, il est possible de réduire considérablement les risques liés aux mots de passe. La sécurité ne se limite pas à une simple contrainte, mais devient un véritable levier résilience face aux cyberattaques.

Auteur : Amin TRAORÉ – CMO @Vaadata