Préservation des propriétés dans un flot de compilation optimisant
Auteur / Autrice : | Son Tuan Vu |
Direction : | Karine Heydemann, Albert Henri Cohen |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 02/04/2021 |
Etablissement(s) : | Sorbonne université |
Ecole(s) doctorale(s) : | École doctorale Informatique, télécommunications et électronique de Paris (1992-...) |
Partenaire(s) de recherche : | Laboratoire : LIP6 (1997-....) |
Jury : | Président / Présidente : Antoine Miné |
Examinateurs / Examinatrices : Arnaud de Grandmaison, Sandrine Blazy, Damien Couroussé | |
Rapporteur / Rapporteuse : Marie-Laure Potet, Erven Rohou |
Résumé
Afin d’assurer des garanties sécuritaires des applications binaires, des analyses et vérifications doivent avoir lieu au niveau binaire. Ces analyses et vérifications nécessitent des propriétés de sécurité ou fonctionnelles des applications. Il est donc nécessaire de transporter et transposer ces propriétés portant sur le code source au niveau du code compilé. La préservation de propriétés tout au long du flot de compilation est un problème difficile à cause des optimisations qui réorganisent les calculs ou éliminent les variables inutiles. Cette thèse présente des approches permettant de propager et préserver des propriétés tout au long d’un flot de compilation optimisant sans modifier les passes d’optimisation du compilateur. Dans l’implémentation dans LLVM, les propriétés sont émises dans le code binaire sous forme d’information de débug DWARF permettant leur utilisation par des outils d’analyse binaire. Les mécanismes proposés peuvent être utilisés pour préserver des protections insérées dans le code source tout en activant les optimisations du compilateur.