Attaques par réutilisation de code : synthèse automatique et évaluation de possibilité d’exploitation

Defense type
Thesis
Starting date
End date
Location
IRISA Rennes
Room
Metivier
Speaker
Nicolas Bailluet
Main department
Theme

Résumé: 
La synthèse automatique de chaînes de gadgets a suscité beaucoup d’attention depuis l’introduction des attaques par réutilisation de code. Plusieurs approches requérant le contrôle de la pile d’exécution ont été proposée.
Cependant, durant la dernière décennie, beaucoup de nouvelles primitives d’attaques ont vu le jour. Pour mieux s’adapter au contraintes imposées par les vulnérabilités modernes, nous proposons ARCANIST, une nouvelle méthode de synthèse de chaînes de gadgets basée sur la résolution SMT. Contrairement aux travaux antérieurs, ARCANIST traite l’agencement mémoire d’exploitation comme un paramètre d’entrée pour la synthèse, ce qui permet le support de primitives et agencements d’exploitation arbitraires. Cependant, une limitation générale des approches basées sur la résolution SMT est qu’elles garantissent la correction des chaînes uniquement pour un contexte d’exécution fixé.
Pour résoudre cette limitation, nous proposons une nouvelle approche de synthèse et d’évaluation de chaînes de gadgets tenant compte des variations du contexte d’exécution. Soit notre approche prouve qu’une chaîne se généralise à tous les contextes, soit elle quantifie la proportion de contextes dans lesquels la chaîne reste valide. En combinant
l’échantillonnage de modèles, le calcul de plus faibles pré-conditions et le comptage de modèles, nous calculons formellement des scores de robustesse qui évaluent l’exploitabilité des chaînes synthétisées. À travers nos travaux, nous montrons que notre technique de chaînage basée sur la résolution SMT surpasse les outils précédents en traitant
des situations où ceux-ci échouent. Plus encore, nous démontrons son efficacité pour des vulnérabilités réelles. Enfin, nous démontrons la pertinence de notre méthode d’évaluation d’exploitabilité des chaînes.

Composition of the jury
COUROUSSÉ Damien, Ingénieur de Recherche, CEA Grenoble
MARION Jean-Yves, Professeur, Université de Lorraine Nancy
MAURICE Clémentine, Chargée de Recherche, CNRS Lille
BLAZY Sandrine, Professeure, Université de Rennes
PUAUT Isabelle, Professeure, Université de Rennes
ROHOU Erven, Directeur de Recherche, Centre Inria de l’Université de Rennes