CyberGlossary

Sécurité applicative

Fuzzing par mutation

Aussi appelé: Fuzzing mutationnel, Fuzzing basé sur des échantillons

Définition

Stratégie de fuzzing qui produit de nouvelles entrées de test en mutant aléatoirement des échantillons valides existants : flip de bits, insertion d'octets, splice de fichiers.

Les fuzzers par mutation partent d'un corpus d'entrées valides — images, paquets réseau, documents — et appliquent de petites modifications aléatoires (inversions de bits, substitutions d'octets, suppressions de blocs, splices) pour générer de nouveaux candidats. À la différence des fuzzers génératifs, ils n'ont pas besoin de la grammaire du format, ce qui les rend rapides à mettre en œuvre sur n'importe quel parseur ou protocole. Combinés à un feedback de couverture, AFL++ ou libFuzzer évoluent rapidement vers des entrées qui explorent des chemins profonds et déclenchent des bugs de sécurité mémoire. Très utilisés pour durcir codecs, parseurs de fichiers, drivers kernel et bibliothèques crypto pendant le SSDLC.

Exemples

  • AFL++ mutant des PNG valides pour découvrir des heap overflows dans libpng.
  • libFuzzer mutant des requêtes HTTP valides pour faire crasher un parseur HTTP maison.

Termes liés