GPUHammer: El primer atac Rowhammer reeixit contra memòria de vídeo GDDR6

gpuhammer

Fa pocs dies es va donar a conèixer informació per part d'equips d'investigadors sobre el desenvolupament del primer atac Rowhammer que ha estat reeixidament dirigit a la memòria de vídeo GDDR6 d'una GPU, específicament una NVIDIA A6000.

La tècnica, batejada com a GPUHammer, permet manipular bits individuals a la DRAM de la GPU, aconseguint degradar dràsticament la precisió de models d'aprenentatge automàtic en alterar només un bit dels seus paràmetres. Aquests canvis de bit permeten a un usuari malintencionat de GPU manipular les dades d'un altre usuari a la GPU en entorns compartits amb intervals de temps.

Fins ara, aplicar Rowhammer a memòries de vídeo es considerava poc pràctic degut a diverses limitacions tècniques. La distribució física de les cel·les de memòria a xips GDDR és difícil de mapejar, les latències d'accés són fins a quatre vegades més lentes que en DRAM convencional, i les freqüències d'actualització són significativament més altes. A això se sumen mecanismes propietaris de protecció contra pèrdues de càrrega prematures, l'enginyeria inversa dels quals requeria equips especialitzats.

Per sortejar aquests obstacles, els investigadors van desenvolupar una nova tècnica d'enginyeria inversa adreçada a DRAM GDDR. Usant codi CUDA de baix nivell, van executar l'atac mitjançant optimitzacions específiques que intensifiquen l'accés a certes cel·les de memòria, generant condicions propícies per a l'alteració de bits. La clau de l'èxit va radicar a aconseguir una computació paral·lela altament organitzada, que va actuar com a amplificador de la pressió sobre les cel·les adjacents.

Com funciona l'atac?

l'atac explota una debilitat física a la DRAM, on l'accés intensiu a una fila de memòria (conegut com a “martelleig”) pot induir alteracions a les files adjacents. Tot i que aquesta vulnerabilitat va ser identificada el 2014 i estudiada extensament en memòries DDR de CPU, traslladar-la a les GPU havia estat fins ara un desafiament degut a:

  • L'alta latència d'accés de GDDR6 (fins a 4 vegades més gran que DDR4).
  • La complexitat a l'assignació física de la memòria.
  • La presència de mitigacions propietàries i poc documentades, com ara TRR.

Rowhammer és una vulnerabilitat de maquinari on l'activació ràpida d'una fila de memòria introdueix canvis de bits a les files adjacents. Des del 2014, aquesta vulnerabilitat s'ha estudiat àmpliament en CPU i en memòries basades en CPU com ara DDR3, DDR4 i LPDDR4. No obstant això, atès que les càrregues de treball crítiques d'IA i aprenentatge automàtic s'executen ara a GPU discretes al núvol, és fonamental avaluar la vulnerabilitat de les memòries de les GPU als atacs Rowhammer.

Tot i aquests obstacles, els investigadors van aconseguir aplicar enginyeria inversa sobre l'assignació de memòria virtual/física a CUDA, van desenvolupar un mètode per identificar bancs de memòria DRAM específics i van optimitzar l'accés paral·lel utilitzant múltiples fils i warps, i van maximitzar la taxa d'activació (hammering) sense causar latència addicional.

La prova de concepte va mostrar com una inversió de bit en pesos de models de xarxes neuronals profundes (DNN), específicament en exponents FP16 pot degradar la precisió top-1 de models de classificació d'imatges a ImageNet del 80% al 0,1%. Aquesta troballa és alarmant per a centres de dades i serveis al núvol que executen càrregues de treball d'IA en entorns compartits amb GPU.

Mitigacions i limitacions

NVIDIA ha confirmat la vulnerabilitat i recomana habilitar el suport ECC (Error-Correcting Code) mitjançant l'ordre nvidia-smi -e 1. Si bé aquesta mesura pot corregir errors d'un sol bit, implica una pèrdua de rendiment de fins a un 10% i una reducció del 6,25% a la memòria disponible. A més, no protegeix contra atacs futurs amb múltiples inversions de bit.

Confirmem les fluctuacions de bits de Rowhammer a les GPU NVIDIA A6000 amb memòria GDDR6. Altres GPU GDDR6, com la RTX 3080, no van mostrar fluctuacions de bits a les nostres proves, possiblement a causa de variacions en el proveïdor de DRAM, les característiques del xip o les condicions de funcionament, com la temperatura. Tampoc no observem fluctuacions en una GPU A100 amb memòria HBM.

L'equip destaca que GPUHammer actualment només ha estat verificat a la GPU A6000 amb GDDR6, i no en models com l'A100 (HBM) o RTX 3080. No obstant això, en tractar-se d'un atac extensible, s'encoratja altres investigadors a replicar i ampliar l'anàlisi en diferents arquitectures i models de GPU.

Finalment si estàs interessat en poder conèixer més sobre això, pots consultar els detalls al següent enllaç.