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.
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