Étude de vulnérabilité d’un programme au format binaire en présence de fautes précises et nombreuses : métriques et contre-mesures

Publié le
Equipe
Date de début de thèse (si connue)
dès que possible
Lieu
Rennes
Unité de recherche
IRISA - UMR 6074
Description du sujet de la thèse

La sécurité des systèmes informatiques est un sujet critique et très actuel. Dans un monde où les systèmes informatiques contrôlent des pans entiers de nos sociétés et de nos vies quotidiennement, l’enjeu est énorme. En 2019, les dépenses mondiales en sécurité sont estimées à 124 milliards de dollars. De nombreux types d’attaques existent, nous nous intéressons ici aux attaques en fautes sur des systèmes de type embarqué.  Ces attaques deviennent une menace pour des systèmes jusque là épargnés : certains moyens d’injection sont désormais accessibles à qui veut et des moyens logiciels d’injection de fautes se développent. 

La littérature traite essentiellement d’une faute unique [2,3], mais de plus en plus de travaux font référence à la possibilité d’injecter des fautes multiples [4]. La multiplication des fautes est désormais d’actualité. Par sa dangerosité, il est important de la prendre en compte.  Nous avons récemment montré [1] que si des fautes précises et nombreuses sont possibles, un programme au format binaire peut être attaqué de nombreuses façons. Dans ces travaux préliminaires, la réalisation des exploits était manuelle.  Ces travaux et la littérature [5] montrent l’importance d’une analyse de vulnérabilité ou de recherche de chemins d’attaque au niveau binaire dans le contexte des attaques en fautes. 

Les objectifs de cette thèse sont :

  1. proposer une approche automatique, sur la base d’analyse statique, pour déterminer les exploits possibles pour un modèle d’attaquant et une cible, puis les réaliser (en simulation ou en expérimentation) sur un code binaire, afin d’atteindre un objectif donné (écriture d'une donnée à un emplacement mémoire, appel d'une fonction avec des paramètres donnés, extraction d'un secret...) ;

  2. proposer une méthode de quantification du niveau de vulnérabilité d’un code binaire, par exemple sur la base du nombre minimum de fautes nécessaire à la réalisation d’un exploit, la nature des fautes, etc. ;

  3. proposer des contre-mesures à ces attaques, logicielles ou matérielles, et une automatisation de leur déploiement. 

Les expérimentations  s’appuieront sur un simulateur de fautes réalisé dans l’équipe PACAP sur la base de gem5 mais des injections réelles pourront être menées sur différents bancs d’injection de fautes à notre disposition (clock glitch, laser, etc).

Bibliographie

[1] P.Y. Péneau, I. Claudepierre, D. Hardy, D. & E. Rohou. NOP-Oriented Programming: Should we Care?. In 2020 IEEE European Symposium on Security and Privacy Workshops (EuroS&PW) (pp. 694-703). IEEE Computer Society. September 2020.

[2] J. Balasch, B. Gierlichs & I. Verbauwhede.  An In-Depth and Black-Box Characterization of the Effects of Clock Glitches on 8-bit MCUs.  In 2011 Workshop on Fault Diagnosis and Tolerance in Cryptography . IEEE, 2011.

[3] N. Moro, A.  Dehbaoui, K. Heydemann, B. Robisson & E. Encrenaz.  Electromagnetic Fault Injection: Towards a Fault Model on a 32-bit Microcontroller. In 2013 Workshop on Fault Diagnosis and Tolerance in Cryptography, pages 77–88. IEEE, 2013.

[4] C. Bozzato, R. Focardi & F. Palmarini. Shaping the Glitch: Optimizing Voltage Fault Injection Attacks. IACR Transactions on Cryptographic Hardware and Embedded Systems, pages 199–224, 2019.

[5] J-B. Bréjon. Quantification de la sécurité des applications en présence d’attaques physiques et détection de chemins d’attaques. Thèse de École Doctorale Informatique, Télécommunications et Électronique de Paris. Soutenue le 26 juin 2020. 

Liste des encadrants et encadrantes de thèse

Nom, Prénom
Erven Rohou
Type d'encadrement
Directeur.trice de thèse
Unité de recherche
Inria

Nom, Prénom
Karine Heydemann
Type d'encadrement
2e co-directeur.trice (facultatif)
Unité de recherche
UMR 7606

Nom, Prénom
Damien Hardy
Type d'encadrement
Co-encadrant.e
Unité de recherche
UMR 6074
Contact·s
Mots-clés
attaque en fautes, multi-fautes, vulnérabilité, durcissement