Sécurité applicative
Exécution symbolique
Aussi appelé: Analyse symbolique, Exécution concolic
Définition
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.
Exemples
- Utiliser KLEE sur une bibliothèque C pour générer des entrées atteignant chaque branche et déclenchant des asserts.
- Combiner angr et AFL++ pour résoudre des contraintes que le fuzzing seul ne franchit pas.
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 guidé par couverture
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é.
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.
SAST (Static Application Security Testing)
Analyse automatisée du code source, du bytecode ou des binaires — sans exécution — pour repérer des faiblesses de sécurité comme l'injection, les API non sûres ou la cryptographie faible.
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.
Secure Coding
Secure Coding — definition coming soon.