Une attaque par force brute (brute force attack) est une méthode qui consiste à tester systématiquement toutes les combinaisons possibles d'un mot de passe, d'une clé de chiffrement ou d'un identifiant jusqu'à trouver la bonne valeur. C'est l'approche la plus simple mais aussi la plus coûteuse en temps et en ressources.
Le temps nécessaire dépend directement de la longueur et de la complexité du mot de passe :
| Longueur | Jeu de caractères | Combinaisons | Temps estimé (10B essais/s) |
|---|---|---|---|
| 6 | minuscules | 308 millions | < 1 seconde |
| 8 | alphanumérique | 218 milliards | ~22 secondes |
| 12 | tous caractères | 19 quadrillions | ~60 000 ans |
| 16 | tous caractères | 10²⁸ | Infaisable |
Il existe plusieurs variantes de cette attaque :
- Force brute pure : teste toutes les combinaisons possibles
- Attaque par dictionnaire : utilise une liste de mots de passe courants
- Credential stuffing : réutilise des couples email/mot de passe issus de fuites de données
- Rainbow table : compare des hashes précalculés
Les contre-mesures côté développeur incluent le rate limiting, le verrouillage de compte après N tentatives, l'utilisation de CAPTCHA, et surtout le hachage avec des algorithmes lents comme bcrypt ou Argon2.
À retenir
La meilleure défense contre le brute force reste un mot de passe suffisamment long et aléatoire. Un mot de passe de 16+ caractères avec un bon aléa rend toute attaque par force brute infaisable en pratique.
Termes connexes : hachage, dictionnaire, rate limiting, bcrypt, Argon2.
