Collide + Probe et Load + Reload: deux techniques permettant de filtrer les données sur les processeurs AMD

Dans un article précédent, nous avons parlé d'un bogue qui ne peut pas être corrigé dans les processeurs Intel avant la dixième génération et maintenant à cette occasion un bug affectant les processeurs AMD. Et c'est qu'une équipe de chercheurs de l'Université de technologie de Graz (Autriche), anciennement connu pour développer des méthodes d'attaque pour MDS, NetSpectre, Throwhammer et ZombieLoad.

Maintenant, ils ont travaillé pour mener des recherches sur des optimisations matérielles AMD spécifiques et développé deux nouvelles méthodes pour attaquer les canaux tiers qui manipulent les fuites de données lors de la prédiction des canaux de cache du premier niveau des processeurs AMD.

Méthodes peut être utilisé pour réduire la protection ASLR, restaurer les clés dans les déploiements AES vulnérables et augmenter l'efficacité de l'attaque Spectre.

Dans leurs recherches, ils rapportent que ils ont identifié des problèmes dans la mise en œuvre du mécanisme de prédiction de canal (prédicteur de forme) dans le cache de données du processeur de premier niveau (L1D), utilisé pour prédire quel canal de cache reflète une adresse mémoire spécifique.

L'optimisation utilisée dans les processeurs AMD est basée sur la vérification μ-tag. μTag est calculé en appliquant une fonction de hachage spécifique à l'adresse virtuelle. Au cours de l'opération, eLe mécanisme de prédiction de canal utilise μTag pour déterminer le canal de cache de la table.

Par conséquent, μTag permet au processeur de se limiter à accéder à un seul canal spécifique, sans énumérer toutes les options, ce qui réduit considérablement la consommation d'énergie du processeur.

La vulnérabilité se manifeste par 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 n'a pas encore publié de rapport contenant des informations sur le blocage des vulnérabilités.

Selon les enquêteurs, le problème peut se bloquer 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, de la même manière qu'Intel a géré l'arrêt des mécanismes de prédiction de transition.

Lors de la rétro-ingénierie de l'implémentation du système de prédiction de canal sur différentes générations de processeurs AMD fabriqués entre 2011 et 2019, Deux nouvelles techniques de ciblage des chaînes tierces ont été révélées:

  • Collision + sonde: permet à un attaquant de suivre l'accès à la mémoire pour les processus s'exécutant sur le même cœur logique que le processeur.
    L'essence de la méthode est d'utiliser des adresses virtuelles qui provoquent des collisions de hachage de la fonction utilisée pour calculer μTag pour 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 connaître les adresses physiques.
  • Charger + Recharger: permet de déterminer très précisément les traces d'accès mémoire dans le même cœur physique du CPU. La méthode est basée sur le fait qu'une cellule de mémoire physique ne peut être localisée qu'une seule fois dans le cache L1D.
    Autrement dit, accéder au même emplacement de mémoire à une adresse virtuelle différente forcera la cellule à sortir du cache L1D, vous permettant de suivre l'accès à la mémoire. Bien que l'attaque repose sur la mémoire partagée, elle ne réinitialise pas les lignes de cache, ce qui permet de mener des attaques furtives qui ne déplacent pas les données du cache de niveau supérieur.

Basé sur les techniques Collide + Probe et Load + Reload, les chercheurs ont démontré divers scénarios d'attaque via des canaux tiers:

La possibilité d'utiliser des méthodes est montrée d'organiser un canal de communication indirect caché entre deux processus, qui permet aux données d'être transmises à des vitesses allant jusqu'à 588 ko par seconde.

En utilisant des collisions dans μTag, il était possible de réduire l'entropie pour différentes variantes de la randomisation de la disposition de l'espace d'adressage (ASLR) et contourner la protection ASLR au cœur de un système Linux entièrement à jour.

La possibilité d'une attaque est montrée pour réduire l'entropie ASLR des applications utilisateur et l'utilisation de code JavaScript exécuté dans l'environnement sandbox et du code qui s'exécute dans un autre environnement invité.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.