AEPIC Leak – une attaque qui conduit à des fuites clés des enclaves Intel SGX

Des informations ont été divulguées sur une nouvelle attaque contre les processeurs Intel - AEPIC Leak (CVE-2022-21233), qui entraîne une fuite de données confidentielles à partir d'enclaves Intel SGX (Software Guard eXtensions) isolées. Le problème affecte les 10e, 11e et 12e générations de processeurs Intel (y compris les nouvelles séries Ice Lake et Alder Lake) et est dû à un défaut architectural qui permet l'accès aux données non initialisées restant dans les registres APIC (Advanced Programmable Interrupt Controller) après une interruption passée. opérations.

Contrairement aux attaques de classe Spectre, la fuite dans AEPIC Leak se produit sans l'utilisation de méthodes de récupération via des canaux tiers - les informations sur les données confidentielles sont transmises directement en obtenant le contenu des registres reflété dans la page mémoire MMIO (E/S mappées en mémoire). . En général, l'attaque permet de déterminer les données transférées entre les caches du deuxième et du 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ées sur le même cœur de processeur.

Car pour mener une attaque il faut avoir accès aux pages physiques d'APIC MMIO, c'est-à-dire nécessite des privilèges d'administrateur, la méthode se limite à attaquer les enclaves SGX auxquelles l'administrateur n'a pas d'accès direct. Les chercheurs ont développé des outils qui permettent, en quelques secondes, de déterminer les clés AES-NI et RSA stockées dans SGX, ainsi que les clés de certification Intel SGX et les paramètres du générateur de nombres pseudo-aléatoires. Le code de l'attaque a été publié sur GitHub.

Intel a annoncé un correctif sous la forme d'une mise à jour du microcode qui mettra en œuvre la prise en charge du vidage de la mémoire tampon et ajoutera 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. Il est recommandé aux développeurs de systèmes d'exploitation et d'hyperviseurs d'utiliser le mode x2APIC au lieu du mode xAPIC hérité, dans lequel les registres MSR sont utilisés au lieu de MMIO pour accéder aux registres APIC.

Source: opennet.ru

Ajouter un commentaire