Thèse soutenue

Exécution symbolique haute performance par la compilation du moteur symbolique dans le programme testé

FR  |  
EN
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
Rapporteurs / Rapporteuses : Tamara Rezk, Cristian Cadar

Résumé

FR  |  
EN

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.