La société Intel des informations sur deux nouvelles vulnérabilités des CPU Intel, causées par des fuites de données du cache L1D (, L1DES — L1D Eviction Sampling) et des registres vectoriels (, VRS — Vector Register Sampling). Les vulnérabilités appartiennent à la classe (Microarchitectural Data Sampling) et reposent sur l'utilisation de méthodes d'analyse par canaux auxiliaires des données dans les structures microarchitecturales. Les processeurs AMD, ARM et d'autres ne sont pas concernés par ces problèmes.
La vulnérabilité L1DES représente le plus grand danger, car elle la présence de blocs de données en cache (cache line), expurgés du cache de premier niveau (L1D), dans le tampon de remplissage (Fill Buffer), qui à ce stade doit être vide. Pour identifier les données résiduelles dans le tampon de remplissage, on peut utiliser des méthodes d'analyse par canaux auxiliaires, précédemment proposées dans les attaques (Microarchitectural Data Sampling) et (Transactional Asynchronous Abort). La protection mise en place précédemment contre les
MDS et TAA consiste à nettoyer les tampons microarchitecturaux avant un changement de contexte, mais, comme cela a été constaté, dans certaines conditions, les données sont de manière spéculative écrasées dans les tampons après l'opération de nettoyage, rendant donc les méthodes MDS et TAA applicables.

En fin de compte, un attaquant peut obtenir des informations sur les données expulsées du cache de premier niveau, qui ont été modifiées lors de l'exécution d'une application s'exécutant sur le cœur CPU actuel, ou d'applications s'exécutant simultanément dans d'autres threads logiques (hyperthread) sur le même cœur CPU (désactiver le HyperThreading annule l'efficacité de l'attaque). Contrairement à l'attaque , L1DES ne permet pas de sélectionner des adresses physiques spécifiques pour vérification, mais offre la possibilité de suivre passivement les activités dans d'autres threads logiques associées à la lecture ou à l'écriture en mémoire de valeurs.
Sur la base de L1DES, diverses équipes de chercheurs ont développé plusieurs variantes d'attaques, qui permettent potentiellement d'extraire des informations confidentielles d'autres processus, du système d'exploitation, des machines virtuelles et d'enclaves sécurisées SGX.
- L'équipe VUSec la méthode d'attaque RIDL pour la vulnérabilité L1DES. Un prototype d'exploit est disponible , qui contourne également la méthode de protection MDS préconisée par Intel, basée sur l'utilisation de l'instruction VERW pour nettoyer le contenu des caches microarchitecturaux au moment du retour de l'espace noyau à l'espace utilisateur ou lors du transfert de contrôle au système invité (les chercheurs ont à l'origine insisté sur le fait que VERW (nettoyage des caches microarchitecturaux) n'était pas suffisant pour la protection et qu'un réinitialisation complète du cache L1 était requise à chaque commutation de contexte).
- Commande a mis à jour sa en tenant compte de la vulnérabilité L1DES.
- Les chercheurs de l'Université du Michigan ont développé leur propre méthode d'attaque (), qui permet d'extraire des informations confidentielles du noyau du système d'exploitation, des machines virtuelles et des enclaves sécurisées SGX. La méthode repose sur du mécanisme d'interruption asynchrone des opérations (TAA, TSX Asynchronous Abort) pour déterminer le contenu du tampon de remplissage après une fuite de données du cache L1D.
La deuxième vulnérabilité VRS (Vector Register Sampling) à la 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 des circonstances assez rares et est causée par le fait qu'une opération exécutée de manière spéculative, entraînant un reflet de l'état des registres vectoriels dans le tampon de stockage, est retardée et se termine après le nettoyage du tampon, plutôt que avant. À l'instar de la vulnérabilité L1DES, le contenu du tampon de stockage peut ensuite être déterminé à l'aide des méthodes d'attaque MDS et TAA.
Les chercheurs du groupe VUSec , permettant de déterminer les valeurs des registres vectoriels, obtenues à partir de calculs dans un autre flux logique du même cœur de CPU. La société Intel la vulnérabilité VRS comme étant trop complexe pour réaliser des attaques réelles et lui a attribué un niveau de danger minimal (2.8 CVSS).
Des informations sur les problèmes ont été transmises à Intel en mai 2019 par l'équipe Zombieload de l'Université technique de Graz (Autriche) et le groupe VUSec de l'Université libre d'Amsterdam, et plus tard, après analyse d'autres vecteurs d'application de l'attaque MDS, les vulnérabilités ont été confirmées par certains autres chercheurs. Le premier rapport MDS n'a pas inclus d'informations sur les problèmes L1DES et VRS en raison de l'absence de correctif. Le correctif n'est toujours pas disponible, mais les délais de non-divulgation convenus ont expiré.
Comme mesures de contournement, il est recommandé de désactiver HyperThreading. Pour bloquer la vulnérabilité côté noyau, il est suggéré de vider 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 de publier une mise à jour de microcode avec la mise en œuvre de mécanismes pour bloquer les problèmes dans un avenir proche. Intel note également que l'application des méthodes de protection proposées en 2018 contre l'attaque (L1 Terminal Fault) permet de bloquer l'exploitation de la vulnérabilité L1DES à partir d'environnements virtuels. L'attaque les 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.
Il convient également de noter , permettant d'utiliser les méthodes d'attaque pour déterminer le contenu du hachage du mot de passe root à partir de /etc/shadow lors de tentatives d'authentification périodiques. Alors que l'exploit initial proposé déterminait le hachage du mot de passe en , et après l'application de la fuite lors de l'utilisation du mécanisme d'interruption asynchrone des opérations (TAA, TSX Asynchronous Abort), réalisait une opération similaire en , la nouvelle variante effectue l'attaque en 4 secondes.

Source : opennet.ru
