Exécution symbolique haute performance par la compilation du moteur symbolique dans le programme testé
Auteur / Autrice : | Sebastian Poeplau |
Direction : | Aurélien Francillon |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 20/11/2020 |
Etablissement(s) : | Sorbonne université |
Ecole(s) doctorale(s) : | École doctorale Informatique, télécommunications et électronique de Paris (1992-...) |
Partenaire(s) de recherche : | Laboratoire : Institut EURECOM (Sophia-Antipolis, Alpes-Maritimes) |
Jury : | Président / Présidente : Davide Balzarotti |
Examinateurs / Examinatrices : Sarah Zennou, Christophe Hauser | |
Rapporteur / Rapporteuse : Tamara Rezk, Cristian Cadar |
Mots clés
Résumé
L'exécution symbolique a le potentiel de rendre les logiciels plus sûrs en améliorant considérablement la recherche automatisée des vulnérabilités. Nous proposons une technique générale qui permet des implémentations plus efficaces de la composante d'exécution dans les exécuteurs symboliques. Nous examinons d'abord l'état de l'art. A partir des résultats de cette comparaison, nous dérivons l'idée d'accélérer l'exécution en intégrant la manipulation symbolique dans les programmes compilés au lieu d'interpréter symboliquement une représentation de plus haut niveau du programme testé. En utilisant cette approche, nous développons un exécuteur symbolique basé sur le compilateur et nous montrons qu'il atteint effectivement une vitesse d'exécution élevée par rapport aux systèmes actuellement les plus performants. Comme le compilateur est limité aux scénarios où le code source du programme testé est disponible, nous concevons et mettons en œuvre une solution complémentaire pour l'exécution symbolique des binaires ; elle utilise la même idée de base d'intégration de l'exécution symbolique dans un code machine rapide, mais combine l'approche avec la traduction binaire pour relever les défis de l'analyse binaire seule. Nous concluons en discutant des directions de recherche qui pourraient conduire à des systèmes encore plus pratiques.