Auteur / Autrice : | Nicolas Moro |
Direction : | Emmanuelle Encrenaz, Bruno Robisson |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 13/11/2014 |
Etablissement(s) : | Paris 6 |
Ecole(s) doctorale(s) : | École doctorale Informatique, télécommunications et électronique de Paris |
Partenaire(s) de recherche : | Laboratoire : Département Systèmes et Architectures Sécurisés |
Jury : | Examinateurs / Examinatrices : Sylvain Guilley, Jean-Louis Lanet, Jean-Claude Bajard, Christophe Giraud, Jean-François Lalande, Karine Heydemann |
Résumé
Cette thèse s'intéresse à la sécurité des programmes embarqués face aux attaques par injection de fautes. La prolifération des composants embarqués et la simplicité de mise en œuvre des attaques rendent impérieuse l'élaboration de contre-mesures.Un modèle de fautes par l'expérimentation basé sur des attaques par impulsion électromagnétique a été élaboré. Les résultats expérimentaux ont montré que les fautes réalisées étaient dues à la corruption des transferts sur les bus entre la mémoire Flash et le pipeline du processeur. Ces fautes permettent de réaliser des remplacements ou des saut d'instructions ainsi que des modifications de données chargées depuis la mémoire Flash. Le remplacement d'une instruction par une autre bien spécifique est très difficile à contrôler ; par contre, le saut d'une instruction ciblée a été observé fréquemment, est plus facilement réalisable, et permet de nombreuses attaques simples. Une contre-mesure empêchant ces attaques par saut d'instruction, en remplaçant chaque instruction par une séquence d'instructions, a été construite et vérifiée formellement à l'aide d'outils de model-checking. Cette contre-mesure ne protège cependant pas les chargements de données depuis la mémoire Flash. Elle peut néanmoins être combinée avec une autre contre-mesure au niveau assembleur qui réalise une détection de fautes. Plusieurs expérimentations de ces contre-mesures ont été réalisées, sur des instructions isolées et sur des codes complexes issus d'une implémentation de FreeRTOS. La contre-mesure proposée se révèle être un très bon complément pour cette contre-mesure de détection et permet d'en corriger certains défauts.