Modélisation des micro-architectures pour la sécurité avec la plate-forme Gem5
Auteur / Autrice : | Quentin Forcioli |
Direction : | Jean-Luc Danger, Sumanta Chaudhuri |
Type : | Thèse de doctorat |
Discipline(s) : | Réseaux, informations et communications |
Date : | Soutenance le 21/11/2024 |
Etablissement(s) : | Institut polytechnique de Paris |
Ecole(s) doctorale(s) : | École doctorale de l'Institut polytechnique de Paris |
Partenaire(s) de recherche : | Laboratoire : Laboratoire Traitement et communication de l'information (Paris ; 2003-....) - Laboratoire de Traitement et Communication de l'Information |
Etablissement opérateur d'inscription : Télécom Paris (Palaiseau, Essonne ; 1878-....) | |
Jury : | Président / Présidente : Lilian Bossuet |
Examinateurs / Examinatrices : Lilian Bossuet, Guillaume Hiet, Gilles Sassatelli, Damien Couroussé | |
Rapporteur / Rapporteuse : Guillaume Hiet, Gilles Sassatelli |
Résumé
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.