Outils pour l'analyse de code et de contre-mesures pour l'injection de fautes multiples
Auteur / Autrice : | Etienne Boespflug |
Direction : | Marie-Laure Potet, Laurent Mounier, Cristian Ene |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 28/04/2023 |
Etablissement(s) : | Université Grenoble Alpes |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 1995-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire Verimag (Grenoble) |
Jury : | Président / Présidente : Vincent Beroulle |
Examinateurs / Examinatrices : Laurent Mounier, Thomas Jensen | |
Rapporteurs / Rapporteuses : Karine Heydemann, Julien Signoles |
Résumé
Les attaquants actifs sont capables d'intervenir sur le comportement du programme pendant son exécution. En particulier, les attaques par injection de fautes, qui ont émergées à l'origine en tant que méthode de test contre les fautes matérielles accidentelles, sont un vecteur d'attaque puissant dans lequel l'attaquant peut injecter des fautes pendant l'exécution à l'aide de techniques physiques telles que les faisceaux lasers ou des glitches de tension ou de fréquence. Plus récemment, des méthodes d'injection de fautes logicielles sont apparues.Cette thèse s'intéresse à l'analyse de programmes dans le contexte des attaques en fautes, et plus particulièrement en fautes multiples, qui implique que l'attaquant est capable d'effectuer des attaques combinant plusieurs fautes.Ces attaques combinées complexifient la tâche des outils d'évaluation automatique de robustesse en raison de l'explosion combinatoire des chemins d'exécution due aux fautes.Ce manuscrit présente les différentes contributions de cette thèse.En premier lieu, l'outil d'analyse de robustesse Lazart a été repris et développé au cours de cette thèse et vise à aider la recherche d'attaques dans un programme dans le contexte de fautes multiples.L'évaluation des protections contre ce type d'attaques a aussi été un sujet important de cette thèse et des contributions sont présentées pour aider au placement de contre-mesures logicielles.Enfin, les outils de placement utilisés dans la littérature se basent souvent sur une approche essais / erreurs qui n'est pas adaptée au contexte d'attaques multiples et s'intéressent rarement à montrer que les protections sont effectivement utiles. Une méthodologie d'optimisation de programmes protégés a été développée, visant à déterminer quelles portions des protections peuvent être retirées, tout en maintenant le même niveau de sécurité.