Processeurs Sécurisés et Attaques de Micro Architecture
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 |
Mots clés
Résumé
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.