Nouvelle variante d'attaque Foreshadow affectant les processeurs Intel, AMD, ARM et IBM

Un groupe de chercheurs de l'Université technique de Graz (Autriche) et du Centre Helmholtz pour la sécurité de l'information (CISPA), révélé (PDF) un nouveau vecteur d'utilisation des attaques par canal secondaire Annoncer (L1TF), qui permet d'extraire des données de la mémoire des enclaves Intel SGX, du SMM (System Management Mode), des zones de mémoire du noyau du système d'exploitation et des machines virtuelles dans les systèmes de virtualisation. Contrairement à l'attaque initiale proposée en 2018 Annoncer La nouvelle variante n'est pas spécifique aux processeurs Intel et affecte les processeurs d'autres fabricants tels que ARM, IBM et AMD. De plus, la nouvelle variante ne nécessite pas de performances élevées et l'attaque peut être menée même en exécutant JavaScript et WebAssembly dans un navigateur Web.

L'attaque Foreshadow profite du fait que lorsque l'accès à la mémoire à une adresse virtuelle entraîne une exception (erreur de page du terminal), le processeur calcule de manière spéculative l'adresse physique et charge les données si elles sont disponibles dans le cache L1. L'accès spéculatif est effectué avant que la recherche dans la table des pages mémoire ne soit terminée et quel que soit l'état de l'entrée de la table des pages mémoire (PTE), c'est-à-dire avant de vérifier la présence des données en mémoire physique et leur lisibilité. Une fois la vérification de la disponibilité de la mémoire terminée, en l'absence de l'indicateur Present dans PTE, l'opération est abandonnée, mais les données restent dans le cache et peuvent être récupérées à l'aide de méthodes permettant de déterminer le contenu du cache via des canaux secondaires (en analysant les changements de temps d'accès). aux données mises en cache et non mises en cache).

Les chercheurs ont montré que les méthodes existantes de protection contre Foreshadow sont inefficaces et sont mises en œuvre avec une interprétation incorrecte du problème. Vulnérabilité
Foreshadow peut être exploité quels que soient les mécanismes de sécurité du noyau qui étaient auparavant considérés comme suffisants. En conséquence, les chercheurs ont démontré la possibilité de mener une attaque Foreshadow sur des systèmes dotés de noyaux relativement anciens, dans lesquels tous les modes de protection Foreshadow disponibles sont activés, ainsi que sur de nouveaux noyaux, dans lesquels seule la protection Spectre-v2 est désactivée (en utilisant l'option du noyau Linux nospectre_v2).

Il s'est avéré que effet de précharge non lié aux instructions de prélecture logicielle ou à l'effet matériel
prélecture lors de l'accès à la mémoire, mais se produit lorsque des déréférencements spéculatifs de l'espace utilisateur sont enregistrés dans le noyau. Cette interprétation erronée de la cause de la vulnérabilité a initialement conduit à supposer que la fuite de données dans Foreshadow ne pouvait se produire que via le cache L1, tandis que la présence de certains extraits de code (gadgets de prélecture) dans le noyau pourrait contribuer à une fuite de données en dehors du cache L1, par exemple, dans le cache L3.

La fonctionnalité identifiée ouvre également la possibilité de créer de nouvelles attaques visant les processus de traduction d'adresses virtuelles en adresses physiques dans des environnements isolés et de détermination des adresses et des données stockées dans les registres du processeur. À titre de démonstration, les chercheurs ont montré la possibilité d'utiliser l'effet identifié pour extraire des données d'un processus à un autre avec une performance d'environ 10 bits par seconde sur un système équipé d'un processeur Intel Core i7-6500U. La possibilité de fuite du contenu du registre de l'enclave Intel SGX est également affichée (il a fallu 32 minutes pour déterminer une valeur de 64 bits écrite dans un registre de 15 bits). Certains types d'attaques se sont avérés possibles à mettre en œuvre dans JavaScript et WebAssembly, par exemple, il était possible de déterminer l'adresse physique d'une variable JavaScript et de remplir des registres 64 bits avec une valeur contrôlée par l'attaquant.

Pour bloquer l'attaque Foreshadow via le cache L3, la méthode de protection Spectre-BTB (Branch Target Buffer) implémentée dans l'ensemble de correctifs retpoline est efficace. Ainsi, les chercheurs estiment qu'il est nécessaire de laisser retpoline activée même sur les systèmes dotés de nouveaux processeurs qui disposent déjà d'une protection contre les vulnérabilités connues dans le mécanisme d'exécution spéculative du processeur. Dans le même temps, les représentants d'Intel ont déclaré qu'ils n'envisageaient pas d'ajouter des mesures de protection supplémentaires contre Foreshadow aux processeurs et considéraient qu'il suffisait d'inclure une protection contre les attaques Spectre V2 et L1TF (Foreshadow).

Source: opennet.ru

Ajouter un commentaire