La force brute

Attaques par force brute et protections

Les identifiants (nom d’utilisateur et mot de passe) restent l’un des mécanismes de cybersécurité les plus utilisés. On peut les voir comme la serrure d’une porte : tant qu’elle tient, l’accès est contrôlé. Le problème, c’est que cette serrure repose souvent sur quelque chose de fragile : un secret choisi par un humain.

Deux réalités à garder en tête :

  • un mot de passe peut être deviné,
  • un mot de passe peut être volé, puis réutilisé ailleurs.

C’est là qu’interviennent les attaques par force brute. Elles exploitent le fait que beaucoup de systèmes acceptent encore un grand nombre de tentatives d’authentification.

 

Principe

Une attaque par force brute consiste à tester un grand nombre de combinaisons jusqu’à tomber sur la bonne. Exactement comme essayer toutes les clés d’un trousseau, mais à une vitesse inhumaine grâce à l’automatisation.

clés

 

Principales variantes d’attaques

  • Force brute classique : l’attaquant teste systématiquement des combinaisons de noms d’utilisateur et de mots de passe. C’est simple, mais inefficace si ceux-ci sont longs et bien protégés.

  • Attaque par dictionnaire : ici, on ne teste pas tout au hasard mais des listes de mots de passe courants (password, azerty123, welcome2026…). Cette méthode est redoutable contre les mots de passe faibles.

  • Force brute inversée : on part d’un mot de passe connu ou supposé courant et on l’essaie sur un grand nombre de comptes ou de services différents.

  • Bourrage d’identifiants (credential stuffing) : très répandu aujourd’hui. Des identifiants récupérés lors de fuites de données sont testés automatiquement sur d’autres plateformes. Cette attaque fonctionne surtout parce que beaucoup d’utilisateurs réutilisent leurs mots de passe.

À noter que la force brute ne concerne pas uniquement les mots de passe. Les clés de chiffrement faibles peuvent aussi être cassées par recherche exhaustive, même si cela devient de moins en moins réaliste avec les algorithmes modernes bien configurés.

Manuellement, une attaque par force brute serait interminable. En pratique, tout est automatisé : il existe de scripts prêts à l’emploi, des botnets, des services cloud loués à l’heure, des cartes graphiques très puissantes…

Le lien avec les cartes graphiques peut vous laisser perplexe. Il faut savoir qu’en principe le système ne stocke pas un mot de passe en clair mais une empreinte de celui-ci : le hash. Si un attaquant réussit à voler une base de données de hash (par exemple la base SQL d’un site web), il teste des mots de passe candidats en calculant leur hash pour comparer le résultat avec ceux qu’il a en sa possession. Bien que non conçus pour cela, les GPU (processeurs graphiques) permettent de tester en même temps des milliers de possibilités car ils sont très bons pour faire les mêmes calculs des millions de fois. Certains algorithmes de hachage sont conçus pour les ralentir, utiliser beaucoup de mémoire et donc réduire l’intérêt des GPU.

 

Outils couramment utilisés

Certains outils sont connus du grand public… et aussi des professionnels de la sécurité car ils servent aux tests d’intrusion et aux audits.

Parmi les plus célèbres : Aircrack-ng (wifi), Hashcat (craquage de hash avec GPU), John the Ripper, Ophcrack, THC Hydra (attaques en ligne sur services réseau) …

Ces outils ne sont pas « bons » ou « mauvais » en soi. Tout dépend qui les utilise et dans quel cadre. En entreprise, ils servent à identifier les faiblesses avant que quelqu’un d’autre ne les exploite.

 

Mesures de protection

Aucune défense unique n’est suffisante. On parle toujours de défense en profondeur.

Hachage et salage (incontournable). Le hachage est une opération qui transforme une donnée (notamment un mot de passe) en une empreinte unique et irréversible, utilisée pour vérifier une information sans la stocker en clair. Le salage ajoute une valeur aléatoire au mot de passe avant le hachage afin d’obtenir des empreintes différentes, même pour des mots de passe identiques, et de compliquer les attaques par dictionnaire et par force brute.

Même en cas de fuite de la base de données, l’attaque devient beaucoup plus coûteuse. Mais ces techniques ne protègent pas contre les attaques en ligne si aucune autre mesure n’est en place.

L’authentification multifacteur (MFA) est l’une des protections les plus efficaces contre la force brute et le credential stuffing.

Elle consiste à combiner :

  • quelque chose que je sais (mot de passe),
  • quelque chose que j’ai (smartphone, clé FIDO2),
  • quelque chose que je suis (biométrie).

Avantages :

  • bloque la majorité des attaques automatisées
  • réduit fortement l’impact d’une fuite de mots de passe.

Inconvénients :

  • déploiement parfois complexe
  • dépendance à un second appareil
  • phishing MFA possible si mal implémenté (d’où l’intérêt des clés physiques).

Les CAPTCHA classiques existent toujours, mais ils évoluent sous la pression de l’IA (notamment si la réponse est plus rapide que si c’était un humain qui la renseignait).

CAPTCHA signifie Completely Automated Public Turing test to tell Computers and Humans Apart (test de Turing public complètement automatisé permettant de différencier un utilisateur humain d'un ordinateur).

Politiques de mots de passe. Les recommandations ont évolué. Aujourd’hui, le NIST (SP 800-63B) préconise notamment…

  • Des mots de passe longs plutôt que complexes puisqu’il y plus de combinaisons possibles.

  • Des phrases de passe, qui sont une application concrète du point précédent (phrase dont les mots sont séparés, par exemple par un signe de ponctuation).

  • Pas de rotation forcée sans raison. Changer régulièrement de mot de passe n’offre aucune protection supplémentaire face à la force brute (sauf bien sûr s'il y a eu une compromission).

  • Le blocage des mots de passe compromis. Aujourd’hui, on dispose de bases de données massives issues de fuites connues. Ainsi, dès sa création, un mot de passe déjà connu des attaquants peut être bloqué (réduction du risque de credential stuffing).

  • La limitation du nombre de tentatives est une mesure simple et efficace pour ralentir les attaques automatisées, rendre la force brute économiquement non rentable et donner le temps aux systèmes de détection d’agir. Mais attention, un verrouillage trop strict peut être utilisé pour provoquer des dénis de service !

L’objectif est d’augmenter le coût de l’attaque sans rendre la vie impossible aux utilisateurs.