MR - stock.adobe.com
Google dévoile les attaques « Downfall », basées sur une vulnérabilité dans les puces Intel
Le chercheur de Google, Daniel Moghimi, a d'abord signalé la vulnérabilité référencée CVE-2022-40982 et les attaques en fuite de données résultantes à Intel en août 2022, mais il a fallu près de 12 mois pour divulguer cette vulnérabilité.
Alors que l’on pensait que les microprocesseurs modernes étaient en sécurité après Meltdown et Spectre, une nouvelle vulnérabilité affectant les puces Intel menace de révéler des données sensibles.
Google a révélé mardi 8 août Downfall, une nouvelle catégorie d'attaques qui exploitent une vulnérabilité dans les fonctions de collecte de données spéculatives dans les processeurs superscalaires, un marché dominé par Intel. La vulnérabilité, référencée CVE-2022-40982, est causée par une fonction d'optimisation de la mémoire au sein des architectures modernes de puces Intel et affecte les processeurs Core du fondeur, de la série Skylake de sixième génération aux puces Tiger Lake de onzième génération.
La vulnérabilité référencée CVE-2022-40982 a été initialement découverte par Daniel Moghimi, un chercheur principal chez Google, qui a présenté ses découvertes lors d’un atelier organisé à Black Hat USA 2023. Cette vulnérabilité permet à un utilisateur d'accéder et de voler des données d'un autre utilisateur sur le même CPU et pourrait être utilisée pour obtenir des mots de passe, des clés de chiffrement et d'autres informations de grande valeur.
Daniel Moghimi a découvert que des acteurs malveillants pouvaient abuser de l'instruction gather pour les processeurs superscalaires d'Intel, qui sont conçus pour un accès plus rapide aux données en mémoire. Alors que gather est censé collecter les données en mémoire et les déplacer vers le registre vectoriel du CPU, il a constaté que l'instruction divulguait les données dans le cadre d’exécution spéculative.
Daniel Moghimi s'est entretenu avec la rédaction de TechTarget avant la session à propos de la vulnérabilité et des attaques mettant à profit Downfall. Suite aux révélations de Meltdown et Spectre en 2018, il s'est davantage intéressé aux vulnérabilités des microprocesseurs. Et comme beaucoup de chercheurs en sécurité, a-t-il dit, il avait le sentiment que les mesures d'atténuation et les correctifs déployés par les principaux fabricants de puces avaient essentiellement éliminé toute attaque future par canal auxiliaire d'exécution spéculative ou transitoire.
Ce ne fut pas le cas. Daniel Moghimi a déclaré avoir commencé à examiner l'instruction gather l'été dernier et a rapidement découvert les attaques Downfall. Bien qu'il ait signalé la vulnérabilité à Intel en août 2022, la divulgation publique a été retardée d'un an en raison du temps nécessaire pour étudier la vulnérabilité et les implications des attaques l’exploitant.
« J'ai compris comment fonctionnait cette instruction [gather], et cela m'a donné l'intuition qu'elle pourrait laisser fuiter des données et permettre de les voler », a-t-il déclaré. « Je n'étais pas surpris qu'elle laisse fuiterdes données d'une application, mais j'étais plus surpris qu'elle puisse fuiter des données des fichiers de registre vectoriel ».
Daniel Moghimi a expliqué que le registre vectoriel est essentiellement une mémoire à l'intérieur du cœur du CPU qui a été introduite il y a 15 ans avec la technologie des Extensions Vectorielles Avancées (AVE), mise en œuvre dans les puces AMD et Intel x86. « La cause profonde de ce problème n'est en réalité pas l'instruction gather », relève-t-il. « L'instruction gather est essentiellement un outil qui permet les fuites de données. La cause profonde est que nous avons cette mémoire à l'intérieur du cœur du CPU, et le CPU la partage avec d'autres applications, et isoler cette mémoire est difficile ».
Pour exploiter la vulnérabilité CVE-2022-40982, Daniel Moghimi a développé deux techniques d'attaque, qui sont détaillées dans son document technique sur Downfall. La première, dite Gather Data Sampling, est une attaque « hautement pratique », selon le site web dédié à Downfall, qui permet à un attaquant de voler des données aux composants du CPU. La seconde attaque, dite Gather Value Injection, donne aux acteurs malveillants la capacité de transformer les fuites de données en injections de données microarchitecturales.
Bien que les attaques Downfall puissent être particulièrement dévastatrices sur les processeurs dans une infrastructure en cloud ou sur des machines virtuelles et pourraient affecter un nombre significatif d'utilisateurs sur un système partagé, Daniel Moghimi a souligné que cette vulnérabilité représente également une menace sérieuse pour les terminaux utilisateurs. En fait, il est selon lui possible, en théorie, d'exécuter cette attaque dans un navigateur web. Mais le chercheur a précisé ne pas avoir testé une telle exploitation pour Downfall.
« Il existe des situations potentielles où votre ordinateur personnel est infecté par un logiciel malveillant et ce logiciel malveillant n'a pas accès à tous vos fichiers et ressources, mais ce type d'exploit pourrait permettre à ce logiciel malveillant [de voler des données supplémentaires] », a-t-il déclaré.
Les mesures de remédiation
Comme les précédentes mesures d'atténuation pour les vulnérabilités Meltdown et Spectre n'étaient pas efficaces pour prévenir les attaques Downfall, Intel a publié début août de nouvelles mises à jour de microcode pour la vulnérabilité CVE-2022-40982. Le fabricant de puces a également publié une liste complète des processeurs affectés.
Daniel Moghimi a déclaré avoir examiné les correctifs et ils semblent mettre fin à la fuite de données, mais il a souligné que des travaux doivent être effectués pour analyser le vecteur d'attaque et les mises à jour. Comme pour les correctifs précédents pour les vulnérabilités Meltdown et Spectre, les mises à jour pour Downfall ont un coût. Daniel Moghimi a déclaré que, selon Intel, certains traitements pourraient subir jusqu'à 50 % de surcharge. Cependant, il n'existe pas d'alternatives viables à la correction.
Même si les applications d'une organisation n'utilisent pas les instructions vectorielles, explique-t-il, un attaquant pourrait toujours les exécuter pour commettre des attaques Downfall. Dans une FAQ sur le site web de Downfall, Daniel Moghimi a fortement conseillé aux utilisateurs de ne pas désactiver les mesures d'atténuation d'Intel pour des raisons de performance, qualifiant cela de « mauvaise idée » car les microprocesseurs affectés utilisent des registres vectoriels pour optimiser des opérations courantes qui continueraient à laisser fuiter des données.
Un porte-parole d'Intel a envoyé la déclaration suivante à TechTarget : « le chercheur en sécurité, travaillant dans les conditions contrôlées d'un environnement de recherche, a démontré le problème GDS qui repose sur l'utilisation d'instructions Gather par le logiciel. Bien que cette attaque serait très complexe à réaliser en dehors de telles conditions contrôlées, les plateformes affectées disposent d'une atténuation disponible via une mise à jour du microcode. Les processeurs Intel récents, y compris Alder Lake, Raptor Lake et Sapphire Rapids, ne sont pas affectés. De nombreux clients, après avoir examiné les recommandations d'évaluation des risques d'Intel, peuvent décider de désactiver l'atténuation via des commutateurs rendus disponibles par les systèmes d'exploitation Windows et Linux ainsi que par les gestionnaires de machines virtuelles (VMMs). Dans les environnements en mode cloud, les clients devraient vérifier avec leur fournisseur la faisabilité de ces commutateurs ».
Intel n'est pas le seul fabricant de processeurs superscalaires, et Daniel Moghimi a écrit dans son document technique que les découvertes de Downfall « sont alarmantes pour les autres fournisseurs de CPU également ». Il a noté que les tests préliminaires sur les puces AMD Zen 2 n'ont montré aucun signe de fuite de données, mais qu'il est nécessaire de poursuivre les travaux pour étudier cette catégorie de vulnérabilité.
Daniel Moghimi a supposé que la raison pour laquelle la vulnérabilité référencée CVE-2022-40982 et les attaques liées à gather n'ont pas été découvertes plus tôt est due à un manque de recherche et de concentration sur les instructions SIMD – une seule instruction, plusieurs données – et les extensions avancées de CPU. Il a indiqué que plus d'attention semble avoir été consacrée aux instructions normales après Meltdown et Spectre.
Il est difficile de dire si la vulnérabilité CVE-2022-40982 nécessitera des modifications architecturales significatives pour les futurs processeurs Intel, selon Daniel Moghimi. D'un certain point de vue, Intel a de la chance car elle n'a eu qu'à développer une mise à jour de microcode pour une instruction avec gather.
« Mais imaginez si vous aviez cinq instructions différentes qui laissaient fuir des données des fichiers de registre », a-t-il dit. « Alors vous ne pourriez pas simplement le réparer avec une mise à jour du microcode. Vous auriez besoin d'une manière fondamentale d'isoler ces composants de mémoire à l'intérieur du cœur du CPU ».