Conception de systèmes sécurisés par une réduction des effets de la micro-architecture sur les attaques par canaux auxiliaires – IDROMEL
IDROMEL
Renforcer la sécurité des systèmes face aux effets de la micro-architecture sur les canaux de fuite
Vers des systèmes plus robustes face aux vulnérabilités introduites par les canaux de fuite
Depuis une dizaine d'année maintenant, les attaques exploitant des caractéristiques matérielles d'un système (exploitation d'informations résiduelles dans les caches, observation de la consommation énergétique, injection de fautes sur l'alimentation, ...) prennent une place de plus en plus importante dans la préoccupation des industriels. De nombreux exemples historiques montrent que même les systèmes considérés sécurisés voient leur sécurité s'effondrer à cause de ces vulnérabilités : carte à puce, serveurs, composants matériels pour la sécurité, accélérateurs matériels pour la cryptographie. Parmi elles, les attaques exploitant la consommation énergétique ou les émanations électromagnétiques ont focalisés l’attention ces dernières années car elles représentent, avec les attaques par injection de faute, la manière la plus efficace de casser des implémentations d'algorithme de cryptographie aujourd'hui.<br />Des méthodes de détection et de sécurisation automatiques ont été proposées dans l'état de l'art. Elles reposent sur un modèle abstrait et simplifié de l'architecture du système afin de pouvoir rendre ces méthodes efficaces. Cependant, elles se révèlent insuffisante : la micro-architecture, décrivant les détails de l'implémentation matériel des briques de l'architecture, se révèle un vecteur non négligeable de fuites. Ainsi, le prise en compte de cette micro-architecture devient indispensable afin d'atteindre le niveau de sécurité souhaité.<br /><br />IDROMEL est un projet de recherche collaboratif entre Arm, le CEA, l'IRISA, le LAAS et SU qui vise à renforcer la sécurité des systèmes face aux attaques par canaux auxiliaires basées sur la consommation énergétique et les ondes électromagnétiques, pour une large gamme de systèmes (objets à fortes contraintes de type IoT jusqu'aux architectures plus complexes que l'on retrouve dans les smartphones). IDROMEL cible plus particulièrement les problématiques liées à la micro-architecture en proposant un certain nombre de méthodes et d’outils pour évaluer la sécurité d’une implémentation, intégrer des contre-mesures au niveau du logiciel (pendant la phase de compilation) et matériel (pendant la phase de conception du système).
La méthode suivie par le projet IDROMEL repose sur une approche ascendante,
partant du développement de méthodes de caractérisation et de modélisation des fuites, jusqu’à la
production de preuves de concepts via le durcissement de blocs logiciels et matériels de référence.
En particulier, le projet propose :
• Une caractérisation des source de fuite : Une méthodologie pour évaluer les sources de fuite depuis une description détaillée de la micro-architecture (boite grise) ou des seules informations publiques (boite noire), avec un ensemble de tests publiques et reproductibles à base de vecteurs de test ;
• Des outils de validation de la sécurité : vérification formelle de code, simulateurs de fuites et outils d'analyse de vulnérabilités ;
• Outils de renforcement automatique de la sécurité : introduction de contre-mesures logicielles directement pendant la phase compilation, et matérielles durant la phase de conception.
Le projet IDROMEL a permis la mise en place d'une plateforme commune de recherche sur les attaques par canaux de fuite en consommation énergétique et émanation électromagnétiques nommé lip6dromel, qui a eu la capacité à fédérer et simplifier la collaboration entre les porteurs du projet.
La prochaine étape du projet vise à intégrer les travaux sur la caractérisation de fuite dans des outils de renforcement automatique d'une part, et à proposer des méthodes de sécurisation d'autre part.
Le projet a fait également l'objet d'une publication et communication scientifique de part de SU et Arm sur l'intégration d'un modèle de fuite du Cortex-M3 dans un moteur d'exécution symbolique pour la détection de fuite d'ordre 1 (ARMISTICE).
Omniprésents dans notre quotidien, les systèmes mobiles et les objets connectés sont les cibles de nombreuses attaques. En particulier, les attaques par canaux auxiliaires basés sur l'observation du champ électromagnétique ou la consommation, sont extrêmement dangereuses car quasi-impossible à détecter. De plus, on constate que les systèmes endurcis pour faire face à ces attaques restent vulnérables à cause des effets de la micro-architecture qui sont mal connus et complexes à modéliser. Le projet IDROMEL propose de concevoir de manière ascendante un ensemble de méthodes et outils pour la conception de systèmes mieux sécurisés. Ainsi, à partir de méthodes de caractérisation et de modèles adéquats de la micro-architecture, IDROMEL propose de mettre au point des outils d’analyse de sécurité par simulation et par vérification formelle, une sécurisation automatisée à la compilation ainsi que des protections matérielles permettant une sécurisation logicielle plus légère.
Coordination du projet
Vincent Migliore (Laboratoire d'analyse et d'architecture des systèmes du CNRS)
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
LAAS-CNRS Laboratoire d'analyse et d'architecture des systèmes du CNRS
LIST Laboratoire d'Intégration des Systèmes et des Technologies
LIP6 Laboratoire d'informatique de Paris 6
IRISA Institut de Recherche en Informatique et Systèmes Aléatoires
Arm FRANCE SAS ARM FRANCE SAS
Aide de l'ANR 781 828 euros
Début et durée du projet scientifique :
- 48 Mois
Liens utiles
- Voir la liste des projets sélectionnés
- Site internet du projet Conception de systèmes sécurisés par une réduction des effets de la micro-architecture sur les attaques par canaux auxiliaires
- Lien permanent vers ce résumé sur le site ANR (ANR-20-CE39-0010)
- Voir les publications dans le portail HAL-ANR