Secure V – SecV
Depuis des décennies, l’évolution des processeurs s’est principalement focalisée sur l’amélioration de leurs performances. Ces dernières années, des attaques exploitant les mécanismes d’optimisation sont apparues. Exploitant, par exemple, des failles des mémoires caches, des compteurs de performances ou des unités de spéculation, elles remettent en cause la sûreté et la sécurité des processeurs et des systèmes industriels qui les exploitent. On pourra citer Spectre et Meltdown par exemple.
Les approches de l’OpenHW sont maintenant à la fois une réalité économique et une opportunité d’innovation pour les acteurs Européens du domaine de l’architecture des processeurs. L’utilisation de cette approche open-source permet de concevoir des cœurs de processeurs sécurisés, et d’aller vers plus de souveraineté dans le domaine de la cybersécurité.
Le projet SECURE-V propose un cœur de processeur innovant open-source, sécurisé et haute-performance basé sur l’ISA RISC-V. L’originalité de l’approche réside sur l’intégration d’une unité dynamique de transformation de code couvrant 4 des 5 fonctions NIST de la cybersécurité notamment via le monitoring (identifier, détecter), l’obfuscation (protéger), et l’adaptation dynamique (réagir).
Cette gestion dynamique ouvre la voie à des optimisations en ligne améliorant la sécurité et la sûreté de la microarchitecture sans remanier ni le logiciel, ni l’architecture de la puce.
Comme nous travaillons au niveau de la micro-architecture, l'architecture SECURE-V sera au centre du noyau de sécurité des futurs produits. La solution innovante proposée s'articule autour de trois apports principaux:
1) L'unité de transformation de code dynamique, qui est l'idée centrale du projet, prendra en charge les modifications à la volée des processus de traduction et de décodage des instructions. Ces modifications visent à fournir des éléments de sécurité en modifiant le comportement du chemin de données du pipeline du processeur ou en masquant les chemins sensibles par l’obfuscation des données. Ces deux mécanismes sont possibles via des instructions de reprogrammation d'opérations ou par l'injection d'opérations supplémentaires dans le pipeline. Cette unité permettra également l'instrumentation dynamique d'un code sans modifier le binaire d'origine.
2) Les politiques avancées de gestion de la mémoire configurable ajouteront un niveau supplémentaire d’obfuscation. On peut citer par exemple des alternatives aux caches classiques comme les scratchpads à gestion dynamique, les mémoires dédiées et les caches partiellement reconfigurables en SRAM. La conception et gestion dynamique du cache, orientée sécurité, sera également étudiée. Enfin, comme pour le pipeline, nous pourrons également insérer (périodiquement ou de manière plus contrôlée) des instructions d'accès à différentes zones mémoire afin de modifier les activités d'accès aux données pour perturber les attaques par canaux auxiliaires.
3) Afin de compléter l'approche et de contrôler notamment les changements dynamiques du comportement de la microarchitecture, un bloc de contrôle dynamique sera développé. En observant l'état de la microarchitecture, cette unité sera en mesure de déterminer quand des propriétés de sécurité spécifiques sont violées, dénotant un comportement anormal. Celui-ci pouvant résulter d'une attaque, ou lorsqu’un contexte spécifique devra être sécurisé. En réaction à la situation détectée, il déclenchera une adaptation via l'unité de transformation de code dynamique et/ou la microarchitecture. L'utilisation de la vérification en ligne, qui est une méthode formelle légère, pour synthétiser les moniteurs des propriétés de sécurité, aidera à justifier la confiance placée dans cette unité.
Les principaux résultats du projet sont un prototype d'une architecture, construite sur le cœur RISC-V CVA6, implémenté dans un FPGA, enchâssant les blocs de sécurité conçus dans le projet et une analyse du niveau de sécurité atteint par les propositions.
Coordination du projet
Sebastien Pillement (INSTITUT D'ELECTRONIQUE ET DE TELECOMMUNICATION DE RENNES (IETR))
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.
Partenariat
IETR INSTITUT D'ELECTRONIQUE ET DE TELECOMMUNICATION DE RENNES (IETR)
LS2N Laboratoire des Sciences du Numérique de Nantes
IMS LABORATOIRE D'INTEGRATION DU MATERIAU AU SYSTEME
INVIA Thales / DIS Design Services SAS
TRT Thales Research & Technology - France
IMS LABORATOIRE D'INTEGRATION DU MATERIAU AU SYSTEME
Aide de l'ANR 731 833 euros
Début et durée du projet scientifique :
- 42 Mois