Exécution symbolique
Qu'est-ce que Exécution symbolique ?
Exécution symboliqueTechnique 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.
Un moteur d'exécution symbolique traite les entrées comme des variables mathématiques et explore les chemins en se branchant sur chaque condition. Chaque chemin accumule des contraintes en logique du premier ordre ; un solveur SMT comme Z3 vérifie leur satisfiabilité et, le cas échéant, produit une entrée concrète qui mène le programme jusque-là. Cela permet de prouver l'atteignabilité de conditions de bug (overflow, division par zéro, taint atteignant un sink), mais souffre d'explosion combinatoire et de complexité des contraintes. Des outils comme KLEE, angr et Manticore assistent les fuzzers, trouvent des vulnérabilités profondes et vérifient des propriétés de sécurité sur des binaires.
● Exemples
- 01
Utiliser KLEE sur une bibliothèque C pour générer des entrées atteignant chaque branche et déclenchant des asserts.
- 02
Combiner angr et AFL++ pour résoudre des contraintes que le fuzzing seul ne franchit pas.
● Questions fréquentes
Qu'est-ce que 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. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.
Que signifie 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.
Comment se défendre contre Exécution symbolique ?
Les défenses contre Exécution symbolique combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Exécution symbolique ?
Noms alternatifs courants : Analyse symbolique, Exécution concolic.