Analyse et optimisation dynamiques de programmes au format binaire pour la cybersécurité
Auteur / Autrice : | Camille Le Bon |
Direction : | Erven Rohou |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 05/07/2022 |
Etablissement(s) : | Rennes 1 |
Ecole(s) doctorale(s) : | MATHSTIC |
Partenaire(s) de recherche : | Laboratoire : Institut national de recherche en informatique et en automatique (France). Unité de recherche (Rennes, Bretagne-Atlantique) - PACAP |
Jury : | Président / Présidente : Vincent Nicomette |
Examinateurs / Examinatrices : Aurélien Francillon, Guillaume Hiet, Frédéric Tronel | |
Rapporteurs / Rapporteuses : Karine Heydemann, Philippe Clauss |
Mots clés
Résumé
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.