Thèse soutenue

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

FR  |  
EN
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

Résumé

FR  |  
EN

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.