För några dagar sedan släpptes information av ett forskarteam om utvecklingen av första Rowhammer-attacken que har framgångsrikt riktats till la GDDR6-videominne av ett GPU, närmare bestämt ett NVIDIA A6000.
Tekniken, dubbad GPUHammer, tillåter att enskilda bitar i GPU:ns DRAM manipuleras, vilket drastiskt försämrar noggrannheten hos maskininlärningsmodeller genom att bara ändra en enda bit av deras parametrar. Dessa bitflips gör det möjligt för en illvillig GPU-användare att manipulera en annan användares GPU-data i delade, tidssegmenterade miljöer.
Hittills, Att tillämpa Rowhammer på videominnen ansågs opraktiskt på grund av flera tekniska begränsningar. Den fysiska layouten av minnesceller i GDDR-chip är svår att kartlägga, åtkomstlatenserna är upp till fyra gånger långsammare än i konventionellt DRAM, och uppdateringsfrekvenserna är betydligt högre. Till detta kommer proprietära skyddsmekanismer mot för tidig laddningsförlust, vars reverse engineering krävde specialiserad utrustning.
För att övervinna dessa hinder, Forskare utvecklade en ny reverse engineering-teknik riktad mot GDDR DRAMMed hjälp av lågnivå-CUDA-kod utförde de attacken genom specifika optimeringar som intensifierade åtkomsten till vissa minnesceller, vilket skapade förhållanden som gynnade bitmanipulation. Nyckeln till framgång låg i att uppnå högorganiserad parallell beräkning, vilket fungerade som en förstärkare av trycket på angränsande celler.
Hur fungerar attacken?
Attacken utnyttjar en fysisk svaghet i DRAM-minnet, där intensiv åtkomst till en minnesrad (känd som "hamring") kan orsaka förändringar i angränsande raderÄven om denna sårbarhet identifierades 2014 och studerades utförligt i CPU DDR-minne, har det hittills varit en utmaning att portera den till GPU:er på grund av:
- Den höga åtkomstlatensen hos GDDR6 (upp till 4 gånger högre än DDR4).
- Komplexiteten i den fysiska allokeringen av minne.
- Förekomsten av proprietära och dåligt dokumenterade mildrande åtgärder, såsom TRR.
Rowhammer är en hårdvarusårbarhet där snabb aktivering av en rad minne introducerar bitflips i intilliggande rader. Sedan 2014 har denna sårbarhet studerats i stor utsträckning i processorer och CPU-baserat minne som DDR3, DDR4 och LPDDR4. Men eftersom kritiska AI- och maskininlärningsarbetsbelastningar nu körs på separata GPU:er i molnet är det avgörande att bedöma GPU-minnets sårbarhet för Rowhammer-attacker.
Trots dessa hinder, den Forskare lyckades tillämpa reverse engineering om virtuell/fysisk minnesallokering i CUDA, De utvecklade en metod för att identifiera specifika DRAM-minnesbanker och optimerad parallell åtkomst med hjälp av flera trådar och varpningar, vilket maximerar hamringshastigheten utan att orsaka ytterligare latens.
Konceptbeviset visade hur en enstaka bitsändring i DNN-modellens vikter, specifikt i FP16-exponenter, kan försämra den högsta noggrannheten hos bildklassificeringsmodeller på ImageNet från 1 % till 80 %. Detta resultat är alarmerande för datacenter och molntjänster som kör AI-arbetsbelastningar i delade miljöer med GPU:er.
Mildrande åtgärder och begränsningar
NVIDIA har bekräftat sårbarheten och rekommenderar att aktivera ECC-stöd. (Felkorrigeringskod) med kommandot nvidia-smi -e 1. Även om Denna åtgärd kan korrigera fel enkelbit, Detta innebär en prestandaförlust på upp till 10 %. och en minskning med 6,25 % av tillgängligt minne. Det skyddar inte heller mot framtida attacker som involverar flera bitflips.
Vi bekräftade Rowhammer-bitfluktuationer på NVIDIA A6000-grafikprocessorer med GDDR6-minne. Andra GDDR6-grafikprocessorer, som RTX 3080, uppvisade inga bitfluktuationer i våra tester, möjligen på grund av variationer i DRAM-leverantör, chipegenskaper eller driftsförhållanden som temperatur. Vi observerade inte heller några fluktuationer på en A100-grafikprocessor med HBM-minne.
Teamet framhäver att GPUHammer har för närvarande endast verifierats på A6000 GPU med GDDR6, och inte på modeller som A100 (HBM) eller RTX 3080. Eftersom detta är en utökningsbar attack uppmuntras dock andra forskare att replikera och utöka analysen på olika GPU-arkitekturer och modeller.
Slutligen, om du är intresserad av att lära dig mer om det, kan du konsultera detaljerna i följande länk.