Thèse Année : 2024

Modeling of micro-architecture for security with gem5

Modélisation des micro-architectures pour la sécurité avec la plate-forme Gem5

Résumé

Embedded systems are the target of a wide variety of attacks, both software and hardware level. Microarchitectural attacks are particularly difficult to study. By taking advantage of the specific behaviors of systems-on-achip, these attacks enable an attacker to take control of a system or protected resources, bypassing process isolation mechanisms. These attacks can target all element in an SoC: CPU, caches, memory, accelerators (FPGA, GPU), interfaces, etc. The Trusted Execution Environment (TEE), key element of SoC security and involved in securing banking applications, is also the target of micro-architectural attacks. In this thesis, I adopt a simulation-based approach to security: through a virtual platform based on gem5, I reproduce and study micro-architectural attacks against TEEs. To achieve this, I improved gem5’s support for TEEs, allowing the use of an open-source TEE (OP-TEE) I also augmented the GDB debugger present in gem5 to allow the study of attack scenarios, leveraging the simulator environment. With this interface, I created TEE-Time, a tool to analyze cache-timing weaknesses. Thanks to TEE-Time, I found vulnerabilities in standard RSA implementations in OP-TEE, I validated this vulnerabilities with cache timing attacks simulated using my virtual platform. To further validate these attacks on a real system, I developed a virtual platform reproducing the RockPi4 board. To simulate the Rockchip RK3399 SoC on the RockPi4, I developed PyDevices fast-prototyping tools for system devices using gem5’s Python interface. Through cache timing simulation, I discovered that the RK3399 uses AutoLock, an ARM-specific cache protocol. Compiling AutoLock into gem5, I ran my attack scenario targeting OP-TEE’s RSA implementation on the RK3399 simulation. By executing this same attack without any modification on a RockPi4, I managed to leak an average of 30% of the RSA key bits, thus making the link between cache attacks and their exploitation in a real system.
Les systèmes embarqués sont la cible d’une grande variété d’attaques, tant au niveau logiciel que matériel. Parmi celles-ci, les attaques micro-architecturales sont particulièrement difficiles à étudier. En effet, en tirant parti des comportements spécifiques des systèmes sur puce (System-on-Chip (SoC)), ces attaques permettent à un attaquant de prendre le contrôle d’un système ou de ressources protégées, en contournant les mécanismes d’isolation entre processus. Ces attaques peuvent cibler toutes les parties d’un SoC : CPU, caches, mémoire, accélérateurs (FPGA, GPU,), interfaces, etc. L’environnement d’exécution de confiance (TEE), au cur de la sécurité des SoC modernes, impliqué dans la sécurisation d’applications bancaire, est lui aussi la cible d’attaques micro-architecturales. Dans cette thèse, j’adopte une approche basée la simulation pour la sécurité: au travers d’une plate-forme virtuelle basée sur gem5, je reproduis et étudie les attaques microarchitecturales contre les SoCs. Pour ce faire, j’ai amélioré le support de gem5 pour les TEEs, rendant possible l’utilisation d’un TEE open-source (OP-TEE) et le débogueur GDB présent dans gem5 pour permettre ainsi l’étude des scénarios d’attaque, tirant partie du simulateur. Avec cette interface, j’ai créé TEE-Time, un outil qui analyse les faiblesses cache-timing. Grâce à TEE-Time, j’ai trouvé des vulnérabilités dans des implémentations cryptographiques standard de RSA dans OP-TEE. Je les ais validées par des attaques cache-timing simulées avec gem5. Pour étendre ces attaques à un système réel, j’ai développé une plate-forme virtuelle reproduisant la carte RockPi4. Pour simuler son SoC RK3399 designé par Rockchip, j’ai développé les PyDevices des outils de prototypage-rapide utilisant l’interface Python de gem5. A travers la simulation d’attaque cache, j’ai découvert que le RK3399 utilisait AutoLock, un protocole de cache spécifique à ARM. En incorporant AutoLock dans gem5, j’ai simulé un scénario d’attaque ciblant le RSA d’OP-TEE sur le RK3399. En exécutant cette même attaque sans aucune modification sur un RockPi4, j’ai réussi à faire fuir en moyenne ∼30% des bits de la clé RSA, faisant ainsi le lien entre attaques cache et leur exploitation dans un vrai système.
Fichier principal
Vignette du fichier
126758_FORCIOLI_2024_archivage.pdf (15.48 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)

Dates et versions

tel-04913269 , version 1 (27-01-2025)

Identifiants

  • HAL Id : tel-04913269 , version 1

Citer

Quentin Forcioli. Modeling of micro-architecture for security with gem5. Embedded Systems. Institut Polytechnique de Paris, 2024. English. ⟨NNT : 2024IPPAT033⟩. ⟨tel-04913269⟩
0 Consultations
0 Téléchargements

Partager

More