Des chercheurs du MIT ont montré qu'un composant des processeurs informatiques modernes qui permet à différentes zones de la puce de communiquer entre elles est sensible à une attaque par canal latéral. Crédit :Jose-Luis Olivares, MIT
Un composant des processeurs informatiques qui connecte différentes parties de la puce peut être exploité par des agents malveillants qui cherchent à voler des informations secrètes à partir de programmes exécutés sur l'ordinateur, ont découvert des chercheurs du MIT.
Les processeurs informatiques modernes contiennent de nombreuses unités de calcul, appelées cœurs, qui partagent les mêmes ressources matérielles. L'interconnexion sur puce est le composant qui permet à ces cœurs de communiquer entre eux. Mais lorsque des programmes sur plusieurs cœurs s'exécutent simultanément, il est possible qu'ils se retardent lorsqu'ils utilisent l'interconnexion pour envoyer des données sur la puce en même temps.
En surveillant et en mesurant ces retards, un agent malveillant pourrait mener ce que l'on appelle une « attaque par canal latéral » et reconstruire des informations secrètes stockées dans un programme, telles qu'une clé cryptographique ou un mot de passe.
Les chercheurs du MIT ont procédé à une ingénierie inverse de l'interconnexion sur puce pour étudier comment ce type d'attaque serait possible. S'appuyant sur leurs découvertes, ils ont construit un modèle analytique de la circulation du trafic entre les cœurs d'un processeur, qu'ils ont utilisé pour concevoir et lancer des attaques par canal latéral étonnamment efficaces. Ensuite, ils ont développé deux stratégies d'atténuation qui permettent à un utilisateur d'améliorer la sécurité sans apporter de modifications physiques à la puce informatique.
"Beaucoup de défenses latérales actuelles sont ad hoc - nous voyons un peu de fuite ici et nous la corrigeons. Nous espérons que notre approche avec ce modèle analytique poussera des défenses plus systématiques et robustes qui éliminent des classes entières d'attaques en même temps ", déclare le co-auteur principal Miles Dai, MEng '21.
Dai a écrit l'article avec le co-auteur principal Riccardo Paccagnella, un étudiant diplômé de l'Université de l'Illinois à Urbana-Champaign; Miguel Gomez-Garcia '22; John McCalpin, chercheur au Texas Advanced Computing Center; et l'auteur principal Mengjia Yan, professeur adjoint en développement de carrière Homer A. Burnell en génie électrique et en informatique (EECS) et membre du Laboratoire d'informatique et d'intelligence artificielle (CSAIL). La recherche est présentée à la USENIX Security Conference.
Processeurs de sondage
Un processeur moderne ressemble à une grille bidimensionnelle, avec plusieurs cœurs disposés en lignes et en colonnes. Chaque cœur a son propre cache où les données sont stockées, et il existe également un cache plus grand qui est partagé sur l'ensemble du processeur. Lorsqu'un programme situé sur un cœur a besoin d'accéder à des données dans un cache qui se trouve sur un autre cœur ou dans le cache partagé, il doit utiliser l'interconnexion sur puce pour envoyer cette demande et récupérer les données.
Bien qu'il s'agisse d'un composant important du processeur, l'interconnexion sur puce reste sous-étudiée car elle est difficile à attaquer, explique Dai. Un pirate informatique doit lancer l'attaque lorsque le trafic de deux cœurs interfère réellement l'un avec l'autre, mais comme le trafic passe si peu de temps dans l'interconnexion, il est difficile de chronométrer l'attaque au bon moment. L'interconnexion est également complexe et le trafic peut emprunter plusieurs chemins entre les cœurs.
Pour étudier comment le trafic circule sur l'interconnexion, les chercheurs du MIT ont créé des programmes qui accèderaient intentionnellement aux caches mémoire situés en dehors de leurs cœurs locaux.
"En testant différentes situations, en essayant différents emplacements et en échangeant les emplacements de ces programmes sur le processeur, nous pouvons comprendre quelles sont les règles qui régissent les flux de trafic sur l'interconnexion", explique Dai.
Ils ont découvert que l'interconnexion est comme une autoroute, avec plusieurs voies allant dans toutes les directions. Lorsque deux flux de trafic entrent en collision, l'interconnexion utilise une politique d'arbitrage prioritaire pour décider quel flux de trafic doit passer en premier. Les requêtes plus "importantes" ont la priorité, comme celles des programmes qui sont critiques pour les opérations d'un ordinateur.
À l'aide de ces informations, les chercheurs ont construit un modèle analytique du processeur qui résume la façon dont le trafic peut circuler sur l'interconnexion. Le modèle montre quels cœurs seraient les plus vulnérables à une attaque par canal latéral. Un noyau serait plus vulnérable s'il était accessible par de nombreuses voies différentes. Un attaquant pourrait utiliser ces informations pour sélectionner le meilleur noyau à surveiller pour voler des informations à un programme victime.
"Si l'attaquant comprend le fonctionnement de l'interconnexion, il peut se configurer de manière à ce que l'exécution d'un code sensible soit observable via un conflit d'interconnexion. Ensuite, il peut extraire, petit à petit, des informations secrètes, comme une clé cryptographique", explique Paccagnella. .
Attaques efficaces
Lorsque les chercheurs ont utilisé ce modèle pour lancer des attaques par canal latéral, ils ont été surpris par la rapidité avec laquelle les attaques fonctionnaient. Ils ont pu récupérer des clés cryptographiques complètes à partir de deux programmes victimes différents.
Après avoir étudié ces attaques, ils ont utilisé leur modèle analytique pour concevoir deux mécanismes d'atténuation.
Dans la première stratégie, l'administrateur système utiliserait le modèle pour identifier les cœurs les plus vulnérables aux attaques, puis planifierait l'exécution de logiciels sensibles sur des cœurs moins vulnérables. Pour la deuxième stratégie d'atténuation, l'administrateur peut réserver des cœurs situés autour d'un programme sensible et n'exécuter que des logiciels de confiance sur ces cœurs.
Les chercheurs ont découvert que les deux stratégies d'atténuation étaient capables de réduire considérablement la précision des attaques par canal latéral. Ni l'un ni l'autre n'oblige l'utilisateur à apporter des modifications au matériel physique, de sorte que les mesures d'atténuation seraient relativement faciles à mettre en œuvre, déclare Dai.
En fin de compte, ils espèrent que leurs travaux inspireront davantage de chercheurs à étudier la sécurité des interconnexions sur puce, déclare Paccagnella.
"Nous espérons que ce travail met en évidence comment l'interconnexion sur puce, qui est un composant si important des processeurs informatiques, reste une surface d'attaque négligée. À l'avenir, alors que nous construisons des systèmes qui ont des propriétés d'isolation plus fortes, nous ne devrions pas ignorer l'interconnexion, " il ajoute.
Cette histoire est republiée avec l'aimable autorisation de MIT News (web.mit.edu/newsoffice/), un site populaire qui couvre l'actualité de la recherche, de l'innovation et de l'enseignement du MIT. Une fonctionnalité de sécurité est-elle en route pour accélérer l'informatique ?