Les GPU Nvidia sont vulnérables aux attaques par bitflip ; l’activation d’ECC aide

Les GPU Nvidia sont vulnérables aux attaques par bitflip ; l’activation d’ECC aide
Nvidia RTX 5000

Des chercheurs ont utilisé pour la première fois une vulnérabilité de la DRAM pour provoquer des bitflips dans la mémoire GDDR6 d’un GPU Nvidia. L’impact peut être important, surtout lorsque ces GPU « s exécutent des LLM » s.

Des chercheurs de l’Université de Toronto ont mené avec succès, pour la première fois, une attaque Rowhammer sur la mémoire GPU. L’attaque, appelée GPUHammer, montre que la mémoire GDDR6 des cartes graphiques est également vulnérable aux bitflips.

Rowhammer est une vulnérabilité connue de la DRAM, basée sur des effets physiques dans les cellules de mémoire. Les attaquants tentent d’activer à plusieurs reprises les cellules de mémoire, jusqu’à ce que des bitflips soient provoqués dans les cellules des rangées adjacentes.

Jusqu’à présent, le phénomène a surtout été étudié sur des types de mémoire CPU, notamment la DDR4. Les chercheurs se sont concentrés sur la mémoire GDDR6 du GPU Nvidia RTX A6000 et ont réussi, en utilisant le code CUDA, à provoquer des bitflips dans toutes les banques DRAM testées.

Adresses découvertes

C’est frappant, car la mémoire GDDR6 des GPU Nvidia « s est en théorie mieux protégée. Les GPU » s ne partagent pas les adresses de mémoire physique avec le code CUDA, et ces adresses physiques sont nécessaires pour provoquer des bitflips ciblés.

Les chercheurs ont donc étudié comment le pilote Nvidia attribue les adresses. Ils ont réussi, grâce à la rétro-ingénierie, à accéder aux adresses physiques. Les chercheurs génèrent ainsi suffisamment d’accès à la mémoire pour provoquer des bitflips.

Dans une démonstration de faisabilité, ils ont montré qu’un seul bitflip dans un modèle d’apprentissage profond sur le GPU peut faire chuter la précision de 80 % à moins de 1 %. Pour ce faire, ils ont spécifiquement manipulé l’exposant des nombres à virgule flottante de 16 bits dans les poids du modèle, ce qui a un impact considérable sur le résultat final.

ECC limite les dégâts

Les chercheurs ont noté que l’activation d’ECC (Error Correction Code) via le pilote Nvidia peut corriger les bitflips uniques observés. C’est logique, le rôle d’ECC est de détecter les erreurs de mémoire dues aux bitflips, provoquées par exemple par le rayonnement cosmique.

ECC est désactivé par défaut sur de nombreux GPU en raison de l’impact sur les performances. Cela peut aller jusqu’à dix pour cent. Cependant, ECC n’empêche pas la vulnérabilité sous-jacente, qui découle des propriétés physiques de la mémoire DRAM. Les bitflips restent possibles, mais la mémoire peut en principe les corriger à temps.

Bien que l’attaque n’ait été confirmée que sur le RTX A6000 avec GDDR6, les chercheurs soulignent que les techniques utilisées peuvent être étendues à d’autres GPU. Les modèles plus récents avec HBM ou GDDR7 semblent pour l’instant immunisés grâce à une meilleure correction des erreurs. Les chercheurs appellent à une étude plus approfondie et à une adaptation des conceptions de DRAM pour éviter structurellement ce type d’attaques.

GPU vulnérables

Nvidia recommande aux utilisateurs d’activer la mémoire ECC pour éviter les abus. Cette suggestion s’applique aux GPU de serveur suivants :

  • Ampere : A100, A40, A30, A16, A10, A2, A800
  • Ada : L40S, L40, L4
  • Hopper : H100, H200, GH200, H20, H800
  • Blackwell : GB200, B200, B100
  • Turing : T1000, T600, T400, T4
  • Volta : Tesla V100, Tesla V100S

En théorie, les GPU des stations de travail sont également vulnérables. Il s’agit des puces suivantes :

  • Ampere RTX : A6000, A5000, A4500, A4000, A2000, A1000, A400
  • Ada RTX : 6000, 5000, 4500, 4000, 4000 SFF, 2000
  • Blackwell RTX PRO
  • Turing RTX : 8000, 6000, 5000, 4000
  • Volta : Quadro GV100

L’attaque Rowhammer sur les GPU peut causer des dommages, mais elle est également complexe à réaliser. Un attaquant doit déjà avoir un accès important à un système pour effectuer avec succès des bitflips. Une pondération entre le risque d’une part et la baisse de performance d’ECC d’autre part est donc nécessaire sur une base individuelle.