Thèse soutenue

Détection dynamique d'attaques logicielles et matérielles basée sur l'analyse de signaux microarchitecturaux

FR  |  
EN
Auteur / Autrice : Yuxiao Mao
Direction : Vincent NicometteVincent Migliore
Type : Thèse de doctorat
Discipline(s) : Informatique et Télécommunications
Date : Soutenance le 01/07/2022
Etablissement(s) : Toulouse, INSA
Ecole(s) doctorale(s) : École doctorale Mathématiques, informatique et télécommunications
Partenaire(s) de recherche : Laboratoire : LAAS - Laboratoire d'Analyse et d'Architecture des Systèmes - Laboratoire d'analyse et d'architecture des systèmes / LAAS
Jury : Président / Présidente : Lilian Bossuet
Examinateurs / Examinatrices : Vincent Nicomette, Vincent Migliore, Karine Heydemann, Guy Gogniat, Sylvain Guilley, Maria Mendez Real, Benoit Morgan
Rapporteurs / Rapporteuses : Karine Heydemann, Guy Gogniat, Sylvain Guilley

Résumé

FR  |  
EN

Les systèmes informatiques ont évolué rapidement ces dernières années, ces évolutions touchant toutes les couches des systèmes informatiques, du logiciel (systèmes d'exploitation et logiciels utilisateur) au matériel (microarchitecture et technologie des puces). Si ce développement a permis d'accroître les fonctionnalités et les performances, il a également augmenté la complexité des systèmes (rendant plus difficile la compréhension globale du système), et par la-même augmenté la surface d'attaque pour les pirates. Si les attaques ont toujours ciblé les vulnérabilités logicielles, au cours des deux dernières décennies, les attaques exploitant les vulnérabilités matérielles des systèmes informatiques sont devenues suffisamment graves pour ne plus être ignorées. En 2018, par exemple, la divulgation des attaques Spectre et Meltdown a mis sur le devant de la scène les problèmes que peuvent poser certaines optimisations faites dans la microarchitecture des systèmes. Malheureusement, la détection et la protection contre ces attaques se révèlent particulièrement complexes, et posent donc aujourd'hui de nombreux défis : (1) le niveau élevé de complexité et de variabilité de la microarchitecture implique une grande difficulté à identifier les sources de vulnérabilité; (2) les contremesures impliquant une modification de la microarchitecture peuvent impacter significativement les performances globales du système complet; et (3) les contremesures doivent pouvoir s'adapter à l'évolution des attaques. Pour donner des éléments de réponse, cette thèse s'est intéressée à l'utilisation des informations qui sont disponibles au niveau de la microarchitecture pour construire des méthodes de détection efficaces.Ces travaux ont en particulier abouti à la construction d'un framework permettant la détection d'attaques qui laissent des empreintes au niveau de la couche microarchitecturale. Ce framework propose : (1) d'utiliser les informations microarchitecturales pour la détection des attaques, couvrant efficacement les attaques visant les vulnérabilités microarchitecturales; (2) de proposer une méthodologie pour aider les concepteurs dans le choix des informations pertinentes à extraire de la microarchitecture; (3) d'utiliser des connexions dédiées pour la transmission de ces informations microarchitecturales afin de garantir une haute bande passante; et (4) d'utiliser du matériel reconfigurable en conjonction avec du logiciel pour implémenter la logique de détection des attaques. Cette combinaison de logiciel et matériel reconfigurable (constituant le module de détection) permet à la fois de réduire l'impact sur les performances grâce à de l'accélération matérielle, et de mettre à jour la logique de détection afin de s'adapter à l'évolution des menaces par la reconfiguration au cours du cycle de vie du système. Nous présentons en détails les changements requis au niveau de la microarchitecture et du système d'exploitation, la méthodologie pour sélectionner les informations microarchitecturales appropriées, l'intégration de ce framework dans un système informatique spécifique, ainsi que la description du fonctionnement du système final pendant son cycle de vie. Cette thèse décrit pour finir deux cas d'étude menés sur un prototype (basé sur un coeur RISC-V) sur un FPGA, et montre comment des logiques relativement simples implantées dans le module de détection nous ont permis de détecter des attaques de classes différentes (attaque visant les caches et attaques de type ROP) sur un système complet exécutant un système d'exploitation, via l'exploitation d'informations provenant de la microarchitecture.