Etienne Louboutin
Directeur(s): Fabien Dagnat
Encadrant(s): Jean-Christophe Bach
SUJET DE THÈSE
Sensibilité de logiciels au détournement de flot de contrôle
Introduction et résumé des travaux
La sécurité d’un logiciel peut être prise en compte dès la conception. Cette approche, appelée security by design, permet d’agir au plus tôt de la conception pour influer sur l’architecture d’un logiciel. Les protections contre les attaques par détournement de flot d’exécution, comme le return oriented programming, ne sont pas pensées pour changer la manière de concevoir un logiciel, mais permettent de protéger un logiciel soit lors de sa compilation soit en travaillant directement sur le binaire produit.
Dans cette thèse, nous proposons des métriques permettant à un développeur d’évaluer la sensibilité d’un logiciel face aux attaques par détournement de flot d’exécution. Pour aider le développement, les métriques définies permettent d’identifier les paramètres de production de binaires d’un logiciel qui entrainent une sensibilité accrue à ces attaques. L’utilisation de ces métriques sont illustrées dans cette thèse en étudiant l’influence de compilateurs et de leurs options, de langages et architectures matérielles.
État de l’art et contexte des travaux de thèse
Les premières attaques basées sur de la réutilisation de code étaient appelées return-to-libc et détournaient le flot d’exécution pour appeler des fonctions présentes dans la bibliothèque standard C pour réaliser l’attaque. En 2007, Shacham publie une généralisation de ces attaques n’utilisant pas d’appels de fonction explicites, nommées a posteriori ROP. Cet article montre aussi la capacité de ces attaques à être Turing-complet.
En 2012, la même équipe revient sur le sujet en précisant les concepts, et comment réaliser ces attaques, les mettre en œuvre, analyser un programme pour chercher ce qui est in- téressant. Cette généralisation arrive à la fois sur les architectures SPARC et x86. Ils montrent aussi que la bibliothèque standard C est suffisante pour monter des attaques à but quelconque.
Actions en lien avec la Détection, et la protection contre ce type d’attaques
Quelques solutions ont été mises en places pour se protéger de ce type d’attaque, que j’ai analysées.
Objectifs généraux et actions futures
Un séminaire de sensibilisation auprès du personnel à Thalès Cholet a été réalisée.
Un travail d’approfondissement des solutions de protection contre le ROP est prévu pour le mois suivant.
Les objectifs principaux pour l’instant définis comportent l’analyse statique d’un système comportant un ou plusieurs logiciels et du matériel pour remonter des informations sur la facilité de réaliser une attaque ROP sur ledit système.
L’établissement d’un modèle comportemental d’un système et un analyseur pour détecter une exécution anormale afin d’en remonter des informations fait aussi partie de mes objectifs.
Publications
Etienne Louboutin. Sensibilité de logiciels au détournement de flot de contrôle. Génie logiciel [cs.SE]. Ecole nationale supérieure Mines-Télécom Atlantique, 2021. Français.
Étienne Louboutin, Jean-Christophe Bach, Fabien Dagnat. Statistical Measurement of Production Environment Influence on Code Reuse Availability. SECURWARE 2019 : The Thirteenth International Conference on Emerging Security Information, Systems and Technologies, Oct 2019, Nice, France.