Comment fonctionnent les attaques par force brute
Pourquoi la longueur compte : exemples de calculs et contre-mesures.
Dans le cas des attaques par force brute, les pirates tentent de deviner un mot de passe en essayant systématiquement toutes les combinaisons de caractères possibles. Le principe est simple : tester le plus grand nombre possible de combinaisons par seconde, idéalement sur des GPU ou dans des systèmes distribués. On parle également de recherche exhaustive (exhaustive search).
Dans la pratique, ces attaques sont malheureusement souvent couronnées de succès, car de nombreux mots de passe sont trop courts, se limitent à quelques groupes de caractères (uniquement des lettres) ou figurent dans des listes de mots. Cela réduit considérablement l'espace de recherche et facilite le devinement. Plus important encore : on distingue les attaques en ligne (contre les formulaires de connexion, où la limitation du nombre de tentatives et le blocage des comptes sont utiles) et les attaques hors ligne (contre les hachages de mots de passe volés, où la fonction de hachage et la force du mot de passe déterminent le temps nécessaire à l'attaque).
Cracker des mots de passe (hors ligne) ≠ « décrypter »
Les mots de passe ne sont pas décryptés, mais enregistrés sous forme de valeurs de hachage, puis recherchés à l'aide de taux + hachage</ em> (force brute, attaques par dictionnaire/masque). La vitesse de calcul du matériel moderne se situe dans l'ordre des milliards par seconde (pour les procédures de hachage rapides), c'est pourquoi les mots de passe longs et hachés avec des lentes (par exemple Argon2, scrypt, PBKDF2, bcrypt) sont cruciales.
Combinaison et longueur du mot de passe
Les exemples suivants montrent l'influence de la longueur et du choix des caractères. À titre d'illustration, on calcule 2 milliards de tentatives par seconde (ordinateur individuel très puissant ; les valeurs réelles varient fortement en fonction du matériel et, dans le cas hors ligne, du procédé de hachage).
Groupes de caractères typiques :
- Chiffres (10 : 0-9)
- Lettres (52 : A-Z et a-z)
- Caractères spéciaux (≈ 32 ; dépend du jeu de caractères autorisé par le service)
Le nombre de combinaisons possibles est calculé comme suit :
Combinaisons possibles = (nombre de caractères)longueur du mot de passe
Important : le tableau indique le temps de recherche maximal. En moyenne, le temps réel est environ deux fois moins long. De plus, les attaques par dictionnaire, par règles et par masque réduisent considérablement l'espace de recherche, tandis que les algorithmes de hachage de mot de passe lents réduisent considérablement le taux effectif.
| Le mot de passe se compose de | Combinaisons possibles (formule) | Temps nécessaire (à 2 milliards/s) |
|---|---|---|
|
5 caractères |
( 53) ×
263 × 102 = |
17 576 000 / 2 000 000 000 = |
|
7 caractères |
( 71) ×
261+6 = |
56 222 671 232 / 2 000 000 000 = |
|
8 caractères |
( 84) × ( 42 ) × 264
× 322 × 102 = |
19 653 623 808 000 / 2 000 000 000 = |
|
9 caractères |
( 92 ) × ( 73) × ( 42 ) ×
262+3 × 102 × 322 = |
9 197 895 942 144 000 / 2 000 000 000 = |
|
12 caractères |
( 123) × ( 94 ) × ( 53) ×
263+4 × 323 × 102 = |
7 295 525 784 083 496 960 000 / 2 000 000 000 = |
|
14 caractères |
( 144 ) × (
104) × ( 63 ) ×
264+4 × 103 × 323 = |
28 768 690 008 569 256 345 600 000 / 2 000 000 000 = |
Conclusion : Chaque caractère supplémentaire multiplie l'espace de recherche. La longueur prime sur les règles de complexité, en particulier contre les attaques hors ligne, à condition que les services utilisent desalgorithmes de hachage lents et adaptés avec du sel.
Protection contre les attaques par force brute
La mesure utilisateur la plus efficace est un mot de passe principal long et aléatoire ou une phrase de passe (par exemple, plusieurs mots aléatoires) – unique pour chaque service. Password Depot aide à la générer et affiche un temps d'attaque estimé, qui tient compte non seulement de la longueur/du jeu de caractères, mais aussi des vulnérabilités du dictionnaire.
- Activer la MFA/2FA (par exemple, application TOTP ou jeton matériel) – lorsque cela est possible, les clés d'accès sont encore plus efficaces. Voir les conseils du BSI.
- Pas de recyclage des mots de passe. Chaque compte doit avoir son propre mot de passe fort.
- Longueur plutôt que complexité obligatoire. Les services doivent autoriser les mots de passe/phrases de passe longs (au moins 64 caractères) et bloquer les mots de passe compromis (liste noire).
- Procédés de hachage lents côté serveur (par ex. Argon2, scrypt, PBKDF2, bcrypt) avec salt et facteurs de travail appropriés ; les hachages rapides tels que MD5/SHA-1 ne sont ne conviennent pas au stockage des mots de passe.
- Limitation du débit/régulation et blocage : les attaques en ligne doivent être ralenties par un nombre limité de tentatives infructueuses, des temps d'attente progressifs et, si nécessaire, des CAPTCHA.
De plus, Password Depot complique les tentatives de taux en ligne en bloquant brièvement le masque de saisie du mot de passe principal après des saisies incorrectes, avec un temps d'attente croissant en cas de tentatives répétées.
Sources complémentaires
- NIST SP 800‑63B (Rev. 4), Annexe : Force des mots de passe – longueur, phrases de passe, attaques hors ligne (milliards de hachages/seconde) et concept de limitation du débit.
- NIST SP 800‑63B (Rev. 3) – entre autres, longueur minimale, autorisation des mots de passe longs (≥ 64), listes noires, autorisation du copier-coller ; limitation du débit/throttling avec une limite maximale de 100 tentatives infructueuses consécutives.
- OWASP Password Storage Cheat Sheet – Procédés appropriés (Argon2, scrypt, PBKDF2, bcrypt), facteurs Salt/Work.
- OWASP Authentication Cheat Sheet – Directives relatives à la saisie des mots de passe, à leur longueur, aux listes noires et aux mécanismes de verrouillage.
- BSI : créer des mots de passe sécurisés – notamment des mots de passe et phrases de passe longs/complexes ; conseils pratiques.
- Communiqué de presse du BSI du 31 janvier 2025 – Pas de changement régulier obligatoire des mots de passe ; privilégier l'authentification à deux facteurs (2FA) et les clés d'accès.
- distributed.net RC5 / statut actuel du proxy – Exemple illustratif de recherche exhaustive et de puissance de calcul distribuée.