Quels sont les systèmes affectés ?
L'attaque LVI-LFB affecte les processus Intel les plus récents qui recourent à l'exécution spéculative.
L'attaque, baptisée LVI-LFB (Load Value Injection in the Line Full Buffers) permet à un attaquant d'injecter des valeurs malveillantes dans certaines structures micro-architecturales qui sont ensuite utilisées par la victime, ce qui peut conduire à la révélation de données secrètes et protégées à tous les niveaux de privilèges.
Cette nouvelle attaque (CVE-2020-0551) affecte les processeurs Intel les plus récents qui recourent à l'exécution spéculative.
Dans leur quête de processeurs toujours plus rapides, les fournisseurs ont mis en œuvre diverses versions d'exécution spéculative. Cette fonctionnalité permet au processeur de faire des suppositions éclairées sur les instructions qui pourraient être nécessaires avant de déterminer si elles le sont vraiment. Cette exécution spéculative peut laisser des traces dans le cache, dont les attaquants peuvent tirer parti pour provoquer une fuite de la mémoire privilégiée du noyau.
Ce qui rend avant-gardiste la recherche relative à ces attaques par rapport à celle portant sur des cyberattaques ciblant des vulnérabilités plus traditionnelles est qu'elle se concentre sur le fonctionnement fondamental des processeurs modernes. Pour mener des investigations efficaces, les équipes de recherche doivent avoir une compréhension approfondie des éléments internes des processeurs (prédiction de branchement, exécution hors ordre, exécution spéculative, pipeline et caches), des éléments internes des systèmes d'exploitation (appels système, gestion des interruptions et des exceptions et KPTI) ainsi que des attaques par canaux auxiliaires et par exécution spéculative en général.
Cette nouvelle attaque peut être particulièrement dévastatrice dans les environnements multi-tenants à charges de travail multiples qui s'exécutent sur du matériel partagé entre groupes de charges de travail au sein d'une organisation ou entre organisations, tels que les clouds publics et privés. Cela est dû, comme le montre la preuve de concept, au fait qu'un processus moins privilégié sous le contrôle d'un attaquant a la possibilité de détourner spéculativement le flux de contrôle d'un processus plus privilégié lorsque certaines conditions sont réunies.
Le risque le plus direct est le vol de données secrètes, censées être protégées par des limites de sécurité aux niveaux du matériel, de l'hyperviseur et du système d'exploitation. Il peut s'agir de clés de chiffrement, de mots de passe ou d'autres informations qu'un attaquant pourrait exfiltrer ou utiliser pour prendre le contrôle d'un système ciblé.
Cette nouvelle technique d'attaque s'appelle « injection de valeur de charge » (LVI), et l'identifiant CVE qui lui est attribué est CVE-2020-0551.
Jusqu'ici, les chercheurs n'avaient envisagé les attaques MDS (échantillonnage de données micro-architecturales) que dans une seule direction : la victime accède aux données secrètes, qui sont chargées dans les blocs de mémoire MDS, tandis que l'attaquant exfiltre le contenu des blocs de mémoire MDS en émettant une instruction de chargement nécessitant l'assistance d'un microcode (par exemple, pour la lecture d'une adresse non valide). Toutefois, les blocs de mémoire MDS peuvent également être compromis dans l'autre sens ; si un attaquant pulvérise les blocs de mémoire MDS avec une valeur particulière, une victime peut charger de manière spéculative cette valeur particulière lorsqu'une instruction de chargement déclenche une telle assistance de microcode (par exemple, l'instruction de chargement déclenche un faute). En analysant soigneusement la nature des vulnérabilités Spectre et MDS, un œil attentif peut identifier rapidement la cause profonde de la nouvelle vulnérabilité LVI-LFB : une branche de mémoire indirecte qui nécessite l'assistance d'un microcode, alimentée par des valeurs obsolètes issues des blocs de mémoire MDS qui peuvent être contrôlés par un attaquant, conduisant ainsi à l'exécution spéculative de code arbitraire.
D'autres scénarios d'attaque ont été décrits par des chercheurs universitaires qui ont découvert le problème de manière indépendante et l'ont signalé à Intel pour la première fois en avril 2019. Bitdefender a signalé le problème à Intel le 10 février 2020. Leur réponse, en date du 25 février, reconnaissait le problème et indiquait qu'il serait divulgué au public le 10 mars 2020.
Les stratégies d'atténuation des attaques matérielles par canal auxiliaire relèvent de plusieurs catégories, chacune ayant une certaine incidence opérationnelle sur les organisations.
Une autre attaque par canal auxiliaire découverte par Bitdefender, l'attaque SWAPGS, peut être atténuée à l'aide de la technologie Bitdefender Hypervisor Introspection.
L'équipe de recherche avancée de Bitdefender souhaite créditer les chercheurs qui ont en premier signalé ce problème à Intel en avril 2019, et les remercier pour leur coopération et leur collaboration jusqu'à la divulgation publique de ce problème et au-delà. Les chercheurs universitaires sont :
Jo Van Bulck, Daniel Moghimi, Michael Schwarz, Moritz Lipp, Marina Minkin, Daniel Genkin, Yuval Yarom, Berk Sunar, Daniel Gruss et Frank Piessens
Ces chercheurs ont créé un site Internet dédié et rédigé un article universitaire, disponibles aux adresses suivantes :
https://lviattack.eu/ (description détaillée du problème)
https://lviattack.eu/lvi.pdf (article universitaire)
D'autres informations sont également disponibles auprès d'Intel :
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00334.html (conseils)
https://software.intel.com/security-software-guidance/insights/deep-dive-load-value-injection (approfondissement technique)