Détection dynamique d'attaques logicielles et matérielles basée sur l'analyse de signaux microarchitecturaux - Équipe Tolérance aux fautes et Sûreté de Fonctionnement informatique Accéder directement au contenu
Thèse Année : 2022

Dynamic software and hardware attack detection based on microarchitectural signals analysis

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

Résumé

In recent years, computer systems have evolved quickly. This evolution concerns different layers of the system, both software (operating systems and user programs) and hardware (microarchitecture design and chip technology). While this evolution allows to enrich the functionalities and improve the performance, it has also increased the complexity of the systems. It is difficult, if not impossible, to fully understand a particular modern computer system, and a greater complexity also stands for a larger attack surface for hackers. While most of the attacks target software vulnerabilities, over the past two decades, attacks exploiting hardware vulnerabilities have emerged and demonstrated their serious impact. For example, in 2018, the Spectre and Meltdown attacks have been disclosed, that exploited vulnerabilities in the microarchitecture layer to allow powerful arbitrary reads, and highlighted the security issues that can arise from certain optimizations of system microarchitecture. Detecting and preventing such attacks is not intuitive and there are many challenges to deal with: (1) the great difficulty in identifying sources of vulnerability implied by the high level of complexity and variability of different microarchitectures; (2) the significant impact of countermeasures on overall performance and on modifications to the system's hardware microarchitecture generally not desired; and (3) the necessity to design countermeasures able to adapt to the evolution of the attack after deployment of the system. To face these challenges, this thesis focuses on the use of information available at the microarchitecture level to build efficient attack detection methods.In particular, we describe a framework allowing the dynamic detection of attacks that leave fingerprints at the system's microarchitecture layer. This framework proposes: (1) the use microarchitectural information for attack detection, which can effectively cover attacks targeting microarchitectural vulnerabilities; (2) a methodology that assists designers in selecting relevant microarchitectural information to extract; (3) the use of dedicated connections for the transmission of information extracted, in order to ensure high transmission bandwidth and prevent data loss; and (4) the use of reconfigurable hardware in conjunction with software to implement attack detection logic. This combination (composing to the so-called detection module) reduces the performance overhead through hardware acceleration, and allows updating detection logic during the system lifetime with reconfiguration in order to adapt to the evolution of attacks. We present in detail the proposed architecture and modification needed on the operating system, the methodology for selecting appropriate microarchitectural information and for integrating this framework into a specific computer system, and we describe how the final system integrating our detection module is able to detect attacks and adapt to attack evolution. This thesis also provides two use-case studies implemented on a prototype (based on a RISC-V core with a Linux operating system) on an FPGA. It shows that, thanks to the analysis of microarchitectural information, relatively simple logic implemented in the detection module is sufficient to detect different classes of attacks (cache side-channel attack and ROP attack).
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.
Fichier principal
Vignette du fichier
2022YuxiaoMAO.pdf (1.35 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03783728 , version 1 (14-09-2022)
tel-03783728 , version 2 (22-09-2022)

Identifiants

  • HAL Id : tel-03783728 , version 2

Citer

Yuxiao Mao. Détection dynamique d'attaques logicielles et matérielles basée sur l'analyse de signaux microarchitecturaux. Architectures Matérielles [cs.AR]. INSA de Toulouse, 2022. Français. ⟨NNT : 2022ISAT0015⟩. ⟨tel-03783728v2⟩
211 Consultations
285 Téléchargements

Partager

Gmail Facebook X LinkedIn More