Analyse et optimisation dynamiques de programmes au format binaire pour la cybersécurité

Type de soutenance
Thèse
Date de début
Date de fin
Salle
Turing-Petri
Orateur
Camille Le Bon
Département
Sujet

Les attaques par corruption de mémoire ont été un problème majeur dans la sécurité des logiciels depuis plus de vingt ans et restent l’un des types d’attaques les plus dangereux et les plus répandus de nos jours. Parmi ces attaques, celles par détournement de flot de contrôle sont les plus populaires et les plus puissantes, permettant à l’attaquant d’exécuter du code arbitraire dans le processus cible. De nombreuses approches ont été développées pour mitiger de telles attaques et pour les empêcher de se produire.
L’une de ces approches est l’isolation des données de contrôle (CDI) qui tente de d’empêcher ces attaques en supprimant leur déclencheur dans le code, à savoir les branchements indirects. Cette approche a été mise en œuvre sous la forme d’une passe de compilateur remplaçant tous les branchements indirects dans le programme par une table conduisant le flot de contrôle vers des sauts directs écrits en dur. L’inconvénient de cette approche est qu’elle nécessite la recompilation du programme. Dans ce manuscrit, nous présentons une approche et son implémentation, DAMAS, un framework capable de déployer des protections sur un logiciel en cours d’exécution et d’utiliser les informations disponibles pour les optimiser pendant l’exécution. Nous avons implémenté une protection CDI à gros grain à l’aide de notre framework et évalué son impact sur les performances.

Composition du jury
HEYDEMANN Karine, Maître de Conférence, Sorbonne Université
CLAUSS Philippe, Professeur, Université de Strasbourg
FRANCILLON Aurélien, Professeur, EURECOM
NICOMETTE Vincent, Professeur, INSA de Toulouse
HIET Guillaume, Maître de Conférence, CentraleSupélec
TRONEL Frédéric, Professeur, CentraleSupélec
ROHOU Erven, Directeur de recherche, Inria Rennes