GPUHammer: de eerste succesvolle Rowhammer-aanval tegen GDDR6-videogeheugen

gpuhammer

Een paar dagen geleden werd door een team van onderzoekers informatie vrijgegeven over de ontwikkeling van de eerste Rowhammer-aanval dat is succesvol doorverwezen naar la GDDR6-videogeheugen van een GPU, specifiek een NVIDIA A6000.

De techniek, genaamd GPUHammer, maakt het mogelijk om individuele bits in het DRAM van de GPU te manipuleren, waardoor de nauwkeurigheid van machine learning-modellen drastisch afneemt door slechts één bit van hun parameters te wijzigen. Deze bitflips stellen een kwaadwillende GPU-gebruiker in staat om de GPU-gegevens van een andere gebruiker te manipuleren in gedeelde, time-sliced omgevingen.

Hasta ahora, Het toepassen van Rowhammer op videoherinneringen werd als onpraktisch beschouwd vanwege diverse technische beperkingen. De fysieke lay-out van geheugencellen in GDDR-chips is moeilijk in kaart te brengen, de toegangslatentie is tot vier keer lager dan in conventioneel DRAM en de verversingsfrequenties zijn aanzienlijk hoger. Daarbij komen nog bedrijfseigen beschermingsmechanismen tegen voortijdig ladingsverlies, waarvoor reverse engineering gespecialiseerde apparatuur vereist.

Om deze obstakels te overwinnen, Onderzoekers hebben een nieuwe reverse engineering-techniek ontwikkeld die gericht is op GDDR DRAMMet behulp van low-level CUDA-code voerden ze de aanval uit via specifieke optimalisaties die de toegang tot bepaalde geheugencellen intensiveerden, waardoor omstandigheden ontstonden die gunstig waren voor bitmanipulatie. De sleutel tot succes lag in het bereiken van zeer georganiseerde parallelle computing, die fungeerde als een versterking van de druk op aangrenzende cellen.

Hoe werkt de aanval?

De aanval maakt gebruik van een fysieke zwakte in het DRAM, waarbij intensieve toegang tot een geheugenrij (bekend als “hameren”) kan veranderingen in aangrenzende rijen veroorzakenHoewel deze kwetsbaarheid al in 2014 werd geïdentificeerd en uitgebreid werd bestudeerd in CPU DDR-geheugen, is het tot nu toe een uitdaging gebleken om deze naar GPU's te porteren vanwege:

  • De hoge toegangslatentie van GDDR6 (tot 4 keer hoger dan DDR4).
  • De complexiteit van de fysieke toewijzing van geheugen.
  • De aanwezigheid van gepatenteerde en slecht gedocumenteerde mitigerende maatregelen, zoals TRR.

Rowhammer is een hardwarekwetsbaarheid waarbij het snel activeren van één geheugenrij bitflips in aangrenzende rijen veroorzaakt. Sinds 2014 wordt deze kwetsbaarheid uitgebreid onderzocht in CPU's en CPU-gebaseerd geheugen zoals DDR3, DDR4 en LPDDR4. Omdat kritieke AI- en machine learning-workloads nu echter op afzonderlijke GPU's in de cloud draaien, is het cruciaal om de kwetsbaarheid van GPU-geheugen voor Rowhammer-aanvallen te beoordelen.

Ondanks deze obstakels is de Onderzoekers zijn erin geslaagd reverse engineering toe te passen over toewijzing van virtueel/fysiek geheugen in CUDA, Ze ontwikkelden een methode om specifieke DRAM-geheugenbanken te identificeren en geoptimaliseerde parallelle toegang met behulp van meerdere threads en warps, waardoor de hamersnelheid wordt gemaximaliseerd zonder dat er extra latentie ontstaat.

Het proof-of-concept toonde aan hoe een enkele bit-flip in modelgewichten van diepe neurale netwerken (DNN's), met name in FP16-exponen, de top-1-nauwkeurigheid van beeldclassificatiemodellen op ImageNet kan verlagen van 80% naar 0,1%. Deze bevinding is alarmerend voor datacenters en cloudservices die AI-workloads uitvoeren in gedeelde omgevingen met GPU's.

Beperkingen en verzachtingen

NVIDIA heeft de kwetsbaarheid bevestigd en adviseert om ECC-ondersteuning in te schakelen. (Foutcorrigerende code) met behulp van de opdracht nvidia-smi -e 1. Hoewel Met deze maatregel kunnen fouten worden gecorrigeerd enkelbits, Dit betekent een prestatieverlies van maximaal 10%. en een reductie van 6,25% in beschikbaar geheugen. Het biedt ook geen bescherming tegen toekomstige aanvallen met meerdere bitflips.

We hebben Rowhammer-bitschommelingen vastgesteld op NVIDIA A6000 GPU's met GDDR6-geheugen. Andere GDDR6 GPU's, zoals de RTX 3080, vertoonden geen bitschommelingen tijdens onze tests, mogelijk als gevolg van variaties in DRAM-leveranciers, chipkenmerken of bedrijfsomstandigheden zoals temperatuur. We hebben ook geen schommelingen waargenomen op een A100 GPU met HBM-geheugen.

Het team benadrukt dat GPUHammer is momenteel alleen geverifieerd op de A6000 GPU met GDDR6, en niet op modellen zoals de A100 (HBM) of RTX 3080. Omdat dit echter een uitbreidbare aanval is, worden andere onderzoekers aangemoedigd om de analyse te repliceren en uit te breiden op verschillende GPU-architecturen en -modellen.

Als u er ten slotte meer over wilt weten, kunt u de details raadplegen in de volgende link.