Sécurité applicative
Fuzzing guidé par couverture
Aussi appelé: Fuzzing greybox, Fuzzing à feedback
Définition
Technique de fuzzing qui instrumente la cible pour mesurer la couverture de code et fait évoluer les entrées explorant de nouveaux chemins, augmentant drastiquement l'efficacité.
Exemples
- Compiler un parseur C avec l'instrumentation AFL++ et utiliser afl-fuzz pour faire croître un corpus guidé par couverture.
- libFuzzer s'appuyant sur SanitizerCoverage pour faire évoluer les entrées d'un crate Rust.
Termes liés
Fuzz testing
Technique de test automatisé qui soumet un programme à de grandes quantités d'entrées malformées, aléatoires ou inattendues pour révéler des crashs, des corruptions mémoire et des vulnérabilités.
Fuzzing par mutation
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.
Exécution symbolique
Technique d'analyse de programme qui exécute le code avec des entrées symboliques au lieu de valeurs concrètes, construisant des contraintes de chemin résolues par un solveur SMT.
Débordement de tampon
Faille de sûreté mémoire où un programme écrit au-delà de la fin d'un tampon alloué, corrompant la mémoire adjacente et permettant souvent l'exécution de code.
Corruption mémoire
Terme générique pour les vulnérabilités où un programme écrit hors des limites prévues, compromettant sûreté de typage, flux de contrôle ou intégrité des données.
Secure Coding
Secure Coding — definition coming soon.