L'attaque par force brute consiste à tester toutes les combinaisons possibles pour deviner un mot de passe. Ce guide détaille son fonctionnement, ses limites et les protections modernes comme la double authentification et les Passkeys. Découvrez comment vous prémunir efficacement contre ce type d'attaque.
Brute Force (attaque par force brute) est l'une des méthodes les plus simples pour deviner un mot de passe : un programme teste automatiquement de nombreuses combinaisons possibles jusqu'à trouver la bonne. Ce procédé, appelé attaque par force brute, ne nécessite aucune faille complexe : il suffit de pouvoir vérifier un grand nombre de combinaisons.
En pratique, l'efficacité de cette attaque dépend fortement de l'endroit où elle est réalisée. Les tentatives de connexion via un formulaire classique peuvent être limitées côté serveur, tandis qu'en cas de fuite de la base de hachages, la vérification peut se faire localement, bien plus rapidement. C'est pourquoi les systèmes modernes ne se contentent pas de complexifier les mots de passe, mais cherchent aussi à rendre les vérifications massives très lentes, voire inutiles.
Une attaque par force brute consiste à trouver les bonnes informations par une vérification systématique d'un grand nombre de possibilités. Lorsqu'il s'agit de mots de passe, le programme génère une combinaison, la teste, puis passe à la suivante si ce n'est pas la bonne.
L'atout principal de cette méthode pour l'attaquant est sa simplicité. L'algorithme n'a pas besoin de connaître la structure du mot de passe ou d'exploiter une faille. S'il existe un nombre fini de variantes et suffisamment de temps pour les tester, la bonne combinaison finira, en théorie, par être trouvée.
Mais, en pratique, le terme " en théorie " est crucial. Le nombre de mots de passe possibles peut croître si vite qu'un test exhaustif devient irréalisable, même avec un équipement puissant.
Imaginons un code à quatre chiffres. Pour chaque position, dix chiffres (de 0 à 9) sont possibles, soit 10 000 combinaisons (de 0000 à 9999). Un ordinateur peut toutes les vérifier une à une.
Si le mot de passe comporte huit chiffres, il y a déjà 100 millions de variantes. En ajoutant des lettres (majuscules et minuscules) et des caractères spéciaux, l'espace des combinaisons devient immense.
C'est pourquoi la longueur du mot de passe est si importante. Chaque caractère ajouté multiplie le nombre de possibilités par la taille du jeu de caractères utilisé.
Par exemple, avec 62 caractères disponibles (lettres majuscules, minuscules et chiffres), un mot de passe de 8 caractères offre déjà plus de 218 000 milliards de combinaisons.
La vitesse de vérification dépend aussi du contexte. Sur un site, il est impossible d'envoyer des millions de tentatives par seconde : le serveur peut ralentir les réponses, bloquer des adresses ou limiter le nombre d'essais. Mais en local, après une fuite de hachages, ces restrictions ne s'appliquent plus.
Tester toutes les combinaisons n'est pas toujours rationnel : les gens choisissent rarement des mots de passe totalement aléatoires. En réalité, les attaques commencent souvent par tester les variantes les plus probables.
L'attaque par dictionnaire utilise une liste préparée de mots et de mots de passe courants (password, qwerty, suites de chiffres, etc.). Sont aussi testées des modifications classiques : remplacement de lettres par des chiffres, ajout d'une année ou d'un caractère spécial, changement de casse... Un mot de passe qui semble complexe à cause d'une majuscule et d'un point d'exclamation peut tout de même correspondre à un schéma très répandu.
Au sens large, Brute Force désigne donc aussi bien le test exhaustif que des variantes plus optimisées : on commence par le plus probable et on élargit si besoin.
Il existe deux scénarios fondamentaux : via le service en ligne (formulaire d'authentification) ou localement après récupération d'une base de hachages. Cela impacte directement la vitesse de l'attaque et l'efficacité des protections.
L'attaque Brute Force en ligne passe par la page de connexion d'un site, d'une application ou d'un service. À chaque tentative, le système reçoit un identifiant et un mot de passe, les compare aux données enregistrées et renvoie le résultat.
La grande limite ici : la vitesse de vérification est contrôlée par le serveur. Même si l'ordinateur peut générer des millions de mots de passe, il ne pourra pas tous les envoyer d'un coup.
Le service peut limiter le nombre d'essais, ajouter des délais après quelques erreurs ou bloquer temporairement l'accès. Résultat : tester des millions de combinaisons peut prendre des années.
Les systèmes modernes analysent aussi la source des requêtes. Si de nombreuses erreurs viennent d'une même IP ou d'un même compte, ce comportement diffère de celui d'un utilisateur classique.
Ainsi, un test exhaustif en ligne est rarement efficace contre un service correctement configuré. Le principal danger concerne les systèmes sans limitation de tentatives ou avec des mots de passe très faibles.
Après une fuite de base de données, la situation change radicalement. Un service sécurisé ne conserve jamais le mot de passe en clair : il enregistre le hachage, c'est-à-dire le résultat d'une fonction cryptographique spéciale.
Lors de la connexion, le système hache le mot de passe saisi et compare le résultat à la valeur enregistrée. Après une fuite, l'attaquant peut vérifier en local autant de mots de passe qu'il veut, sans dépendre du serveur.
Il n'y a plus de limite de tentatives, de délais ou de blocages. La vitesse dépend alors de l'algorithme de hachage utilisé et de la puissance de calcul disponible.
La sécurité du stockage des mots de passe est donc aussi cruciale que celle du formulaire de connexion. Les systèmes modernes emploient des algorithmes conçus pour rendre chaque vérification coûteuse en ressources.
Pour en savoir plus sur le hachage des mots de passe et les protections en cas de fuite, découvrez notre guide sur le hachage des mots de passe.
Cependant, le hachage n'empêche pas complètement le Brute Force. Si l'utilisateur choisit un mot de passe court ou courant, il pourra être trouvé parmi les premiers essais. C'est pourquoi la défense repose sur plusieurs niveaux : mot de passe robuste côté utilisateur, stockage sécurisé côté service et limitations lors de l'authentification.
La rapidité d'une attaque dépend de plusieurs facteurs : longueur du mot de passe, taille du jeu de caractères, méthode de stockage et lieu de la vérification (serveur ou local).
Le même ordinateur pourra tester un grand nombre de variantes dans un scénario et très peu dans un autre. Plus l'espace de recherche est vaste et chaque essai coûteux, plus l'attaque devient difficile.
Le facteur clé est la longueur du mot de passe. Si chaque position peut être occupée par N symboles et que le mot de passe fait L caractères, le nombre de combinaisons est N^L.
Par exemple, un code à 4 chiffres offre 10 000 variantes. À 6 chiffres, on atteint 1 million, à 8 chiffres, 100 millions.
En utilisant lettres et chiffres (62 symboles), un mot de passe de 8 caractères compte plus de 218 000 milliards de combinaisons.
Augmenter la longueur est donc souvent plus efficace que d'ajouter un seul caractère spécial. Une phrase secrète de 14 à 16 caractères imprévisibles offre infiniment plus de possibilités qu'un mot de passe court avec plusieurs types de caractères.
Étendre le jeu de caractères augmente aussi le nombre de combinaisons. Un mot de passe avec uniquement des lettres minuscules (26 symboles) est beaucoup moins robuste qu'avec majuscules (52), ou chiffres (62).
Les caractères spéciaux élargissent encore le champ, mais ne garantissent pas la sécurité à eux seuls. Un mot courant suivi de " 1! " peut sembler complexe mais reste prévisible pour les programmes de brute force.
Les outils de Brute Force savent tenir compte des schémas répandus : remplacer " a " par " @ ", " o " par " 0 ", ajouter l'année en cours, une majuscule initiale ou un point d'exclamation final. La vraie robustesse réside donc dans l'imprévisibilité de l'ensemble.
Pour une attaque hors ligne, la vitesse dépend de la rapidité de calcul du hachage. Si l'algorithme est rapide, l'attaquant teste plus de mots de passe en moins de temps.
Pour cette raison, on utilise des algorithmes de hachage spécialisés, volontairement lents et gourmands en ressources. Leur but : rendre chaque essai coûteux et ralentir fortement l'attaque de masse.
On ajoute aussi une somme aléatoire (sel) au mot de passe avant le hachage. Ainsi, deux utilisateurs avec le même mot de passe n'ont pas forcément le même hachage enregistré.
Le sel n'augmente pas la complexité du mot de passe, mais empêche la création de tables de hachage universelles exploitables contre de nombreux comptes.
La résistance au Brute Force repose donc sur deux piliers : un mot de passe long et imprévisible côté utilisateur, et une vérification calculatoire coûteuse côté système. Plus ces deux niveaux sont solides, moins l'attaque par force brute est réaliste.
La protection contre le Brute Force ne repose pas sur un seul mécanisme. Même avec un mot de passe faible, le service peut considérablement compliquer la tâche des robots via des limitations de vitesse, des vérifications supplémentaires et la double authentification.
L'objectif est de priver le Brute Force de son atout majeur : la capacité à tester rapidement des millions de variantes.
La méthode la plus évidente : limiter le nombre d'essais. Après quelques erreurs, une pause est imposée, ce qui ralentit considérablement le Brute Force.
En cas de vérification instantanée, un programme pourrait envoyer des milliers de tentatives à la suite. Mais si, après plusieurs échecs, la prochaine tentative n'est possible qu'après quelques secondes ou minutes, même un petit espace de combinaisons devient très difficile à parcourir.
Certains services augmentent le délai progressivement. Après les premières erreurs, l'utilisateur ne remarque presque rien, mais la persistance d'une activité suspecte allonge les pauses.
Une autre option est le blocage temporaire du compte, de l'adresse IP ou de la source des requêtes. Une telle mesure doit cependant être utilisée avec précaution, car un attaquant pourrait volontairement bloquer des comptes tiers en envoyant de mauvais mots de passe.
Les systèmes modernes combinent donc plusieurs critères : nombre d'essais, fréquence, adresse IP, caractéristiques de l'appareil, historique de connexion...
Si une activité anormale est détectée, le système peut demander une vérification supplémentaire (CAPTCHA ou autre), freinant l'automatisation totale. L'attaquant doit alors surmonter cette étape, ce qui augmente le coût de l'attaque.
Les systèmes plus avancés ne montrent même pas toujours de CAPTCHA : ils analysent le comportement (fréquence, navigation, paramètres du navigateur/dispositif, etc.).
Un utilisateur légitime se trompe quelques fois puis réussit ou demande la réinitialisation du mot de passe. Un robot va envoyer des centaines de requêtes similaires, un comportement facilement détectable.
La réussite du Brute Force ne garantit pas l'accès si l'authentification à deux facteurs (2FA) est activée. Même avec le bon mot de passe, une étape supplémentaire est requise : code à usage unique, clé de sécurité physique ou validation sur un appareil de confiance.
Le mot de passe ne devient alors que le premier niveau de défense. Le simple fait de l'obtenir ne suffit plus à prendre le contrôle du compte.
Pour en savoir plus sur les différentes méthodes de double authentification et leur fiabilité, consultez notre guide sur la double authentification.
C'est la combinaison de limites de tentatives, d'analyse comportementale et d'authentification supplémentaire qui rend la force brute en ligne bien moins efficace. Au lieu de tester des millions de variantes, l'attaquant doit franchir plusieurs niveaux de défense indépendants.
Pour l'utilisateur, il s'agit surtout de rendre son mot de passe peu attractif pour le Brute Force et de limiter les conséquences en cas de compromission. La longueur, l'unicité et l'imprévisibilité du mot de passe sont primordiales, bien plus que la simple présence de caractères spéciaux.
Plus le mot de passe est long, plus il y a de combinaisons à tester. Une phrase secrète aléatoire ou un mot de passe généré est bien plus résistant qu'un mot de passe court, même avec chiffres, majuscules et symboles.
Il est essentiel d'utiliser des mots de passe différents pour chaque service. Si le même mot de passe est utilisé partout, une fuite met en danger tous les comptes associés.
Inutile de mémoriser des dizaines de mots de passe complexes : les gestionnaires de mots de passe génèrent et stockent ces données en toute sécurité.
La double authentification ajoute un niveau de sécurité après le mot de passe. Même si un attaquant obtient la bonne combinaison, il devra passer une étape supplémentaire.
Ce second facteur est particulièrement recommandé pour les emails, réseaux sociaux, services cloud, etc. Idéalement, privilégiez les applications d'authentification, clés de sécurité ou validations sur appareil de confiance. Les codes SMS restent utiles, mais comportent certaines limites et risques.
Une nouvelle approche consiste à se passer du mot de passe traditionnel. C'est le principe des Passkeys, qui reposent sur une paire de clés cryptographiques plutôt qu'un secret mémorisé et transmis au serveur.
Lors de la création d'une Passkey, une clé privée reste sur l'appareil de l'utilisateur, tandis que la clé publique est transmise au service. Au moment de la connexion, le serveur lance une demande et l'appareil valide avec la clé privée.
Il n'y a donc plus de mot de passe à deviner : le serveur ne détient aucune séquence secrète à tester. La validation passe généralement par le déverrouillage de l'appareil (code PIN, biométrie...).
Pour en savoir plus sur l'authentification sans mot de passe et les Passkeys, découvrez notre dossier sur l'authentification passwordless.
Les mots de passe ne vont pas disparaître immédiatement, mais la combinaison de mots de passe uniques et longs, de double authentification et le passage progressif aux Passkeys réduit fortement l'efficacité du Brute Force.
Brute Force reste l'une des méthodes d'attaque les plus évidentes : tester toutes les combinaisons jusqu'à trouver la bonne. Mais son efficacité dépend du contexte. En ligne, les délais serveur, blocages, CAPTCHA et l'analyse des comportements limitent fortement l'attaque. Hors ligne, la longueur du mot de passe et l'algorithme de hachage sont déterminants.
Pour l'utilisateur, la meilleure protection reste un mot de passe long, unique pour chaque service important, et l'activation de la double authentification. Là où les Passkeys sont disponibles, leur adoption réduit encore la dépendance aux mots de passe et rend le Brute Force quasiment inopérant.