Compilation pour l'application de contre-mesures contre les attaques par canal auxiliaire - CEA - Commissariat à l’énergie atomique et aux énergies alternatives Accéder directement au contenu
Thèse Année : 2019

Automated application of countermeasures against side-channel attacks by compilation

Compilation pour l'application de contre-mesures contre les attaques par canal auxiliaire

Résumé

Embedded systems and connected objects are increasingly used nowadays. Unlike some other systems accessible only through the network, embedded systems are physically accessible by an attacker. The latter can then exploit this physical proximity to mount side-channel attacks to compromise these systems or their data. These non-intrusive attacks have shown great effectiveness in recovering cryptographic keys used in such systems. Embedded systems must therefore be secured against this severe threat. Software countermeasures are most often applied manually by experts. In this thesis, we propose to automatically apply these countermeasures within the compilation process. We propose two approaches, one to apply a first-order Boolean masking countermeasure, the other to apply a code polymorphism countermeasure. We address several problems related to dynamic code generation to enable the use of code polymorphism on constrained systems. Finally, we adapt the chosen countermeasures to obtain a better trade-off between performance and security.
Les systèmes embarqués et objets connectés sont aujourd'hui de plus en plus répandus. Contrairement à d'autres systèmes accessibles uniquement par le réseau, les systèmes embarqués sont accessibles physiquement par un attaquant. Celui-ci peut alors exploiter cette proximité physique pour monter des attaques par canal auxiliaire afin de compromettre ces systèmes ou leurs données. Ces attaques non intrusives ont ainsi montré une grande efficacité pour récupérer les clés cryptographiques utilisées dans de tels systèmes. Il est alors primordial de protéger les systèmes embarqués contre cette menace sérieuse. Les contre-mesures logicielles sont la plupart du temps appliquées manuellement par des experts. Dans cette thèse, nous proposons d'appliquer automatiquement ces contre-mesures au sein du processus de compilation. Nous proposons deux approches, l'une pour appliquer une contre-mesure de masquage booléen de premier ordre, l'autre pour appliquer une contre-mesure de polymorphisme de code. Nous apportons des réponses à plusieurs problèmes liés à la génération dynamique de code pour permettre l'utilisation du polymorphisme de code sur des systèmes contraints. Enfin, nous adaptons les contre-mesures choisies afin d'obtenir de meilleurs compromis entre performances et sécurité.
Fichier principal
Vignette du fichier
Manuscrit de thèse Nicolas Belleville.pdf (5.1 Mo) Télécharger le fichier
slides_soutenance_de_these.pdf (3.23 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-02431740 , version 1 (08-01-2020)
tel-02431740 , version 2 (01-10-2020)

Identifiants

  • HAL Id : tel-02431740 , version 1

Citer

Nicolas Belleville. Compilation pour l'application de contre-mesures contre les attaques par canal auxiliaire. Informatique [cs]. Université Grenoble Alpes, 2019. Français. ⟨NNT : ⟩. ⟨tel-02431740v1⟩
373 Consultations
360 Téléchargements

Partager

Gmail Facebook X LinkedIn More