Deux attaques contre le mécanisme de prédiction du canal de cache dans les processeurs AMD

Un groupe de chercheurs de l'Université de technologie de Graz (Autriche), auparavant connu pour développer des méthodes d'attaque MDS, NetSpectre, Lancer de marteau и ZombieLoad, mené des recherches sur les optimisations matérielles spécifiques aux processeurs AMD et a développé deux nouvelles méthodes d'attaques par canal secondaire qui manipulent les fuites de données lors du fonctionnement du mécanisme de prédiction du canal de cache LXNUMX des processeurs AMD. Les techniques peuvent être utilisées pour réduire l'efficacité de la protection ASLR, récupérer les clés dans les implémentations AES vulnérables et augmenter l'efficacité de l'attaque Spectre.

Des problèmes ont été identifiés dans la mise en œuvre du mécanisme de prédiction de canal (prédicteur de voie) dans le cache de données de premier niveau (L1D) du processeur, utilisé pour prédire quel canal de cache contient une certaine adresse mémoire. L'optimisation utilisée dans les processeurs AMD est basée sur la vérification des μ-tags (μTag). μTag est calculé en appliquant une fonction de hachage spécifique à l'adresse virtuelle. Pendant le fonctionnement, le moteur de prédiction de canal utilise μTag pour déterminer le canal de cache à partir de la table. Ainsi, μTag permet au processeur de se limiter à accéder à un seul canal spécifique, sans chercher dans toutes les options, ce qui réduit considérablement la consommation d'énergie du CPU.

Deux attaques contre le mécanisme de prédiction du canal de cache dans les processeurs AMD

Lors de l'ingénierie inverse de la mise en œuvre du système de prédiction de canal dans différentes générations de processeurs AMD commercialisées entre 2011 et 2019, deux nouvelles techniques d'attaque par canal secondaire ont été identifiées :

  • Collide+Probe - permet à un attaquant de suivre l'accès à la mémoire pour les processus exécutés sur le même cœur de processeur logique. L'essence de la méthode est d'utiliser des adresses virtuelles qui provoquent des collisions dans la fonction de hachage utilisée pour calculer μTag afin de suivre l'accès à la mémoire. Contrairement aux attaques Flush+Reload et Prime+Probe utilisées sur les processeurs Intel, Collide+Probe n'utilise pas de mémoire partagée et fonctionne sans connaissance des adresses physiques.
  • Load+Reload - vous permet de déterminer très précisément les traces d'accès à la mémoire sur le même cœur physique du processeur. La méthode est basée sur le fait qu’une cellule de mémoire physique ne peut se trouver qu’une seule fois dans le cache L1D. Ceux. accéder à la même cellule mémoire à une adresse virtuelle différente entraînera l'expulsion de la cellule du cache L1D, permettant ainsi de suivre l'accès à la mémoire. Bien que l'attaque s'appuie sur la mémoire partagée, elle ne vide pas les lignes de cache, ce qui permet des attaques furtives qui n'expulsent pas les données du cache de dernier niveau.

Sur la base des techniques Collide+Probe et Load+Reload, les chercheurs ont démontré plusieurs scénarios d'attaque par canal secondaire :

  • La possibilité d'utiliser des méthodes pour organiser un canal de communication indirect caché entre deux processus, permettant le transfert de données à des vitesses allant jusqu'à 588 Ko par seconde, est présentée.
  • En utilisant les collisions dans μTag, il a été possible de réduire l'entropie pour différentes variantes d'ASLR (Address Space Layout Randomization) et de contourner la protection ASLR dans le noyau sur un système Linux complètement mis à jour. La possibilité de mener une attaque pour réduire l'entropie ASLR à la fois à partir des applications utilisateur et en utilisant du code JavaScript exécuté dans un environnement sandbox et du code exécuté dans un autre environnement invité est présentée.

    Deux attaques contre le mécanisme de prédiction du canal de cache dans les processeurs AMD

  • Basée sur la méthode Collide+Probe, une attaque a été mise en œuvre pour récupérer la clé de chiffrement d'une implémentation vulnérable (basée sur Table en T) Cryptage AES.
  • En utilisant la méthode Collide+Probe comme canal d'acquisition de données, l'attaque Spectre a pu extraire des données privées du noyau sans utiliser la mémoire partagée.

La vulnérabilité se produit sur les processeurs AMD basés sur des microarchitectures
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ et Zen2.
AMD a été informé du problème le 23 août 2019, mais jusqu'à présent n'a pas publié le rapport avec des informations sur le blocage de la vulnérabilité. Selon les chercheurs, le problème peut être bloqué au niveau de la mise à jour du microcode en fournissant des bits MSR pour désactiver sélectivement le système de prédiction de canal, similaire à ce qu'Intel a fait pour contrôler la désactivation des mécanismes de prédiction de branchement.

Deux attaques contre le mécanisme de prédiction du canal de cache dans les processeurs AMD

Source: opennet.ru

Ajouter un commentaire