Détails des vulnérabilités du mécanisme MMIO des processeurs Intel dévoilés

Récemment Intel a publié des détails sur une nouvelle classe de fuites de données à travers les structures microarchitecturales des processeurs, qui permettent, par la manipulation du mécanisme MMIO (Memory Mapped Input Output), de déterminer les informations traitées dans d'autres cœurs de CPU.

Par exemple, les vulnérabilités permettent l'extraction de données à partir d'autres processus, enclaves Intel SGX ou machines virtuelles. Les vulnérabilités sont spécifiques aux processeurs Intel uniquement ; les processeurs tiers ne sont pas affectés par les vulnérabilités.

Trois méthodes ont été identifiées. pour extraire les données résiduelles via MMIO :

  • DRPW (Partial Device Register Write, CVE-2022-21166) - Un problème de gestion incorrecte des écritures dans certains registres MMIO. Si la taille des données écrites est inférieure à la taille du journal, les informations résiduelles dans les tampons de remplissage sont également copiées dans le journal. Par conséquent, un processus qui a lancé une opération d'écriture incomplète dans le registre MMIO peut recevoir des données qui restent dans les tampons de microarchitecture après des opérations effectuées sur d'autres cœurs de CPU.
  • SDS (Échantillonnage de données des tampons partagés, CVE-2022-21125) - Fuite de données résiduelles du tampon de remplissage lié au noyau, qui a été supprimée suite au passage des tampons intermédiaires communs à tous les cœurs.
  • SBDR (Read Data from Shared Buffers, CVE-2022-21123) : Le problème est similaire à SBDS, mais diffère en ce que les données résiduelles peuvent entrer dans les structures CPU visibles pour les applications. Les problèmes SBDS et SBDR ne se produisent que sur les processeurs clients et la famille de serveurs Intel Xeon E3.

Un ataque nécessite un accès à MMIO, qui, par exemple, peut être obtenu dans les systèmes de virtualisation qui offrent la possibilité d'accéder au MMIO pour les systèmes invités contrôlés par l'attaquant. Le correctif peut également être requis pour les systèmes utilisant des enclaves Intel SGX (Software Guard Extensions) autonomes.

Le blocage de la vulnérabilité nécessite à la fois une mise à jour du firmware et l'utilisation de méthodes protection logicielle supplémentaire basé sur l'utilisation de l'instruction VERW pour effacer le contenu des tampons de la microarchitecture au moment du retour du noyau à l'espace utilisateur ou lorsque le contrôle est transféré au système invité.

Aussi se utilise une protection similaire pour bloquer les attaques classes précédemment identifiées de MDS (Microarchitectural Data Sampling), SRBDS (Special Record Buffer Data Sampling) et TAA (Transactional Asynchronous Abort).

Ces vulnérabilités ne sont pas des attaques d'exécution transitoires. Cependant, ces vulnérabilités peuvent propager des données obsolètes dans les tampons de remplissage du noyau où les données peuvent ensuite être déduites par une attaque d'exécution transitoire non atténuée.

L'atténuation de ces vulnérabilités comprend une combinaison de mises à jour du microcode et de modifications logicielles, en fonction de la plate-forme et du modèle d'utilisation. Certaines de ces atténuations sont similaires à celles utilisées pour atténuer l'échantillonnage de données microarchitecturales (MDS) ou à celles utilisées pour atténuer l'échantillonnage de données tampon d'enregistrement spécial (SRBDS).

Ces vulnérabilités ont reçu les identificateurs communs de vulnérabilité et d'exposition (CVE) suivants et les scores de la version 3.1

Côté microcode, les modifications nécessaires à la mise en œuvre de la sécurité sont proposées dans la mise à jour du microcode de mai pour les processeurs Intel (IPU 2022.1).

Dans le noyau Linux, la protection est incluse contre une nouvelle classe d'attaques dans les différentes versions prises en charge.

Le fichier "/sys/devices/system/cpu/vulnerabilities/mmio_stale_data" a été ajouté au noyau Linux pour vérifier la sensibilité du système aux vulnérabilités dans MMIO et pour évaluer l'activité de certains mécanismes de protection. 

L'essence de la classe de vulnérabilités identifiée est que certaines opérations conduisent à copier ou déplacer des données laissées après exécution sur d'autres cœurs de processeur d'un tampon de microarchitecture à l'autre. Les vulnérabilités dans MMIO permettent à ces données résiduelles d'être transférées de tampons microarchitecturaux isolés vers des registres visibles par l'application ou des tampons CPU.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.