AEPIC Leak, une attaque qui fuit les clés Intel SGX et affecte les 10e, 11e et 12e générations

Récemment des informations ont été publiées sur une nouvelle attaque contre les processeurs Intel, appelée « Fuite AEPIC » (déjà cataloguée sous CVE-2022-21233), cette nouvelle attaque conduit à la fuite de données sensibles de enclaves isolées de intel sgx (Extensions de Software Guard).

Contrairement aux attaques de la classe Spectre, une fuite dans AEPIC Leak se produit sans l'utilisation de méthodes de récupération tierces, puisque les informations sur les données sensibles sont transmises directement en récupérant le contenu des registres reflétés dans la page mémoire MMIO (Memory Mapped I/O).

En général, l'attaque permet de déterminer les données transférées entre les caches du deuxième et dernier niveau, y compris le contenu des registres et les résultats des opérations de lecture de la mémoire, qui étaient auparavant traités sur le même cœur de processeur.

Balayage des adresses d'E/S sur les processeurs Intel basés sur la microarchitecture Sunny Cove a révélé que les enregistrements attribuéss Contrôleur local d'interruption programmable avancé (APIC) en mémoire ne sont pas
correctement initialisé. En conséquence, la lecture architecturale de ces registres renvoie des données obsolètes de la microarchitecture, de sorte qu'aucune donnée transférée entre L2 et le cache de dernier niveau ne peut être lue via ces registres.

Comme l'espace d'adressage de Les E/S ne sont accessibles qu'aux utilisateurs privilégiés, La fuite ÆPIC cible les TEE et SGX d'Intel. ÆPIC peut divulguer des données à partir d'enclaves SGX fonctionnant sur le même cœur physique. Alors qu'ÆPIC Leak constituerait une menace immense dans les environnements virtualisés, les hyperviseurs les empêchent généralement d'exposer les journaux APIC locaux aux machines virtuelles, éliminant ainsi la menace dans les scénarios basés sur le cloud.

Semblable à la précédente attaque d'exécution transitoire ciblant SGX, ÆPIC Leak est plus efficace lorsqu'il est exécuté en parallèle à l'enclave sur l'hyperprocessus frère. Cependant, la fuite ÆPIC ne nécessite pas d'hyperthreading et peut également entraîner une fuite de données d'enclave si l'hyperthreading n'est pas disponible ou désactivé.

Nous introduisons deux nouvelles techniques pour filtrer les données en cours d'utilisation, c'est-à-dire les valeurs de registre enclave, et les données au repos, c'est-à-dire les données stockées dans la mémoire enclave. Avec Cache Line Freezing, nous introduisons une technique qui exerce une pression ciblée sur la hiérarchie du cache sans écraser les données obsolètes…
Ces lignes de cache semblent toujours parcourir la hiérarchie du cache, mais elles n'écrasent pas les données obsolètes. À cette fin, nous enregistrons les fuites de valeurs de ligne de cache dans la zone d'état de sécurité (SSA).

La deuxième technique, Enclave Shaking, exploite la capacité du système d'exploitation à échanger en toute sécurité des pages d'enclave. En échangeant alternativement les pages d'enclave vers l'extérieur et vers l'intérieur, les pages mises en cache forcent les données à travers la hiérarchie du cache, permettant à ÆPIC de filtrer les valeurs sans même poursuivre l'exécution de l'enclave. Nous exploitons ÆPIC Leak en combinaison avec
Cache Line Freezing et Enclave Shaking pour extraire les clés AES-NI et les clés RSA de la bibliothèque Intel IPP et Intel SGX. Notre attaque fait fuir la mémoire de l'enclave à 334,8 B/s et un taux de réussite de 92,2 %.

Étant donné que l'attaque nécessite l'accès aux pages physiques de l'APIC MMIO, c'est-à-dire que des privilèges d'administrateur sont requis, la méthode se limite à attaquer les enclaves SGX auxquelles l'administrateur n'a pas d'accès direct.

Les chercheurs ont développé un ensemble d'outils permettant, en quelques secondes, de déterminer les clés AES-NI et RSA stockées dans SGX, ainsi que les clés d'attestation Intel SGX et les paramètres du générateur de nombres pseudo-aléatoires. Le code de l'attaque est publié sur GitHub.

Intel a annoncé qu'il préparait un correctif sous la forme d'une mise à jour de microcode qui ajoute la prise en charge du vidage de la mémoire tampon et ajoute des mesures supplémentaires pour protéger les données de l'enclave.

Une nouvelle version du SDK pour Intel SGX a également été préparée avec des modifications pour éviter les fuites de données. Les développeurs d'OS et d'hyperviseurs sont encouragés à utiliser le mode x2APIC au lieu du mode xAPIC hérité, qui utilise les registres MSR au lieu de MMIO pour accéder aux registres APIC.

Le problème affecte les processeurs Intel de 10e, 11e et 12e génération (y compris les nouvelles séries Ice Lake et Alder Lake) et est causé par un défaut architectural qui permet d'accéder aux données non initialisées laissées sur les processeurs. opérations précédentes.

enfin si tu es intéressé à en savoir plus, vous pouvez vérifier 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 : AB Internet Networks 2008 SL
  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.