L1DES (CacheOut) et VRS - nouvelles vulnérabilités dans les structures microarchitecturales des processeurs Intel

Intel découvert informations sur deux nouvelles vulnérabilités dans les processeurs Intel causées par une fuite de données du cache L1D (CVE-2020-0549, L1DES - L1D Eviction Sampling) et les registres vectoriels (CVE-2020-0548, VRS - Échantillonnage de registres vectoriels). Les vulnérabilités appartiennent à la classe MDS (Microarchitectural Data Sampling) et sont basés sur l'application de méthodes d'analyse par canal secondaire aux données des structures microarchitecturales. AMD, ARM et autres processeurs ne sont pas concernés par les problèmes.

Le plus grand danger est la vulnérabilité L1DES, qui admet règlement des blocs de données mises en cache (ligne de cache), évincés du cache de premier niveau (L1D), dans le Fill Buffer, qui à ce stade doit être vide. Pour déterminer les données qui se sont déposées dans le tampon de remplissage, nous pouvons utiliser les méthodes d'analyse par canal secondaire proposées précédemment dans les attaques MDS (Échantillonnage de données microarchitecturales) et TAA (Avortement asynchrone transactionnel). L'essence de la protection précédemment mise en œuvre contre
MDS et TAA pour vider les tampons microarchitecturaux avant le changement de contexte, mais il s'avère que dans certaines conditions, les données sont vidées de manière spéculative dans les tampons après l'opération de vidage, de sorte que les méthodes MDS et TAA restent applicables.

L1DES (CacheOut) et VRS - nouvelles vulnérabilités dans les structures microarchitecturales des processeurs Intel

En conséquence, un attaquant peut détecter des données évincées du cache de premier niveau qui ont été modifiées lors de l'exécution d'une application qui occupait auparavant le cœur actuel du processeur, ou des applications exécutées en parallèle dans d'autres threads logiques (hyperthread) sur le même processeur. core (la désactivation de HyperThreading ne réduit aucune efficacité des attaques). Contrairement à l'attaque L1TFL1DES ne permet pas la sélection d'adresses physiques spécifiques pour l'inspection, mais il offre la possibilité de surveiller passivement l'activité dans d'autres threads logiques associés au chargement ou au stockage de valeurs en mémoire.

Sur la base de L1DES, diverses équipes de recherche ont développé plusieurs variantes d'attaque susceptibles d'extraire des informations sensibles d'autres processus, du système d'exploitation, des machines virtuelles et des enclaves SGX protégées.

  • Équipe VUSec adapté Méthode d'attaque RIDL pour la vulnérabilité L1DES. Disponible exploiter un prototype, qui contourne également la méthode de protection MDS proposée par Intel, basée sur l'utilisation de l'instruction VERW pour effacer le contenu des tampons microarchitecturaux lors du retour du noyau à l'espace utilisateur ou lors du transfert du contrôle au système invité (les chercheurs ont initialement insisté sur le fait que VERW (effacement microarchitectural tampons) pour la protection est insuffisante et nécessite un vidage complet du cache L1 à chaque changement de contexte).
  • Équipe ZombieLoad mis à jour mon méthode d'attaque en tenant compte de la vulnérabilité L1DES.
  • Des chercheurs de l'Université du Michigan ont développé leur propre méthode d'attaque Cache sortant (PDF), qui vous permet d'extraire des informations confidentielles du noyau du système d'exploitation, des machines virtuelles et des enclaves SGX protégées. La méthode est basée sur manipulations avec un mécanisme d'interruption asynchrone des opérations (TAA, TSX Asynchronous Abort) pour déterminer le contenu du buffer de remplissage après une fuite de données du cache L1D.

    L1DES (CacheOut) et VRS - nouvelles vulnérabilités dans les structures microarchitecturales des processeurs Intel

Deuxième vulnérabilité VRS (Vector Register Sampling) connecté avec fuite dans le tampon de stockage (Store Buffer) des résultats des opérations de lecture des registres vectoriels modifiés lors de l'exécution d'instructions vectorielles (SSE, AVX, AVX-512) sur le même cœur de CPU. La fuite se produit dans un ensemble de circonstances assez rares et est causée par le fait qu'une opération spéculative qui aboutit à la réflexion de l'état des registres vectoriels dans le tampon de stockage est retardée et se termine après l'effacement du tampon, et non avant. Semblable à la vulnérabilité L1DES, le contenu du tampon de stockage peut ensuite être déterminé à l'aide des techniques d'attaque MDS et TAA.

Chercheurs du groupe VUSec подготовили exploiter un prototype, qui vous permet de déterminer les valeurs des registres vectoriels obtenues à la suite de calculs dans un autre thread logique du même cœur de CPU. Société Intel apprécié La vulnérabilité VRS a été jugée trop complexe pour mener de véritables attaques et s'est vu attribuer un niveau de gravité minimum (2.8 CVSS).

Les problèmes ont été signalés à Intel en mai 2019 par l'équipe Zombieload de l'Université technique de Graz (Autriche) et l'équipe VUSec de l'Université libre d'Amsterdam, et les vulnérabilités ont ensuite été confirmées par plusieurs autres chercheurs après avoir analysé d'autres vecteurs d'attaque MDS. Le premier rapport MDS n'incluait pas d'informations sur les problèmes L1DES et VRS en raison de l'absence de correctif. Le correctif n'est pas disponible pour le moment, mais le délai de non-divulgation convenu a expiré.
Pour contourner ce problème, il est recommandé de désactiver HyperThreading. Pour bloquer la vulnérabilité côté noyau, il est proposé de réinitialiser le cache L1 à chaque changement de contexte (bit MSR MSR_IA32_FLUSH_CMD) et de désactiver l'extension TSX (bits MSR MSR_IA32_TSX_CTRL et MSR_TSX_FORCE_ABORT).

Intel promesses publier une mise à jour du microcode avec la mise en œuvre de mécanismes pour bloquer les problèmes dans un avenir proche. Intel note également que l'utilisation des méthodes de protection contre les attaques proposées en 2018 L1TF (L1 Terminal Fault) permet de bloquer l'exploitation de la vulnérabilité L1DES depuis les environnements virtuels. Attaque sous réserve de Processeurs Intel Core à partir de la sixième génération (Sky, Kaby, Coffee, Whiskey, Amber Lake, etc.), ainsi que certains modèles Intel Xeon et Xeon Scalable.

De plus, on peut noter amélioration exploiter, vous permettant d'utiliser des méthodes d'attaque RIDL pour déterminer le contenu du hachage du mot de passe root de /etc/shadow lors des tentatives d'authentification périodiques. Si l'exploit initialement proposé déterminait le hachage du mot de passe dans Heures 24, et après avoir appliqué la fuite pendant le fonctionnement du mécanisme d'interruption asynchrone (TAA, TSX Asynchronous Abort) a effectué une opération similaire dans 36 secondes, alors la nouvelle variante effectue une attaque en 4 secondes.

Source: opennet.ru

Ajouter un commentaire