GDDRHammer et GeForge : deux nouvelles attaques Rowhammer contre les GPU

Points clés:
  • Des chercheurs développent des techniques pour amplifier les attaques Rowhammer sur la mémoire GDDR6, permettant ainsi de modifier des milliers de bits.
  • Les attaques GDDRHammer et GeForge manipulent l'allocateur de mémoire pour placer les tables de pages dans des secteurs vulnérables.
  • La modification d'un bit dans la table des pages permet à l'attaquant de rediriger les pointeurs de mémoire vers des structures qu'il contrôle.
  • En modifiant le champ d'ouverture du système dans l'entrée du tableau, le GPU obtient un accès direct en lecture et en écriture à la mémoire physique de l'hôte.
  • Cette vulnérabilité affecte des modèles tels que les RTX 3060 et RTX A6000, nécessitant l'activation de l'IOMMU comme principale mesure de défense.

Attaques de GPU Rowhammer

Des chercheurs en sécurité ont démontré que La vulnérabilité physique de Rowhammer constitue une grave menace. pour les unités de traitement graphique modernes, comportant deux chaînes d'attaque complètes appelées GeForce et GDDRHammerContrairement aux recherches préliminaires qui réussissaient à peine à induire une quantité minimale d'altérations de bits pour dégrader l'inférence des réseaux neuronaux, ces nouveaux types d'attaques parviennent à une compromission absolue au niveau du système.

Lors de l'exécution de code standard non privilégié sur un GPU NVIDIA, un Un attaquant peut corrompre les structures de mémoire interne de l'appareil pour obtenir un accès arbitraire en lecture et en écriture. Cette manipulation transversale permet à l'attaquant d'élever ses privilèges et d'obtenir un accès superutilisateur au système d'exploitation.

Évasion des mesures d'atténuation et des schémas

Le succès de ces attaques repose sur des techniques inédites. pour contourner les mesures d'atténuation du rafraîchissement de ligne cible (TRR) mises en œuvre dans la mémoire GDDR6. La recherche GeForge introduit des modèles non uniformes qui s'étendent sur plusieurs intervalles de mise à jour, en faisant varier l'intensité et l'ordre des activations des lignes de mémoire afin d'éviter la détection matérielle.

Pour appliquer les cartes d'adresses physiques obtenues par profilage hors ligne aux allocations de mémoire dynamiques, Ils ont mis au point une technique d'ancrage de page qui exploite l'affectation non linéaire des adresses physiques aux ensembles de cache L2.

Simultáneamente, L'équipe GDDRHammer a découvert que les rangées de mémoire DRAM sur les cartes graphiques Ils suivent une disposition géométrique non monotoneCela leur a permis de concevoir des motifs double face très efficaces, même si les adresses physiques semblaient éloignées. En assignant des tâches individuelles de banque de mémoire à différents multiprocesseurs de flux et en synchronisant partiellement leur exécution, ils ont pu optimiser les performances d'activation tout en contournant l'échantillonnage de sécurité.

Ces approches ont généré des résultats massifs ; La méthode GeForge a induit 1 171 modifications de bits sur une RTX 3060 grand public et 202 sur une RTX A6000 professionnelle., tandis que GDDRHammer a atteint une moyenne de 1 032 modifications par gigaoctet, ce qui représente une augmentation de 64 fois par rapport aux tentatives précédentes.

manipulation de la table des pages et massage de la mémoire

Pour utiliser ces perturbations électriques comme une arme, Les attaquants ciblent les tables de pages hiérarchiques gérées par l'unité de gestion de la mémoire du GPU.Étant donné que le contrôleur alloue généralement ces structures dans des régions protégées ou imprévisibles, les exploits reposent sur des techniques de manipulation de la mémoire pour forcer le placement des entrées de la table des pages dans des emplacements physiques que l'attaquant sait vulnérables.

L'attaque GDDRHammer utilise des mappages de mémoire partagée pour saturer l'allocateur., réduisant ainsi l'écart entre les régions de la table des pages et la mémoire contrôlée par l'utilisateur. GeForge se concentre spécifiquement sur la corruption des entrées du répertoire Pages. 0 (PD0).

En allouant et en libérant avec précision des fragments de mémoire virtuelle unifiée, l'attaquant dirige la création de nouvelles structures PD0 directement vers une sous-page spécifique de 4 kilo-octets. Une fois en position, le processus modifie un bit dans le pointeur d'adresse physique de l'entrée, le redirigeant vers une table des pages falsifiée, entièrement contrôlée par le code malveillant.

Élévation de privilèges via le bus PCIe

El Le contrôle de la table des pages de la carte graphique se traduit directement par le contrôle du processeur central de l'ordinateur.Les entrées de la table des pages NVIDIA contiennent un champ d'ouverture spécifique qui détermine si l'adresse physique associée réside dans la mémoire locale du périphérique ou dans la mémoire du système hôte. En modifiant ce champ dans l'entrée falsifiée, toute opération lecture ou écriture ultérieure Les données générées par le GPU sont acheminées via le bus PCIe directement vers la RAM physique. de l'hôte.

Cet accès direct à la mémoire contourne l'unité de gestion de la mémoire du processeur et les protections en écriture du système d'exploitation. Dans sa démonstration pratique, les chercheurs Ils ont utilisé cette fonctionnalité pour écraser directement le segment de code de la bibliothèque standard C dans la mémoire de l'hôte. Plus précisément, ils ont injecté du code machine dans la fonction de fermeture du journal, qui a ensuite été exécuté par un programme légitime disposant de privilèges élevés, accordant immédiatement à l'attaquant un accès absolu au système.

Prévalence du matériel et mesures d'atténuation

LaDes tests approfondis ont confirmé que cette vulnérabilité est répandue dans le matériel actuel.L'étude GDDRHammer a évalué 25 cartes graphiques haut de gamme et a constaté que 16 des 17 modèles RTX A6000 basés sur l'architecture Ampere étaient vulnérables à ces attaques. Bien que la mémoire à code correcteur d'erreurs (ECC) puisse atténuer la fiabilité de l'attaque en corrigeant les erreurs sur un seul bit, cette fonctionnalité est désactivée par défaut sur de nombreuses cartes graphiques pour stations de travail en raison de la perte de performances qu'elle engendre et est totalement absente des modèles grand public.

La défense immédiate la plus efficace contre la compromission de l'hôte est le application d'une unité de gestion de la mémoire d'entrée/sortie (IOMMU). Lorsqu'elle est activée, l'IOMMU restreint l'accès direct du GPU aux seules pages hôtes explicitement autorisées, neutralisant ainsi le mappage ouvert falsifié. Cependant, les deux équipes de recherche constatent que l'IOMMU est fréquemment désactivée par défaut sur les systèmes Linux commerciaux pour des raisons de compatibilité, laissant un nombre important de machines vulnérables à cette attaque.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant