Vous avez probablement croisé le terme à côté de la force brute, dans une liste de façons de casser les mots de passe. C'est l'étiquette qui trompe. Une attaque par dictionnaire n'a presque rien à voir avec un dictionnaire, et comprendre ce que contient réellement la liste explique pourquoi certains mots de passe d'apparence solide tombent en quelques secondes.
Ce que fait réellement l'attaque
Une attaque par dictionnaire devine les mots de passe à partir d'une liste préparée de candidats au lieu de parcourir toutes les combinaisons de caractères possibles. L'attaquant prend une empreinte volée, hache chaque candidat à son tour, et s'arrête quand deux valeurs coïncident.
Voilà tout le mécanisme, et sa puissance tient entièrement à l'ordre. Une attaque par force brute est exhaustive et indifférente : elle trouvera votre mot de passe un jour, et face à un mot de passe long, un jour signifie jamais en pratique. Une attaque par dictionnaire est sélective. Elle dépense chaque essai sur quelque chose qu'un être humain a plausiblement choisi, donc soit elle gagne vite, soit elle ne gagne pas du tout.
Les deux attaques sont donc limitées par des propriétés différentes de votre mot de passe. La force brute est battue par la longueur. L'attaque par dictionnaire est battue par l'imprévisibilité. Ce ne sont pas la même chose, et un mot de passe peut être fort contre l'une et sans défense contre l'autre.
Les listes ne sont pas des dictionnaires
Voici la partie qu'on oublie. Une liste d'attaque moderne n'est pas construite à partir d'un dictionnaire de langue. Elle est construite à partir des mots de passe que de vraies personnes ont déjà utilisés, récoltés dans des fuites précédentes.
Chaque grande fuite devient de la matière première. Les entrées sont ensuite classées selon la fréquence d'apparition de chaque mot de passe dans les données réelles, si bien que la liste n'est pas alphabétique mais ordonnée par vraisemblance, du plus courant au plus rare. Des collections publiques assemblées de cette façon sont librement disponibles, et elles servent aussi couramment aux tests de sécurité légitimes qu'aux attaques.
Cela a une conséquence sur laquelle il vaut la peine de s'arrêter. Un mot de passe apparu dans n'importe quelle fuite, n'importe où, n'est pas affaibli seulement sur ce site. Il a rejoint la liste, et il est désormais en tête de file pour toute attaque future contre n'importe qui. C'est pourquoi « ce mot de passe a-t-il été exposé » est une question plus utile que « ce mot de passe a-t-il l'air solide ».

Les règles : comment un mot devient des milliers d'essais
Les outils de cassage ne s'arrêtent pas aux mots de la liste. Ils appliquent des règles de dérivation, des transformations appliquées à chaque entrée pour engendrer des variantes. Les plus courantes sont exactement celles que vous devineriez, et c'est bien le problème :
- mettre la première lettre en majuscule
- ajouter un chiffre, une année, ou
123 - coller un
!à la fin - remplacer des lettres par des symboles ressemblants,
aen@,een3,sen$ - inverser le mot, ou le répéter
Relisez cette liste en pensant à un site qui vous annonce que votre mot de passe doit contenir une majuscule, un chiffre et un caractère spécial. Les règles existent à cause de cette exigence. Elles sont la description de la façon dont les gens y répondent.
Password1! et P@ssw0rd ne sont pas malins. Ce sont les deux premières règles appliquées au mot le plus courant de toutes les listes, et ils sont essayés dans les premiers instants d'une attaque plutôt qu'à la fin. Une attaque hybride ou combinatoire va un cran plus loin et assemble des paires d'entrées, ce qui met aussi les mots de passe en deux mots à portée.
En ligne et hors ligne, deux situations différentes
Le mot « attaque » recouvre deux scénarios qui ne se ressemblent pas.
En ligne, contre un formulaire de connexion réel, l'attaquant devine à travers le site lui-même. La limitation du débit, le verrouillage des comptes et la détection rendent la devinette soutenue impraticable, et c'est pourquoi les attaquants qui veulent travailler à grande échelle basculent plutôt vers le credential stuffing ou la pulvérisation de mots de passe : moins d'essais, répartis sur beaucoup de comptes, pour rester sous le seuil d'alerte.
Hors ligne, contre une base d'empreintes volée, aucun de ces freins n'existe. L'attaquant a les empreintes sur son propre matériel et peut deviner aussi vite que la fonction de hachage le permet. C'est ce dernier détail qui décide de l'issue. Des fonctions de hachage rapides et généralistes comme MD5 ou SHA-1 sans sel se testent à des cadences énormes sur du matériel graphique ordinaire. Des fonctions conçues pour être délibérément lentes et gourmandes en mémoire, comme bcrypt, scrypt ou Argon2, effondrent cette cadence de plusieurs ordres de grandeur et transforment un week-end de cassage en opération non rentable.
Vous ne choisissez pas laquelle le site a retenue. Vous l'apprenez après coup, ce qui est l'argument en faveur du pire scénario par défaut.
Comment s'en défendre réellement
La défense n'est pas plus de complexité. C'est moins de prévisibilité, plus l'absence totale de réutilisation.
Un mot de passe engendré au hasard par un logiciel n'a aucun rapport avec une liste et aucune règle ne le produit : l'attaque n'a donc rien à essayer, sinon la force brute exhaustive, où c'est la longueur qui prend le relais comme protection. C'est la réponse pratique pour presque tous les comptes, et c'est pourquoi un gestionnaire de mots de passe compte davantage que n'importe quelle règle sur les symboles.
Si vous voulez quelque chose que vous puissiez vraiment taper de mémoire, une phrase secrète fonctionne, mais à une condition : les mots doivent être choisis au hasard par une machine. Une phrase que vous avez composée suit les tournures de votre langue et vos habitudes. Une phrase tirée d'une parole de chanson, d'une réplique de film ou d'un livre circule déjà telle quelle. Le hasard doit venir d'ailleurs que de votre tête.
Et l'unicité fait le reste. Si chaque compte a son propre mot de passe, un site qui stocke mal ses empreintes et se fait casser vous coûte exactement un compte au lieu de tous.
★ Audit Cure53 2024 · ✓ Plan gratuit · Cross-platform
Générez des mots de passe qu'aucune liste ne contient → NordPassGénérateur aléatoire · un mot de passe unique par site · scanner de fuites · offre gratuite→Sa place parmi les autres attaques
- Force brute : essaie toutes les combinaisons, en direct. Battue par la longueur. Voir ce qu'est une attaque par force brute.
- Attaque par dictionnaire : essaie une liste classée de mots de passe probables et leurs variantes par règles. Battue par l'imprévisibilité.
- Rainbow table : précalcule le travail de hachage et consulte le résultat. Battue par le salage. Voir ce qu'est une rainbow table.
- Credential stuffing : rejoue de vraies paires identifiant et mot de passe fuitées. Battu par l'unicité. Voir ce qu'est le credential stuffing.
On les décrit d'habitude comme quatre techniques. Il vaut mieux les lire comme quatre paris différents sur l'allure de votre mot de passe, et la seule façon de faire perdre les quatre est d'avoir un mot de passe long, unique, que rien ni personne n'a prévu.
★ Audit Cure53 2024 · ✓ Plan gratuit · Cross-platform
Verrouille tes comptes → NordPassMots de passe forts et uniques · scanner de fuites · offre gratuite→Questions fréquentes
Qu'est-ce qu'une attaque par dictionnaire ?
Une attaque par dictionnaire est une attaque de devinette de mots de passe qui parcourt une liste préparée de mots de passe probables au lieu d'essayer toutes les combinaisons de caractères possibles. Chaque candidat est haché puis comparé à la cible. C'est bien plus rapide que la force brute parce que le temps est dépensé sur des mots de passe que les gens choisissent réellement, et cela réussit ou échoue selon que votre mot de passe ressemble ou non à un mot de passe que quelqu'un d'autre a déjà utilisé.
Est-ce la même chose que la force brute ?
Non, et la différence est l'ordre de recherche. Une attaque par force brute est exhaustive : elle parcourt toutes les combinaisons et finira par réussir si on lui laisse assez de temps. Une attaque par dictionnaire est sélective : elle essaie une liste choisie et abandonne quand la liste est épuisée. La force brute est limitée par la longueur de votre mot de passe, l'attaque par dictionnaire par sa prévisibilité, et c'est pourquoi une chaîne courte et aléatoire peut survivre à l'une tandis qu'une longue phrase mémorable tombe face à l'autre.
D'où viennent les listes de mots des attaquants ?
Surtout de fuites précédentes, pas de dictionnaires de langue. Chaque grande fuite de mots de passe devient de la matière première, et les listes obtenues sont triées selon la fréquence d'apparition de chaque mot de passe dans les données réelles, si bien que les candidats les plus courants sont essayés en premier. Des collections publiques construites ainsi sont librement disponibles et servent couramment aux tests de sécurité comme aux attaques. C'est aussi pourquoi un mot de passe exposé dans une fuite est concrètement grillé partout.
Les règles de dérivation rendent-elles les mots de passe complexes sûrs ?
Non. Les outils de cassage appliquent des règles de transformation à chaque mot de la liste : mettre la première lettre en majuscule, ajouter un chiffre ou une année, coller un point d'exclamation, remplacer des lettres par des symboles ressemblants. Ces règles existent précisément parce qu'elles décrivent ce que font les gens quand un site exige une majuscule, un chiffre et un caractère spécial. Un mot de passe produit en suivant les exigences de complexité se trouve en général à l'intérieur de l'espace de recherche, pas en dehors.
Comment se protéger d'une attaque par dictionnaire ?
Rendez votre mot de passe imprévisible plutôt que compliqué, et ne le réutilisez jamais. Une longue chaîne générée au hasard par un gestionnaire de mots de passe n'a aucun rapport avec une liste, et un mot de passe unique fait qu'une fuite chez un site ne peut pas être rejouée ailleurs. Si vous préférez une phrase secrète, les mots doivent être tirés au hasard par une machine, car une phrase que vous avez composée vous-même, ou reprise d'une chanson ou d'un film, circule déjà.



