Thèse soutenue

Vérification formelle de la micro-architecture de processeurs pour l'analyse de sécurité des systèmes contre les attaques par injection de fautes

FR  |  
EN
Auteur / Autrice : Simon Tollec
Direction : Mathieu JanKarine HeydemannMihail AsavoaeDamien Couroussé
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 15/11/2024
Etablissement(s) : université Paris-Saclay
Ecole(s) doctorale(s) : École doctorale Sciences et technologies de l'information et de la communication
Partenaire(s) de recherche : Laboratoire : Laboratoire d'intégration des systèmes et des technologies (Gif-sur-Yvette, Essonne ; 2001-....)
Référent : Faculté des sciences d'Orsay
graduate school : Université Paris-Saclay. Graduate School Informatique et sciences du numérique (2020-....)
Jury : Président / Présidente : Emmanuelle Encrenaz
Examinateurs / Examinatrices : Vincent Beroulle, Jean-Max Dutertre, Guillaume Hiet, Guillaume Bouffard, Ulrich Kühne, David Monniaux
Rapporteurs / Rapporteuses : Vincent Beroulle, Jean-Max Dutertre

Résumé

FR  |  
EN

Les attaques par injection de fautes représentent une menace majeure pour la sécurité des systèmes, car elles permettent aux attaquants de déjouer des mécanismes de protection ou d'accéder à des informations sensibles. Alors que la sécurité de ces systèmes est traditionnellement évaluée au niveau du logiciel ou du matériel, des recherches récentes soulignent la nécessité de prendre en compte les deux niveaux et d'analyser la microarchitecture du processeur pour comprendre pleinement les conséquences des attaques par injection fautes. Dans ce contexte, cette thèse vise à élaborer une méthodologie d'analyse exhaustive et automatisée, prenant en compte à la fois les descriptions logicielles et matérielles du système, afin d'avoir une évaluation fine des conséquences des fautes sur le logiciel ou de fournir des garanties formelles sur la sécurité du système. À cette fin, nous proposons µArchiFI, une méthodologie formelle de modélisation et de vérification permettant d'évaluer les effets des fautes sur les systèmes combinés matériel/logiciel. Contrairement aux méthodologies existantes, µArchiFI est exhaustif et permet l'identification automatique des vulnérabilités difficiles à détecter, ainsi que la preuve de robustesse des systèmes contre les attaques par injection de fautes. Implémenté à partir de l'infrastructure de compilation Yosys, notre approche génère une modélisation du système adaptée aux techniques de vérification formelle telles que le model checking borné. Nous validons notre méthodologie sur les processeurs RISC-V en identifiant automatiquement les attaques connues exploitant les mécanismes microarchitecturaux et en découvrant des effets de fautes jusqu'alors inconnus que les techniques de simulation classique pourraient manquer. De plus, nous évaluons formellement la sécurité d'une contre-mesure conjointe logiciel et matériel MAFIA, tâche qui ne n'aurait pas été possible en ne travaillant uniquement qu'à l'un de ces niveaux. Pour améliorer les performances de notre approche et résoudre le problème de l'explosion de l'espace d'état, l'un des défis majeurs des techniques exhaustives, nous décomposons la co-vérification matériel/logiciel en étapes plus faciles à résoudre. Cette décomposition s'appuie sur une évaluation préliminaire des contre-mesures matérielles potentielles existantes. Par conséquent, nous démontrons que des problèmes auparavant insolubles, tels que l'analyse de la robustesse de l'élément sécurisé OpenTitan exécutant un processus de démarrage sécurisé, peuvent désormais être résolus grâce à notre méthodologie. Notre approche a également identifié des vulnérabilités dans le banc de registres, pour lesquelles nous avons fourni et prouvé un correctif de sécurité qui a ensuite été intégré dans le projet OpenTitan.