ARCHI-SEC: Sécurité au niveau des micro-architectures – ARCHI-SEC
ARCHI-SEC
Analyse de la sécurité au niveau micro-architecture
Analyser la sécurité et les vulnérabilités au niveau micro-architecture des processeurs et de leurs périphériques avec la plate-forme de simulation GEM5.
Les objectifs sont les suivants :<br />* Mettre en évidence les vulnérabilités architecturales des processeurs au niveau modèle et anticiper les attaques qui en tirent parti. Nous limitons notre étude aux Systèmes basés sur les processeurs ARM et RISC-V. Pour les logiciels, nous utilisons soit un système d’exploitation personnalisé type “BareMetal”, soit Linux. Nous prévoyons d'utiliser différents modes pour une même classe de problèmes de sécurité.<br />* Trouver le compromis optimal entre vitesse et précision de simulation pour évaluer les problèmes de sécurité. Les vulnérabilités au niveau micro-architecture sont souvent liées aux architectures permettant d’augmenter les performances, comme les prédictions spéculatives de branchement, l’utilisation de mémoires cache... Un équilibre<br />performance/sécurité doit être étudié.<br />* Etudier les Systèmes intégrés et les “System on a Chip” SoC hétérogènes, c’est à dire avec de nombreuses interfaces périphériques ou intégrant des processeurs type GPU, des circuits programmables FPGA, plusieurs coeurs de processeurs avec une unité de gestion de cohérence de cache,… Pour rendre les modèles HDL utilisables dans GEM5, nous<br />utiliserons le niveau de transaction modélisation (SystemC TLM II) pour les blocs FPGA.<br />* Incorporer des modèles d'exécution de confiance (TEE) dans GEM5. Nous limitons notre portée à un hyperviseur sécurisé open source OPTEE (Open Trusted Execution Environment) qui repose sur la technologie ARM Trustzone.
La plate-forme GEM5 est modifiée pour identifier les vulnérabilités, développer des attaques sur les cœurs de processeur et les SoC, étudier les contre-mesures. Le coeur de l'approche repose sur la mise en place d'une plate-forme virtuelle GEM5 pour l'évaluation de la sécurité. Plus précisément la méthode comprend trois étapes :
1. Identification des vulnérabilités potentielles dans le code source et dans la micro-architecture.
2. Proposer et développer des attaques exploitant les vulnérabilités et les simuler sur la plate-forme GEM5.
3. Valider les attaques sur une plate-forme réelle.
Les attaques et vulnérabilités sont étudiées pour les processeurs et les éléments composant l'architecture SoC :
* Coeur CPU avec et sans protection comme ARM TrustZone.
* Mémoire cache
* Technologie de mémoire principale et de mémoire émergente
* Accélérateurs GPU/FPGA
Quelques résultats à mi-parcours :
* Mise en place de la plate-forme virtuelle ouverte
* Modification de Gem5 pour supporter OPTEE
* Validation des attaques sur les mémoires caches avec GEM5
* Validation des attaques «transientes« comme Spectre avec GEM5
* Validation de l'attaque sur le «Dynamic Voltage and Frequency Scaling« DVFS avec GEM5.
* Integration de l'outil «Ramulator« à Gem5 pour simuler les attaques«RowHammer«
Les perspectives sont de rechercher et valider ders attaques avec la plate-forme virtuelle Gem5. Voici une liste non exhaustive des différentes architectures ciblées :
* CPU dans un environnement sécurise comme OPTEE executé sur ARM/Trustzone
* CPU utilisant un système d'exploitation simple (type «Baremetal«) et sécurisé
* Interfaces entre CPU et périphériques dans un SoC , comme les accélérateurs.
* Mémoires non volatiles , pour faire face s aux attaques en fautes de type «RowHammer« et «cold boot«, notamment les mémoires de technologies non volatiles émergentes.
Pierre Ayoub, Clémentine Maurice«Reproducing Spectre Attack
with gem5: How To Do It Right? “,, 14th European Workshop on
Systems Security
Loïc France, Maria Mushtaq, Florent Bruguier, David Novo and
Pascal Benoit «Vulnerability Assessment of the Rowhammer
Attack Using Machine Learning and the gem5 Simulator — Work
in Progress« ACM SaT-CPS '21 conference
Lilian Bossuet, El Mehdi Benhani. Security Assessment of
Heterogenous SoC-FPGA: On the Practicability of Cache Timing
Attacks.In Proceedings of 29 th IFIP/IEEE International
Conference on very Large Scale Integration, VLSI-SoC 2021,
Singapore, October 2021.
Sylvain Guilley, Michel Le Rolland, Damien Quenson.
Implementing Secure Applications thanks to an Integrated
Secure Element. 7th International Conference on Information
Systems Security and Privacy, INSTICC, Feb 2021, Vienne (en
ligne), Austria. ?hal-03084250v2?
ARCHI-SEC partners, “Virtual Platform to Analyze the Security of
aSystem on Chip at Microarchitectural Level “. Work in Progress, SILM Workshop,
Vienna, 2021
Les attaques exploitant des vulnérabilités micro-architecturales, telles que Meltdown, Spectre, Rowhammer, etc., sont en augmentation. Les systèmes sur puce "SoC" modernes embarquent de plus en plus de fonctionnalités de conception complexes, telles que la prédiction de branchement, l'exécution dans le désordre, les protocoles de cohérence de la mémoire cache, les GPU / FPGA intégrés, les nouvelles mémoires non volatiles. L'aspect sécurité de ces nouvelles architectures et technologies reste sous-étudié. Ce projet vise à modéliser les problèmes architecturaux avec une plate-forme virtuelle basée sur gem5. Elle sera utilisée pour les tests d'intrusion, évaluer le coût de performance des contre-mesures, anticiper de nouvelles attaques et proposer des protections. Ces dernières sont validées sur des plates-formes basées sur les processeurs ARM et RISC-V. L’impact majeur de ce projet sera la création d’une communauté autour de la plateforme virtuelle. Le projet sera réalisé en collaboration avec la PME Secure-IC, qui amènera sa compétence en développement et sa connaissance des besoins industriels au projet.
Coordinateur du projet
Monsieur Jean-Luc Danger (LTCI)
L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.
Partenaire
SIC SECURE-IC SAS
CRISTAL CRISTAL
LTCI LTCI
UM-LIRMM Laboratoire d'Informatique, de Robotique et de Microélectronique de Montpellier
IRISA Institut de Recherche en Informatique et Systèmes Aléatoires
UJM/LabHC Laboratoire Hubert Curien
Aide de l'ANR 844 034 euros
Début et durée du projet scientifique :
septembre 2019
- 42 Mois