2 pièce(s) jointe(s)
MDS : de nouveaux exploits liés à l'exécution spéculative qui affectent les CPU Intel jusqu’à Kaby Lake
MDS : de nouveaux exploits liés à l'exécution spéculative qui affectent les CPU Intel jusqu’à Kaby Lake
Et exposent les données des mémoires tampon
Depuis 2018, plusieurs vulnérabilités affectant les processeurs d’Intel ont été dévoilées. Il a même été démontré que certaines d’entre elles existent depuis près de deux décennies. Ces exploits tirent parti de certains mécanismes d’optimisations implémentés dans les processeurs x86, notamment celui dit de l’exécution spéculative. Les plus connues sont probablement : Meltdown/Spectre, BranchScope, PortSmash, TLBleed et Foreshadow. Ces vulnérabilités permettraient à un attaquant d’accéder et de détourner différents types de données (mot de passe, historique de navigation d’un navigateur Web, clé cryptographique…) sur un système sans être détecté par les outils de sécurité traditionnels. Les processeurs produits par Intel sont presque toujours les plus sensibles ou les seuls concernés par ces exploits.
Récemment un ensemble de failles de sécurité critiques étroitement liées affectant les processeurs de la firme de Santa Clara a été publié. Il inclut RIDL (rogue in-flight data load), Fallout, ZombieLoad et Microarchitectural Data Sampling (MDS). Ces failles ont été découvertes de manière indépendante par Intel et diverses équipes de recherche, notamment le département d’informatique de l’université de Vrije aux Pays-Bas (VU d’Amsterdam), le Worcester Polytechnic Institute, l’université du Michigan, l’Université de technologie de Graz, la KU Leuven en Belgique, Cyberus, Oracle… Intel utilise le terme « Microarchitect Data Sampling » (MDS) pour désigner ce nouvel ensemble de failles. L’entreprise a été pour la première fois informée de l’existence de cet ensemble de vulnérabilités en juin 2018.
Signalons au passage que les chercheurs en cybersécurité du VU d’Amsterdam allèguent qu’Intel a tenté de les « soudoyer » dans l’espoir de les convaincre d’orienter leur critique après la divulgation de la dernière vulnérabilité de sécurité qui affecte les processeurs x86 du fondeur de Santa Clara. Le média néerlandais Nieuwe Rotterdamsche Courant a rapporté à ce propos qu’Intel aurait proposé aux chercheurs une récompense de 120 000 $ pour les amener à minimiser la gravité de RIDL (la vulnérabilité qu’ils ont découverte).
L’origine du problème
Chaque processeur a un comportement microarchitectural (le comportement d’une implémentation réelle de l’architecture) et un comportement architectural (le comportement documenté qui décrit le fonctionnement des instructions et sur lequel les programmeurs se basent pour écrire leurs codes). Celles-ci peuvent diverger de manière subtile. Par exemple, d’un point de vue architectural, une puce exécute chaque instruction séquentiellement, une à la fois, en attendant que toutes les opérations d’une instruction soient connues avant d’exécuter cette instruction. Ainsi, un programme qui charge une valeur d’une adresse particulière en mémoire attendra que l’adresse soit connue avant de tenter d’effectuer le chargement, puis attendra que le chargement se termine avant d’utiliser la valeur.
Au niveau microarchitectural, toutefois, le processeur peut tenter de deviner l’adresse de manière spéculative de sorte qu’il puisse commencer à charger la valeur à partir de la mémoire (ce qui est lent) ou qu’il puisse deviner que la charge récupérera une valeur particulière (plus rapide). Pour ce faire, il utilisera généralement une valeur du cache ou de la mémoire tampon. Si la prévision n’est pas bonne, le processeur ignorera la valeur estimée et effectuera à nouveau le chargement, avec cette fois l’adresse correcte. Le comportement défini par l’architecture est ainsi préservé, comme si le processeur attendait toujours les valeurs avant de les utiliser.
Toutefois, la génération de cette hypothèse erronée perturbe d’autres parties de la puce. L’approche principale consiste à modifier le cache en fonction de la valeur devinée, ce qui cause des différences de synchronisation subtiles (car il est plus facile de lire des données déjà en cache que des données qui ne le sont pas) qu’un attaquant peut mesurer. À partir de ces mesures, l’attaquant peut déduire la valeur estimée qui était en cache.
MDS est globalement basé sur un schéma de fonctionnement similaire. Mais au lieu d’exposer les valeurs devinées qui sont enregistrées au niveau du cache, il expose les valeurs des divers tampons au sein du processeur. Le processeur dispose d’un certain nombre de mémoires tampons spécialisées qu’il utilise pour déplacer les données en interne. Par exemple, les tampons de remplissage de ligne (LFB) sont utilisés pour charger des données dans le cache de niveau 1. Lorsque le processeur lit dans la mémoire principale, il vérifie d’abord le cache de données de niveau 1 pour voir s’il connaît déjà la valeur. Si ce n’est pas le cas, il envoie une requête à la mémoire principale pour récupérer la valeur. Cette valeur est placée dans un LFB avant d’être écrite dans le cache. De même, lors de l’écriture de valeurs dans la mémoire principale, elles sont enregistrées temporairement dans des mémoires tampons. Grâce à un processus baptisé « store-to-load forwarding », le tampon peut également être utilisé pour gérer les lectures en mémoire. Enfin, il existe des structures qui permettent de copier des données de la mémoire dans un registre, ce sont des ports de chargement. Les mémoires tampons peuvent contenir des données périmées et transmettre un mélange de données nouvelles et anciennes.
Comme d’autres attaques par canal latéral, les exploits récemment divulgués peuvent permettre aux pirates d’obtenir des informations qui seraient autrement considérées comme sécurisées, si elles n’avaient pas été traitées par le biais des processus d’exécution spéculatifs du CPU. Mais les attaques d’exécution spéculatives précédentes utilisaient une valeur périmée stockée dans le cache, alors que les nouvelles attaques MDS tirent parti des valeurs périmées stockées dans les différentes mémoires tampon du CPU. Les trois types de mémoires tampon peuvent être utilisés dans de telles attaques et l’utilisation de la technologie « Hyperthreading » augmente la facilité d’exploitation de MDS.
Pour rappel, le Simultaneous Multi Threading (ou SMT) est une technologie orientée multitâche qui permet d’exécuter plusieurs threads de calcul en parallèle sur le cœur physique d’un processeur. La technologie Hyperthreading développée par Intel n’est qu’une implémentation du SMT permettant d’activer deux cœurs logiques pour chaque cœur physique disponible sur un die. L’Hyperthreading est ainsi censé permettre l’exécution de deux instances simultanément d’un même programme ou de deux programmes différents en utilisant au mieux les ressources du processeur.
L’attaque peut être réalisée aussi bien sur un ordinateur que sur le cloud. Les chercheurs disent que cette faille peut être utilisée pour siphonner les données du processeur pratiquement en temps réel. Mais en règle générale, un attaquant a peu ou pas de contrôle sur ces tampons, car il n’existe pas de moyen simple d’obliger les mémoires tampon à contenir des informations sensibles. Les mémoires tampon peuvent contenir des données obsolètes issues de diverses opérations. Certaines d’entre elles peuvent intéresser un attaquant, mais elles peuvent être mixées à d’autres données non pertinentes. Par conséquent, rien ne garantit que les données divulguées seront utiles à l’attaquant et Intel estime que les nouvelles vulnérabilités présentent un risque faible ou moyen.
La réaction d’Intel
Intel a affirmé que des modifications logicielles importantes seront nécessaires pour renforcer les systèmes contre MDS, non seulement de sa part, mais également de la part des fournisseurs d’OS et des créateurs d’applications tierces. Une des solutions proposées par le fondeur de Santa Clara est de forcer la suppression ou l’écrasement des tampons chaque fois qu’un processeur passerait d’une application tierce à une autre, d’un processus Windows à une application tierce, ou même de processus Windows moins fiables à des processus plus fiables. Cela signifie un tout nouveau cycle de collecte et d’écriture de données à chaque fois que vous appelez un processus différent et implique une pénalité en termes de performance qu’Intel évalue au maximum à 9 %. S’appuyant sur des tests internes, Apple a déclaré que les utilisateurs pouvaient s’attendre à une perte de performances sur macOS (Mojave, High Sierra et Sierra) allant jusqu’à 40 % (selon le système et la charge de travail).
La firme de Santa Clara a publié des mises à jour du microcode pour certains de ses processeurs, via Windows Update pour certaines, afin d’adresser ces nouvelles vulnérabilités. Dans son document d’orientation, Intel a révélé que tous les processeurs Core et Xeon allant jusqu’à l’architecture Sandy Bridge de 2e génération sont concernés. Un certain nombre de microarchitectures ciblant des puces à faible consommation, telles que « Gemini Lake », « Cherry View », « Apollo Lake » et « Amber Lake » sont aussi concernés.
Intel a assuré que ses processeurs x86 des 8e et 9e générations intègrent des protections matérielles contre MDS, mais que les architectures antérieures sont toutes vulnérables. En général, les mesures d’atténuation ont un coût en termes de performances pour l’implémentation de la technologie SMT d’Intel, l’Hyperthreading. Toutefois, pour ceux qui attachent plus d’importance à la sécurité qu’aux performances lors de l’utilisation, Intel a admis que la désactivation de l’Hyperthreading pourrait être justifiée pour mieux se protéger contre les attaques MDS. À l’heure actuelle, il semble que l’implémentation de la technologie SMT développée par AMD soit plus sécurisée que celle d’Intel.
Dans un communiqué, la société AMD a confirmé que ses processeurs x86 ne sont pas affectés par les vulnérabilités RIDL, Fallout et ZombieLoad : « Sur la base de notre analyse et de nos discussions avec les chercheurs, nous pensons que nos produits ne sont pas susceptibles à “Fallout”, “RIDL” ou “ZombieLoad” en raison des vérifications de la protection matérielle de notre architecture. Nous n'avons pas été en mesure de démontrer ces exploits sur les produits AMD et nous n'avons pas connaissance que d'autres l'auraient fait ». Il est important de noter ici que la vulnérabilité Fallout à laquelle AMD fait référence dans cette déclaration fait référence à l’une des quatre vulnérabilités MDS divulguées par Intel, et non à la vulnérabilité « Fallout », dénommée de manière identique et découverte par CTS Labs en 2018, prétendument affectant la gestion de la mémoire sécurisée des processeurs « Zen » de la marque.
Source : AMD, Apple, NRC, Wired
Et vous ?
:fleche: Qu’en pensez-vous : nouveau coup dur pour Intel ?
:fleche: Quel impact pourrait avoir cette annonce sur les parts d'Intel sur les marchés des CPU x86 grand public et serveur ?
:fleche: Le nombre élevé de failles de sécurité auxquelles sont exposés les CPU d’Intel pourrait-il vous inciter à migrer vers un système basé sur des CPU AMD ?
Voir aussi
:fleche: L'architecture de tous les CPU Intel remise en question après la découverte de SPOILER, une nouvelle faille difficile à corriger par voie logicielle
:fleche: AMD pourrait vendre plus de CPU serveur dédiés au cloud computing, après le scandale des vulnérabilités matérielles touchant surtout les CPU Intel
:fleche: Les techniques de mitigation logicielles ciblant Spectre ne peuvent compenser les défauts de conception structurels des puces touchées, selon Google
:fleche: Des chercheurs révèlent de nouveaux défauts de fabrication dans les CPU, une nouvelle génération de vulnérabilités Spectre et Meltdown ?
1 pièce(s) jointe(s)
Un développeur du noyau Linux rappelle qu’à cause des failles matérielles qui affectent les CPU Intel
Un développeur du noyau Linux rappelle qu’à cause des failles matérielles qui affectent les CPU Intel
Il faut désactiver l'hyperthreading et s’attendre à une réduction des performances de 20 %
Le développeur du noyau Linux Greg Kroah-Hartman estime que la technologie SMT (Simultaneous Multithreading) d’Intel - également connu sous le nom d’Hyperthreading - devrait être désactivée pour des raisons de sécurité à cause des failles de sécurité MDS (Microarchitectural Data Sampling) dévoilées plus tôt cette année. S’exprimant lors du sommet Open Source organisé récemment à Lyon, il n’a pas caché ses préoccupations vis-à-vis des lacunes en matière de sécurité des processeurs x86 Intel qui exploitent la technologie Hyperthreading. Kroah-Hartman précise que « Linux n’est ni moins sûr ni plus sûr » que les autres solutions, mais que tout le problème vient des failles matérielles qui affectent les puces.
À ce propos, il a déclaré : « J’ai donné une conférence l’année dernière sur Spectre et comment Linux y a réagi ; et puis cette année, le sujet porte sur les éléments trouvés depuis le dernier entretien ». Selon lui, ces problèmes sont devenus récurrents, sont là pour durer et ne disparaitront pas de sitôt. Kroah-Hartman assure par ailleurs que la base de données CVE des problèmes de sécurité n’est pas pertinente quand il s’agit du noyau Linux : « Les CVE ne signifient rien, pour le noyau. Très peu de CVEs sont assignés au noyau ».
Pour rappel, depuis 2018, plusieurs vulnérabilités affectant les processeurs d’Intel ont été dévoilées et il a été démontré que certaines d’entre elles existent depuis près de deux décennies. Ces exploits tirent parti de certains mécanismes d’optimisations implémentés dans les CPU x86, notamment celui dit de l’exécution spéculative. Les plus connues sont probablement : Meltdown/Spectre, PortSmash, BranchScope, TLBleed et Foreshadow. Ces vulnérabilités permettraient à un attaquant d’accéder et de détourner différents types de données (mot de passe, historique de navigation d’un navigateur Web, clé cryptographique…) sur un système sans être détecté par les outils de sécurité traditionnels. Les processeurs produits par Intel sont presque toujours les plus sensibles ou les seuls concernés par ces exploits.
En mai 2019, un ensemble de failles de sécurité critiques étroitement liées affectant les processeurs de la firme de Santa Clara a été publié. Il inclut RIDL (rogue in-flight data load), Fallout, ZombieLoad et Microarchitectural Data Sampling (MDS). Ces failles ont été découvertes de manière indépendante par Intel et diverses équipes de recherche. Pour désigner ce nouvel ensemble de failles, Intel préfère utiliser le terme « Microarchitect Data Sampling » (MDS).
Comprendre MDS
Chaque processeur a un comportement microarchitectural (le comportement d’une implémentation réelle de l’architecture) et un comportement architectural (le comportement documenté qui décrit le fonctionnement des instructions et sur lequel les programmeurs se basent pour écrire leurs codes). Celles-ci peuvent diverger de manière subtile. Par exemple, d’un point de vue architectural, une puce exécute chaque instruction séquentiellement, une à la fois, en attendant que toutes les opérations d’une instruction soient connues avant d’exécuter cette instruction. Ainsi, un programme qui charge une valeur d’une adresse particulière en mémoire attendra que l’adresse soit connue avant de tenter d’effectuer le chargement, puis attendra que le chargement se termine avant d’utiliser la valeur.
Au niveau microarchitectural, toutefois, le processeur peut tenter de deviner l’adresse de manière spéculative de sorte qu’il puisse commencer à charger la valeur à partir de la mémoire (ce qui est lent) ou qu’il puisse deviner que la charge récupérera une valeur particulière (plus rapide). Pour ce faire, il utilisera généralement une valeur du cache ou de la mémoire tampon. Si la prévision n’est pas bonne, le processeur ignorera la valeur estimée et effectuera à nouveau le chargement, avec cette fois l’adresse correcte. Le comportement défini par l’architecture est ainsi préservé, comme si le processeur attendait toujours les valeurs avant de les utiliser.
Toutefois, la génération de cette hypothèse erronée perturbe d’autres parties de la puce. L’approche principale consiste à modifier le cache en fonction de la valeur devinée, ce qui cause des différences de synchronisation subtiles (car il est plus facile de lire des données déjà en cache que des données qui ne le sont pas) qu’un attaquant peut mesurer. À partir de ces mesures, l’attaquant peut déduire la valeur estimée qui était en cache.
MDS est globalement basé sur un schéma de fonctionnement similaire. Mais au lieu d’exposer les valeurs devinées qui sont enregistrées au niveau du cache, il expose les valeurs des divers tampons au sein du processeur. Le processeur dispose d’un certain nombre de mémoires tampons spécialisées qu’il utilise pour déplacer les données en interne. Par exemple, les tampons de remplissage de ligne (LFB) sont utilisés pour charger des données dans le cache de niveau 1. Lorsque le processeur lit dans la mémoire principale, il vérifie d’abord le cache de données de niveau 1 pour voir s’il connaît déjà la valeur. Si ce n’est pas le cas, il envoie une requête à la mémoire principale pour récupérer la valeur. Cette valeur est placée dans un LFB avant d’être écrite dans le cache. De même, lors de l’écriture de valeurs dans la mémoire principale, elles sont enregistrées temporairement dans des mémoires tampons. Grâce à un processus baptisé « store-to-load forwarding », le tampon peut également être utilisé pour gérer les lectures en mémoire. Enfin, il existe des structures qui permettent de copier des données de la mémoire dans un registre, ce sont des ports de chargement. Les mémoires tampons peuvent contenir des données périmées et transmettre un mélange de données nouvelles et anciennes.
MDS et Hyperthreading
Comme d’autres attaques par canal latéral, les exploits récemment divulgués peuvent permettre aux pirates d’obtenir des informations qui seraient autrement considérées comme sécurisées, si elles n’avaient pas été traitées par le biais des processus d’exécution spéculatifs du CPU. Mais les attaques d’exécution spéculatives précédentes utilisaient une valeur périmée stockée dans le cache, alors que les nouvelles attaques MDS tirent parti des valeurs périmées stockées dans les différentes mémoires tampon du CPU. Les trois types de mémoires tampon peuvent être utilisés dans de telles attaques et l’utilisation de la technologie « Hyperthreading » augmente la facilité d’exploitation de MDS.
Pour rappel, le Simultaneous Multi Threading (ou SMT) est une technologie orientée multitâche qui permet d’exécuter plusieurs threads de calcul en parallèle sur le cœur physique d’un processeur. La technologie Hyperthreading développée par Intel n’est qu’une implémentation du SMT permettant d’activer deux cœurs logiques pour chaque cœur physique disponible sur un die. L’Hyperthreading est ainsi censé permettre l’exécution de deux instances simultanément d’un même programme ou de deux programmes différents en utilisant au mieux les ressources du processeur.
L’attaque peut être réalisée aussi bien sur un ordinateur que sur le cloud. Les chercheurs disent que cette faille peut être utilisée pour siphonner les données du processeur pratiquement en temps réel. Mais en règle générale, un attaquant a peu ou pas de contrôle sur ces tampons, car il n’existe pas de moyen simple d’obliger les mémoires tampon à contenir des informations sensibles. Les mémoires tampon peuvent contenir des données obsolètes issues de diverses opérations. Certaines d’entre elles peuvent intéresser un attaquant, mais elles peuvent être mixées à d’autres données non pertinentes. Par conséquent, rien ne garantit que les données divulguées seront utiles à l’attaquant et Intel estime que les nouvelles vulnérabilités présentent un risque faible ou moyen.
Open BSD avait raison
Tous ces éléments font dire à Kroah-Hartman qu’Open BSD avait raison : « Il y a un an, ils ont dit de désactiver l’Hyperthreading, il va y avoir beaucoup de problèmes ici. Ils ont choisi la sécurité plutôt que la performance à un stade plus précoce que n’importe qui d’autre. Désactivez l’Hyperthreading, C’est la seule façon de résoudre certains de ces problèmes ».
Selon lui, le déploiement de ces mesures d’atténuation à un impact négatif plus ou moins important sur les performances (qu’il estime à environ 20 %) et ralentit la machine des utilisateurs, l’ampleur du ralentissement dépendant de la charge de travail. « En tant que développeurs de noyau, nous nous battons pour une augmentation de 1 %, 2 % de la vitesse. Mettez ces trucs de sécurité et on revient en arrière d’un an en termes de performance. C’est triste », a-t-il confié à ce sujet.
Kroah-Hartman voit cette précaution comme un moindre mal. Il recommande d’ailleurs de toujours s’assurer que vous utilisez le patch de sécurité, la mise à jour ou la version du noyau Linux la plus récente sur votre système. Et il est catégorique : « Si vous n’utilisez pas une distribution supportée ou un noyau stable à long terme, vous avez un système non sécurisé. C’est aussi simple que ça. Tous ces appareils embarqués, qui ne sont pas mis à jour, sont faciles à pirater. Si vous travaillez dans un environnement sécurisé et que vous faites confiance à vos applications et à vos utilisateurs, vous récupérez la vitesse. Sinon, dans un environnement partagé, avec un code non fiable, vous avez besoin d’être sécurisé ».
Et vous ?
:fleche: Que pensez-vous des propos de Kroah-Hartman ?
Voir aussi
:fleche: L'architecture de tous les CPU Intel remise en question après la découverte de SPOILER, une nouvelle faille difficile à corriger par voie logicielle
:fleche: AMD pourrait vendre plus de CPU serveur dédiés au cloud computing, après le scandale des vulnérabilités matérielles touchant surtout les CPU Intel
:fleche: Les techniques de mitigation logicielles ciblant Spectre ne peuvent compenser les défauts de conception structurels des puces touchées, selon Google
:fleche: Des chercheurs révèlent de nouveaux défauts de fabrication dans les CPU, une nouvelle génération de vulnérabilités Spectre et Meltdown ?
2 pièce(s) jointe(s)
Les CPU Intel depuis Skylake sont touchés par Plundervolt, une faille ciblant les mécanismes de l’overclocking
Les CPU Intel depuis Skylake sont touchés par Plundervolt, une faille ciblant les mécanismes de l’overclocking
Intel recommande de ne pas toucher aux valeurs par défaut du voltage CPU dans le BIOS
Depuis 2018, plusieurs vulnérabilités affectant les processeurs d’Intel ont été dévoilées. Il a même été démontré que certaines d’entre elles existent depuis près de deux décennies. Ces exploits tirent parti de certains mécanismes d’optimisations implémentés dans les processeurs x86, notamment celui dit de l’exécution spéculative. Les plus connues sont probablement : BranchScope, PortSmash, Meltdown/Spectre, TLBleed et Foreshadow. Ils permettraient à un attaquant d’avoir accès et de détourner différents types de données (mot de passe, historique de navigation d’un navigateur Web, clé cryptographique…) sur un système sans être détecté par les outils de sécurité traditionnels. Les processeurs produits par Intel sont presque toujours les plus sensibles ou les seuls concernés par ces exploits.
Plus tard, un ensemble de failles de sécurité critiques étroitement liées qui affectent les CPU d’Intel a été publié. Il incluait RIDL (rogue in-flight data load), Microarchitectural Data Sampling (MDS), ZombieLoad v1, ZombieLoad v2 - à cause de qui Intel a désactivé la fonctionnalité Hardware Lock Elision (HLE) sur tous ses CPU x86 - et Fallout. La firme de Santa Clara a fait le choix d’utiliser le terme « Microarchitect Data Sampling » (MDS) pour désigner ce nouvel ensemble de failles critiques.
Récemment, un groupe de chercheurs en cybersécurité a fait état de la découverte d’une nouvelle vulnérabilité matérielle qui affecte les processeurs Intel, baptisée « Plundervolt ». Ce nouvel exploit porte le nom de code « CVE-2019-11157 ». Intel a, pour la première fois, été informé de l’existence de cette faille en juin 2019 dans le cadre de son programme de Bug Bounty, de sorte que la société a secrètement pu développer une solution de mitigation. Tout comme Foreshadow, Plundervolt exploite certaines faiblesses des mécanismes retrouvés au sein des processeurs x86 Intel et qui permettent à un attaquant d’exposer des données d’applications privées et d'avoir accès à des calculs pourtant sécurisés par la technologie Software Guard Extensions (SGX) développée par Intel.
Pour rappel, la technologie SGX est censée protéger la confidentialité et l’intégrité des informations et des applications sur les systèmes embarquant les CPU de la marque. Cette technologie fait partie d’un ensemble plus large de fonctionnalités que le fabricant de CPU appelle les « contrôles matériels pour les environnements Cloud et d’entreprise ». Il l’explique sur son site que « Intel® SGX assure un chiffrement matériel de la mémoire pour isoler des parties de code et des données spécifiques d’une application dans la mémoire. Intel® SGX permet au code de niveau utilisateur d’attribuer des régions de mémoire privées (appelées enclaves), conçues pour être protégées contre les processus exécutés à des niveaux de privilèges supérieurs ».
L’équipe de chercheurs a décrit « Plundervolt » comme un procédé permettant de compromettre la mémoire sécurisée par SGX en réduisant la tension de fonctionnement normale du processeur Intel lors de l’exécution de calculs dits protégés jusqu’à un seuil où le chiffrement de la mémoire SGX ne permet plus de protéger les données. Cela crée des erreurs qui peuvent être utilisées plus tard pour recréer des données en utilisant des techniques d’observation en canal latéral. L’attaque utilise les concepts fondamentaux derrière les attaques VoltJockey et CLKscrew.
L’équipe de chercheurs a publié un code de validation permettant de vérifier ses dires, en précisant que Plundervolt permet aux attaquants d’extraire des informations de l’enclave plus rapidement qu’avec d’autres attaques, comme Meltdown ou Spectre, entre autres.
Plundervolt nécessite des privilèges root étant donné que les logiciels qui permettent de modifier le vCore d’un processeur ont besoin d’un accès ring-0. Toutefois, il n’est pas nécessaire d’avoir un accès physique direct à la machine cible parce que l’activité malveillante peut être exécutée à distance (mais pas depuis un environnement virtualisé). Cet exploit diffère malgré tout de « Rowhammer », car il modifie l’acheminement des bits à l’intérieur du CPU avant que ces derniers ne soient écrits dans la mémoire, ce qui permet de contourner SGX. En outre, Rowhammer ne fonctionne pas avec la mémoire protégée par SGX.
La possibilité de modifier la tension et la fréquence des processeurs Intel à partir de l’OS permet d’utiliser des utilitaires dédiés à « l’overclocking ». Cependant, il s’avère finalement que les individus malveillants peuvent également tirer profit de cette fonctionnalité. Plundervolt cible les mêmes mécanismes d’ajustement de tension et de fréquence des puces Intel pour permettre aux acteurs malveillants d’extraire des données de la zone qu’Intel considère comme l’une des plus sûres sur ses CPU : l’enclave SGX. Intel utilise cette zone protégée de la puce pour sécuriser les informations les plus précieuses, comme les clés de chiffrement AES. Cette zone n’est pas seulement physiquement séparée des autres mémoires à l’intérieur du CPU, elle est également protégée par un chiffrement logiciel, ce qui la rend particulièrement difficile à attaquer.
Après l’Hyperthreading et la fonctionnalité Hardware Lock Elision (HLE), les amateurs de CPU Intel devront-ils renoncer à une autre fonctionnalité de leur processeur qui s’avère pourtant importante pour l’overclocking ? Quel serait l’impact de l’atténuation de cette vulnérabilité sur la fonctionnalité Turbo Boost des processeurs Intel ?
Intel a publié l’avis de sécurité SA-00298 concernant cette vulnérabilité et assure travailler avec les fabricants de cartes mères pour publier rapidement des mises à jour du BIOS qui contiennent un nouveau microcode avec une atténuation contre cette vulnérabilité. La firme de Santa Clara affirme que le procédé d’atténuation exige le verrouillage de la tension dans le BIOS. Si SGX n’a pas été activé, ou si la tension du CPU est verrouillée aux valeurs par défaut via l’atténuation, le système ne serait plus vulnérable. Les processeurs Intel de 6e, 7e, 8e, 9e et 10e génération sont tous affectés par cette vulnérabilité, de même que ceux des familles Xeon E3, v5, v6, E-2100 et E-2200.
Source : PlunderVolt, Intel
Et vous ?
:fleche: Qu’en pensez-vous ?
Voir aussi
:fleche: Un développeur du noyau Linux rappelle qu'à cause des failles matérielles qui affectent les CPU Intel, il faut désactiver l'Hyperthreading et s'attendre à une réduction des performances de 20 %
:fleche: Intel désactive la fonctionnalité Hardware Lock Elision (HLE) sur tous ses CPU x86 à cause de Zombieload v2 et recommande en plus de désactiver RTM pour les environnements virtualisés
:fleche: PortSmash : une nouvelle faille critique qui affecte les CPU Intel exploitant l'Hyperthreading ou le SMT, des CPU AMD pourraient aussi être touchés
:fleche: MDS : de nouveaux exploits liés à l'exécution spéculative qui affectent les CPU Intel jusqu'à Kaby Lake et exposent les données des mémoires tampon