GPUHammer : la première attaque Rowhammer réussie contre la mémoire vidéo GDDR6

marteau gpu

Il y a quelques jours, des informations ont été publiées par une équipe de chercheurs sur le développement du première attaque Rowhammer Quoi a été dirigé avec succès vers la Mémoire vidéo GDDR6 d'un GPU, plus précisément un NVIDIA A6000.

La technique, surnommé GPUHammer, permet de manipuler des bits individuels de la DRAM du GPU, dégradant ainsi considérablement la précision des modèles d'apprentissage automatique en modifiant un seul bit de leurs paramètres. Ces inversions de bits permettent à un utilisateur malveillant de manipuler les données GPU d'un autre utilisateur dans des environnements partagés et échelonnés dans le temps.

Jusqu'à maintenant, L'application de Rowhammer aux mémoires vidéo a été jugée peu pratique En raison de plusieurs limitations techniques, la disposition physique des cellules mémoire des puces GDDR est difficile à cartographier, les latences d'accès sont jusqu'à quatre fois inférieures à celles des DRAM classiques, et les fréquences de rafraîchissement sont nettement supérieures. À cela s'ajoutent des mécanismes de protection propriétaires contre les pertes de charge prématurées, dont la rétro-ingénierie nécessite un équipement spécialisé.

Pour surmonter ces obstacles, Les chercheurs ont développé une nouvelle technique d'ingénierie inverse ciblant la DRAM GDDRÀ l'aide de code CUDA de bas niveau, ils ont exécuté l'attaque grâce à des optimisations spécifiques qui ont intensifié l'accès à certaines cellules mémoire, créant ainsi des conditions propices à la manipulation des bits. La clé du succès résidait dans la mise en place d'un calcul parallèle hautement organisé, amplifiant la pression sur les cellules adjacentes.

Comment fonctionne l'attaque?

L'attaque exploite une faiblesse physique de la DRAM, où l'accès intensif à une ligne de mémoire (appelé « martèlement ») peut induire des altérations dans les rangées adjacentesBien que cette vulnérabilité ait été identifiée en 2014 et largement étudiée dans la mémoire DDR du CPU, son portage sur les GPU a jusqu'à présent été un défi en raison de :

  • La latence d'accès élevée de la GDDR6 (jusqu'à 4 fois supérieure à celle de la DDR4).
  • La complexité de l’allocation physique de la mémoire.
  • La présence de mesures d’atténuation propriétaires et mal documentées, telles que TRR.

Rowhammer est une vulnérabilité matérielle dans laquelle l'activation rapide d'une ligne de mémoire entraîne des inversions de bits dans les lignes adjacentes. Depuis 2014, cette vulnérabilité est largement étudiée dans les processeurs et les mémoires basées sur processeur, comme la DDR3, la DDR4 et la LPDDR4. Cependant, comme les charges de travail critiques d'IA et d'apprentissage automatique s'exécutent désormais sur des GPU discrets dans le cloud, il est crucial d'évaluer la vulnérabilité de la mémoire GPU aux attaques Rowhammer.

Malgré ces obstacles, le Les chercheurs ont réussi à appliquer l'ingénierie inverse sur l'allocation de mémoire virtuelle/physique dans CUDA, Ils ont développé une méthode pour identifier des banques de mémoire DRAM spécifiques et un accès parallèle optimisé à l'aide de plusieurs threads et warps, maximisant le taux de martelage sans provoquer de latence supplémentaire.

La preuve de concept a montré comment une simple inversion de bit dans la pondération des modèles de réseaux neuronaux profonds (DNN), notamment dans les exposants FP16, peut réduire la précision top-1 des modèles de classification d'images sur ImageNet de 80 % à 0,1 %. Ce résultat est alarmant pour les centres de données et les services cloud exécutant des charges de travail d'IA dans des environnements partagés avec des GPU.

Atténuations et limitations

NVIDIA a confirmé la vulnérabilité et recommande d'activer la prise en charge ECC. (Code de correction d'erreur) en utilisant la commande nvidia-smi -e 1. Bien que Cette mesure peut corriger les erreurs un seul bit, Cela implique une perte de performance pouvant aller jusqu’à 10 %. et une réduction de 6,25 % de la mémoire disponible. Cela ne protège pas non plus contre de futures attaques impliquant plusieurs inversions de bits.

Nous avons confirmé les fluctuations de bits Rowhammer sur les GPU NVIDIA A6000 équipés de mémoire GDDR6. D'autres GPU GDDR6, comme la RTX 3080, n'ont pas présenté de fluctuations de bits lors de nos tests, probablement en raison de variations liées au fournisseur de DRAM, aux caractéristiques de la puce ou aux conditions de fonctionnement telles que la température. Nous n'avons également observé aucune fluctuation sur un GPU A100 équipé de mémoire HBM.

L'équipe souligne que GPUHammer n'a actuellement été vérifié que sur le GPU A6000 avec GDDR6, et non sur des modèles comme l'A100 (HBM) ou la RTX 3080. Cependant, comme il s'agit d'une attaque extensible, d'autres chercheurs sont encouragés à reproduire et à étendre l'analyse sur différentes architectures et modèles de GPU.

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