Les processeurs Intel vulnérables à SGAxe et CrossTalk

Des chercheurs en cybersécurité ont découvert deux attaques distinctes qui pourraient être utilisées contre les processeurs Intel modernes pour divulguer des informations sensibles depuis les environnements d’exécution de confiance (TEE) du processeur.

Appelé SGAxe, la première faille est une évolution de l’attaque CacheOut précédemment découverte (CVE-2020-0549) cette année qui permet à un pirate informatique de récupérer le contenu du cache L1 du processeur.

“En utilisant l’attaque étendue contre les enclaves SGX architecturales fournies et signées par Intel, nous récupérons la clé d’attestation secrète utilisée pour prouver cryptographiquement l’authenticité des enclaves sur le réseau, cela nous permet de faire passer des fausses enclaves comme authentiques”, a expliqué un groupe d’universitaires de l’Université du Michigan.

La deuxième faille, surnommée CrossTalk par des chercheurs de l’Université VU d’Amsterdam, permet au code contrôlé par l’attaquant de s’exécuter sur un cœur du processeur pour cibler les enclaves SGX fonctionnant sur un cœur complètement différent et déterminer les clés privées de l’enclave.

Un TEE, comme les Software Guard Extensions (SGX) d’Intel, fait référence à une enclave sécurisée, une zone au sein d’un processeur qui garantit la confidentialité et l’intégrité du code et des données. Il offre des protections contre la modification de logiciels et de données sensibles par des acteurs malveillants qui pourraient s’être introduits dans la machine (virtuelle) cible.

Attaque SGAxe: Extraction de données sensibles à partir d’enclaves SGX

SGAxe s’appuie sur l’attaque d’exécution spéculative CacheOut pour dérober des données SGX. Selon les chercheurs, alors qu’Intel a pris des mesures pour lutter contre les attaques latérales visant SGX via plusieurs mises à jour de microcodes et de nouvelles architectures, les atténuations se sont révélées inefficaces.

Cet exploit, par conséquent, entraîne une attaque d’exécution transitoire qui peut récupérer les clés cryptographiques SGX à partir d’une machine Intel entièrement mise à jour, qui est approuvée par le serveur d’attestation d’Intel.

L’attestation est un mécanisme proposé dans le cadre de SGX qui permet aux enclaves de prouver à des partis tiers qu’elles ont été correctement initialisées sur un véritable processeur Intel. L’idée est de s’assurer que le logiciel exécuté à l’intérieur du CPU n’a pas été altéré et d’avoir une confiance accrue dans le fait que le logiciel fonctionne à l’intérieur de l’enclave.

“En un mot, nous utilisons CacheOut pour récupérer les clés dans l’espace d’adressage de l’enclave de production d’Intel”, ont déclaré les chercheurs. “Enfin, nous utilisons les clés récupérées afin de déchiffrer le stockage à long terme de l’enclave, en obtenant les clés d’attestation EPID des machines.”

intel

En brisant cette confiance, SGAxe permet à un attaquant de créer facilement une enclave voyou qui passe le mécanisme d’attestation d’Intel, ce qui entraîne la perte des garanties de sécurité.

“Avec les clés d’attestation de production de la machine compromises, tous les secrets fournis par le serveur sont immédiatement lisibles par l’application hôte non approuvée du client, tandis que toutes les sorties prétendument produites par des enclaves fonctionnant sur le client ne peuvent pas être fiables”, ont déclaré les chercheurs. “Cela rend les applications DRM basées sur SGX inutiles, car toutes données secrètes peut être récupéré de manière triviale.”

Bien qu’Intel ait publié des patchs pour CacheOut en Janvier via une mise à jour du microcode fournit aux OEM et par la suite via des mises à jour du BIOS aux utilisateurs finaux, les atténuations pour SGAxe nécessiteront de corriger la cause racine derrière CacheOut (alias L1D Eviction Sampling).

“Il est important de noter que SGAxe s’appuie sur CVE-2020-0549 qui a été mitigé dans le microcode (confirmé par les chercheurs dans leur article CacheOut mis à jour) et distribué à l’écosystème”, a déclaré Intel dans un avis de sécurité.

Le fabricant de puces effectuera également une récupération Trusted Compute Base (TCB) pour invalider toutes les clés d’attestation précédemment signées.

“Ce processus garantira que votre système soit dans un état sécurisé de telle sorte que votre système puisse à nouveau utiliser l’attestation à distance”, ont déclaré les chercheurs.

Attaque CrossTalk: Fuite d’informations sur les cœurs de processeur

CrossTalk (CVE-2020-0543), le deuxième exploit SGX, est ce que l’Université VU appelle une attaque MDS (Microarchitectural Data Sampling). Il tire parti d’un tampon «intermédiaire» lisible sur tous les cœurs de processeur pour lancer des attaques d’exécution transitoires sur les cœurs et extraire la clé privée ECDSA entière d’une enclave sécurisée exécutée sur un cœur de processeur distinct.

“Le tampon de stockage conserve les résultats des instructions précédemment exécutées sur tous les cœurs de processeur”, ont observé les chercheurs. “Par exemple, il contient les nombres aléatoires renvoyés par le DRNG matériel hors ligne, les hachages d’état de bootguard et d’autres données sensibles.”

intel

Autrement dit, CrossTalk fonctionne en lisant le tampon pendant l’exécution transitoire afin de divulguer des données sensibles accédées par des instructions précédemment exécutées par la victime.

Le fait que le tampon conserve la sortie des instructions RDRAND et RDSEED permet à un individu non autorisée de suivre les nombres aléatoires générés, et donc de compromettre les opérations cryptographiques de l’enclave SGX, y compris le processus d’attestation à distance susmentionné.

Les processeurs Intel étant sortis entre 2015 et 2019, en comptant les processeurs Xeon E3 et E, sont vulnérables aux attaques. Les chercheurs de l’Université VU ont déclaré avoir partagé avec Intel une preuve de concept démontrant la fuite du contenu du tampon en septembre 2018, suivie d’une preuve de concept mettant en œuvre des fuites RDRAND/RDSEED inter-cœurs en Juillet 2019.

“Les mesures d’atténuation contre les attaques d’exécution transitoires existantes sont largement inefficaces”, a résumé l’équipe de chercheurs. «La majorité des atténuations actuelles reposent sur l’isolement spatial des frontières qui ne sont plus applicables en raison de la nature inter-cœur de ces attaques. De nouvelles mises à jour de microcode qui verrouillent le bus mémoire entier pour ces instructions peuvent atténuer ces attaques, mais seulement si aucun problème similaire n’a été trouvé pour le moment. “

En réponse aux résultats, Intel a corrigé la faille dans une mise à jour du microcode distribuée aux éditeurs de logiciels après une période de divulgation prolongée de 21 mois en raison de la difficulté à implémenter un correctif.

La société a recommandé aux utilisateurs des processeurs concernés de mettre à jour vers la dernière version du micrologiciel fournie par les fabricants de systèmes pour résoudre le problème.

Si cet article vous a plu, jetez un œil à notre article précédent.