Sécurisation de l’exécution des applications contre les attaques par injection de fautes par une contre-mesure intégrée au processeur - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2022

Securisation of the exececution of applications against fault injection attacks by a counter-measure integrated into the processor

Sécurisation de l’exécution des applications contre les attaques par injection de fautes par une contre-mesure intégrée au processeur

Résumé

Embedded systems are ubiquitous in our everyday life. Those embedded systems, by their nomadic nature, are particularly sensitive to the so-called fault injection attacks. For example, an attacker might inject a physical perturbation in an integrated circuit to compromise the security features of the system. Originally used to compromise cryptographic systems, those attacks can now target any kind of system. Notably, those attacks enable to compromise the execution of a program. In this manuscript, we introduce a new security property to protect the execution of instructions in the microarchitecture: execution integrity. From this property, we describe the concept of SCI-FI, a counter-measure that ensures the protection of the whole instruction path thanks to code, control-flow and execution integrity properties. We build SCI-FI around a bit vector that we call pipeline state and that is composed of microarchitecture control signals. Two modules interact around the pipeline state to ensure the security properties. The first module computes a signature from the pipeline state to ensure code and control-flow integrity and partially execution integrity. The second module completes the execution integrity support in the microarchitecture thanks to a redundancy mechanism. We also propose a solution for indirect branches and interrupts that are required to design embedded systems. We implement two versions of SCI-FI, one built around a cryptographic primitive which provides the best security level and another lighter one built around a CRC to maximize the performances. We integrate SCI-FI into a 32 bits RISC-V processor, and we modify the LLVM compiler. We analyze the security provided by our two implementations and we show that SCI-FI, even with the lightweight implementation, is robust against state-of-the-art attacker. Finally, we evaluate the performances of our implementations through an ASIC synthesis and through the execution of the benchmark suite Embench-IoT. We show that SCI-FI has comparable performances to state-of-the-art counter-measures while ensuring a new security property: execution integrity.
Les systèmes embarqués numériques sont omniprésents dans notre environnement quotidien. Ces systèmes embarqués, par leur caractère nomade, sont particulièrement sensibles aux attaques dites par injection de fautes. Par exemple, un attaquant peut injecter une perturbation physique dans un circuit électronique pour compromettre les fonctionnalités de sécurité du système. Originellement utilisées pour compromettre des systèmes cryptographiques, ces attaques permettent aujourd'hui de cibler n'importe quel type de système. Ces attaques permettent notamment de compromettre l'exécution d'un programme. Dans ce manuscrit, nous introduisons une nouvelle propriété de sécurité pour protéger l'exécution des instructions dans la microarchitecture: l'intégrité d'exécution. À partir de cette propriété, nous décrivons le concept de SCI-FI, une contre-mesure qui assure la protection de l'intégralité du chemin d'instructions en assurant l'intégrité du code, du flot de contrôle et d'exécution. Pour cela, nous construisons un vecteur de bits que nous appelons pipeline state à partir de signaux de contrôle dans la microarchitecture. À partir du pipeline state, deux modules s'articulent pour assurer les propriétés de sécurité. Le premier module calcule une signature à partir du pipeline state assurant ainsi l'intégrité du code, du flot de contrôle et une partie de l'intégrité d'exécution. Le second module complète l'intégrité d'exécution dans la microarchitecture en utilisant un mécanisme de redondance. Nous proposons également le support et la sécurisation des branchements indirects et des interruptions, nécessaires pour la conception de systèmes embarqués. Nous réalisons deux imPlémentations de SCI-FI, l'une construite sur une primitive cryptographique assurant un niveau de sécurité maximal et l'autre plus légère construite sur une fonction CRC privilégiant les performances. Pour cela, nous intégrons SCI-FI dans un processeur RISC-V 32 bits et modifions la chaîne de compilation LLVM. Nous réalisons une analyse de sécurité des différents éléments qui composent SCI-FI dans chaque implémentation. Nous montrons ainsi que SCI-FI, même avec l'implémentation privilégiant les performances, est robuste face à un attaquant disposant de moyens d'injection de fautes à l'état de l'art. Enfin, nous évaluons les performances de nos implémentations par une synthèse dans un flot de conception ASIC et par l'exécution en simulation de la suite de test Embench-IOT. Nous montrons ainsi que SCI-FI a des performances équivalentes aux contre-mesures de l'état de l'art tout en assurant une propriété de sécurité supplémentaire, l'intégrité d'exécution.
Fichier principal
Vignette du fichier
CHAMELOT_Thomas_these_2022.pdf (1.39 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03994101 , version 1 (17-02-2023)

Identifiants

  • HAL Id : tel-03994101 , version 1

Citer

Thomas Chamelot. Sécurisation de l’exécution des applications contre les attaques par injection de fautes par une contre-mesure intégrée au processeur. Cryptographie et sécurité [cs.CR]. Sorbonne Université, 2022. Français. ⟨NNT : 2022SORUS417⟩. ⟨tel-03994101⟩
106 Consultations
116 Téléchargements

Partager

Gmail Facebook X LinkedIn More