Thèse soutenue

Sensibilité de logiciels au détournement de flot de contrôle
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Etienne Louboutin
Direction : Fabien Dagnat
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 11/01/2021
Etablissement(s) : Ecole nationale supérieure Mines-Télécom Atlantique Bretagne Pays de la Loire
Ecole(s) doctorale(s) : École doctorale Mathématiques et sciences et technologies de l'information et de la communication (Rennes)
Partenaire(s) de recherche : Laboratoire : Process for Adaptative Software Systems - Département Informatique - Institut de recherche en informatique et systèmes aléatoires (Rennes) - Laboratoire en sciences et techniques de l'information, de la communication et de la connaissance - Equipe Processes for Safe and Secure Software and Systems
Jury : Président / Présidente : Caroline Fontaine
Examinateurs / Examinatrices : Fabien Dagnat, Marie-Laure Potet, David Hély, Erven Rohou, Jean-Christophe Bach
Rapporteurs / Rapporteuses : Marie-Laure Potet, David Hély

Résumé

FR  |  
EN

La sécurité d'un logiciel peut être prise en compte dès la conception. Cette approche, appelée security by design, permet d'influer 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.