Compilation sécurisée pour la protection de la mémoire
Auteur / Autrice : | Alexandre Dang |
Direction : | Thomas Jensen |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 10/12/2019 |
Etablissement(s) : | Rennes 1 |
Ecole(s) doctorale(s) : | École doctorale Mathématiques et sciences et technologies de l'information et de la communication (Rennes) |
Partenaire(s) de recherche : | ComuE : Université Bretagne Loire (2016-2019) |
Laboratoire : Institut de recherche en informatique et systèmes aléatoires (Rennes) - Celtique |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Cette thèse porte sur la sécurité des programmes et particulièrement en utilisant la compilation pour parvenir à ses fins. La compilation correspond à la traduction des programmes sources écrits par des humains vers du code machine lisible par nos systèmes. Nous explorons les deux manières possible de faire de la compilation sécurisée : la sécurisation et la préservation. Premièrement, nous avons développé CompCertSFI, un compilateur qui sécurise des modules en les isolant dans des zones mémoires restreintes appelées bac à sable. Ces modules sont ensuite incapables d'accéder à des zones mémoires hors de leur bac à sable, ce qui empêche un module malveillant de corrompre d'autres entités du système. Sur le sujet de la préservation, nous avons défini une notion de Préservation de Flot d'Information qui s'applique aux transformations de programme. Cette propriété, lorsqu'elle est appliquée, permet de s'assurer qu'un programme ne devienne moins sécurité durant sa compilation. Notre propriété de préservation est spécifiquement conçus pour préserver les protections contre les attaques de type canaux cachés. Cette nouvelle catégorie d'attaque utilise des médiums physique comme le temps ou la consommation d'énergie qui ne sont pas pris en compte par les compilateurs actuels.