Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Fuzzing (Test par Injection Aléatoire)

hacking

Définition

Le fuzzing, ou test par injection aléatoire, est une technique de test logiciel automatisé qui consiste à soumettre à un programme des volumes massifs de données aléatoires, malformées, mutées ou inattendues afin d'en révéler les défauts de traitement, crashes, fuites mémoire ou comportements exploitables. L'outil de fuzzing génère des entrées à partir de mutations d'un corpus initial (mutation-based fuzzing) ou selon une grammaire définissant le format attendu (generation-based fuzzing), puis surveille l'exécution du programme cible pour détecter des anomalies comme des débordements de tampon ou des exceptions non gérées. Les fuzzers à guidage par couverture de code, comme AFL, AFL++ ou libFuzzer, instrumentent le binaire pour orienter la génération vers les chemins d'exécution les moins explorés, augmentant significativement le taux de découverte de bugs par rapport au fuzzing purement aléatoire. Le fuzzing est particulièrement efficace pour identifier des vulnérabilités de type mémoire, comme les buffer overflows ou use-after-free, dans du code écrit en C ou C++, et constitue une étape standard dans les cycles de développement sécurisé (SDLC) des grands éditeurs, notamment via des projets continus comme OSS-Fuzz de Google pour les logiciels open source. Il complète l'analyse statique et les revues de code manuelles dans une stratégie de sécurité applicative défensive.

Types de fuzzing

  • Dumb fuzzing : mutations aléatoires sans connaissance du format
  • Smart fuzzing : mutations guidées par la grammaire du protocole/format
  • Coverage-guided : utilise la couverture de code pour maximiser l'exploration (AFL++, libFuzzer)

Outils populaires

  • AFL++ : fuzzer coverage-guided de référence
  • libFuzzer : intégré à LLVM/Clang
  • Boofuzz : fuzzing réseau/protocoles
  • Radamsa : mutateur de fichiers générique

Résultats

Le fuzzing a découvert des milliers de CVE dans des projets majeurs. Google OSS-Fuzz a trouvé 10 000+ bugs dans 1000+ projets open source. Technique essentielle pour la sécurité des parsers, codecs et protocoles.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis