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
(3 lettres minuscules,
2 chiffres)

( 53) × 263 × 102 =
17 576 000

17 576 000 / 2 000 000 000 =
0,008788 secondes

7 caractères
(1 majuscule,
6 minuscules)

( 71) × 261+6 =
56 222 671 232

56 222 671 232 / 2 000 000 000 =
28,111335616 secondes

8 caractères
(4 lettres minuscules,
2 caractères spéciaux,
2 chiffres)

( 84) × ( 42 ) × 264 × 322 × 102 =
19 653 623 808 000

19 653 623 808 000 / 2 000 000 000 =
9 826,811904 secondes =
≈ 2,73 heures

9 caractères
(2 majuscules,
3 minuscules,
2 chiffres,
2 caractères spéciaux)

( 92 ) × ( 73) × ( 42 ) × 262+3 × 102 × 322 =
9 197 895 942 144 000

9 197 895 942 144 000 / 2 000 000 000 =
4 598 947,971072 secondes =
≈ 53,23 jours

12 caractères
(3 majuscules,
4 minuscules,
3 caractères spéciaux,
2 chiffres)

( 123) × ( 94 ) × ( 53) × 263+4 × 323 × 102 =
7 295 525 784 083 496 960 000

7 295 525 784 083 496 960 000 / 2 000 000 000 =
3 647 762 892 041,74848 secondes =
≈ 115 590,63 ans

14 caractères
(4 lettres majuscules,
4 lettres minuscules,
3 chiffres,
3 caractères spéciaux)

( 144 ) × ( 104) × ( 63 ) × 264+4 × 103 × 323 =
28 768 690 008 569 256 345 600 000

28 768 690 008 569 256 345 600 000 / 2 000 000 000 =
14 384 345 004 284 628,1728 secondes =
≈ 455 812 387,64 ans

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