Thèse soutenue

Processeurs Sécurisés et Attaques de Micro Architecture

FR  |  
EN
Auteur / Autrice : Valentin Martinoli
Direction : Régis Leveugle
Type : Thèse de doctorat
Discipline(s) : Nanoélectronique et nanotechnologie
Date : Soutenance le 23/03/2023
Etablissement(s) : Université Grenoble Alpes
Ecole(s) doctorale(s) : École doctorale électronique, électrotechnique, automatique, traitement du signal (Grenoble ; 199.-....)
Partenaire(s) de recherche : Laboratoire : Techniques de l’informatique et de la microélectronique pour l’architecture des systèmes intégrés (Grenoble, Isère, France ; 1994-....)
Jury : Président / Présidente : Lorena Anghel
Examinateurs / Examinatrices : Sébastien Pillement
Rapporteurs / Rapporteuses : Guy Gogniat, Jean-Max Dutertre

Résumé

FR  |  
EN

Afin d’augmenter la puissance de calcul des processeurs au-delà des progrès des technologies, des mécanismes architecturaux d’optimisation ont été ajoutés depuis de nombreuses années. Cependant, ces mécanismes reposent le plus souvent sur des ressources matérielles partagées qui peuvent donner lieu à des fuites d'information.L’exploitation de ces fuites permet à un attaquant d'obtenir des informations sensibles en provenance d’autres applications. Ces attaques dites micro architecturales emploient des moyens logiciels pour provoquer l’utilisation de mécanismes matériels de très bas niveau. Les informations recherchées sont alors collectées par le biais d’attaques par canaux cachés.Cette thèse vise à répliquer et à se défendre contre certaines de ces attaques sur le cœur RISC-V CVA6. Une analyse approfondie de la micro architecture de ce processeur a mené à la découverte de chemins d’attaque potentiels. Les deux attaques réalisées exploitent ces chemins afin de retrouver des informations sensibles en provenance d’un algorithme cryptographique. La première a été analysée grâce à des outils de simulation, permettant de comprendre dans le détail le fonctionnement de l’attaque et ses implications sur la micro architecture. Une première version vise l'exploitation directe d'une implantation ''bare-metal'' et une seconde version ajoute un ''pseudo-ordonnancement'' permettant d'analyser l'effet de bruits induits par d'autres processus pendant l'attaque. La seconde réalisation vise une cible plus réaliste où le cœur est instancié sur une carte FPGA avec un système d’exploitation Linux afin de prouver le réalisme de la menace micro architecturale et d’évaluer les possibilités de défense au niveau logiciel. Ces travaux montrent aussi que répliquer sur un nouveau processeur une attaque dont le principe est connu reste complexe et demande un investissement notable en durée d'analyse, même si ce processeur est libre de droits et disponible au niveau du code source.L’implémentation de ces attaques a mené à l’élaboration de protections telles la remise à zéro des ressources ciblées par les attaques. Finalement, une modification micro architecturale est proposée pour contourner les ressources présentant des fuites lors de la manipulation de données sensibles. Pour ce faire, des instructions supplémentaires sont ajoutées et employées par le programmeur lors de l’utilisation de données critiques dans son code.Mots clés : Processeurs sécurisés, Micro architecture, RISC-V, Attaques par canal caché, Attaques sur les mémoires caches, CVA6, Open-source hardware.