Sécurisation systématique d'applications embarquées contre les attaques physiques
Auteur / Autrice : | Julien Proy |
Direction : | Albert Henri Cohen, Karine Heydemann |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 17/06/2019 |
Etablissement(s) : | Paris Sciences et Lettres (ComUE) |
Ecole(s) doctorale(s) : | École doctorale Sciences mathématiques de Paris centre (Paris ; 2000-....) |
Partenaire(s) de recherche : | Laboratoire : École normale supérieure (Paris ; 1985-....). Département d'informatique |
établissement opérateur d'inscription : École normale supérieure (Paris ; 1985-....) | |
Jury : | Président / Présidente : Jean-Max Dutertre |
Examinateurs / Examinatrices : Karine Heydemann, Jean-Max Dutertre, Louis Goubin, Erven Rohou, Damien Couroussé, Alexandre Berzati | |
Rapporteur / Rapporteuse : Louis Goubin, Erven Rohou |
Mots clés
Mots clés contrôlés
Résumé
La sécurité des systèmes embarqués contenant des données sensibles est un enjeu crucial. La disponibilité de ces objets en fait une cible privilégiée pour les attaques physiques, nécessitant l'ajout de protections matérielles et logicielles. La recherche de réduction des coûts de développement pousse les industriels à opter pour du déploiement automatique de protections. L'objet de la thèse consiste à étudier l'intégration de contre-mesures logicielles contre les attaques par faute dans les outils de développement, en particulier dans le compilateur, afin d'automatiser l'application de contre-mesures variées. Pour cela, nous proposons deux schémas de protection génériques et automatiquement déployables contre ces attaques : un dédié à la sécurisation des boucles et le deuxième à la sécurisation du graphe d'appel. Ces schémas spécifiques, intégrés dans un même compilateur (LLVM) permettent la sécurisation de parties sensibles et choisies du code limitant ainsi leur surcoût en performances. Les fautes exploitables variant d'un composant à l'autre, nous proposons également une caractérisation des effets des fautes au niveau du jeu d'instructions sur une plateforme intégrant un processeur superscalaire typique des téléphones mobiles. Ces travaux montrent la nécessité d'étudier les injections de faute sur des plateformes complexes, de concevoir de nouveaux schémas de protection adaptés, et de continuer à intégrer dans un même compilateur plus de schémas de sécurisation.