For noen dager siden ble informasjon offentliggjort av et forskerteam om utviklingen av første Rowhammer-angrep que har blitt vellykket dirigert til la GDDR6-videominne av et GPU, nærmere bestemt et NVIDIA A6000.
Teknikken, kalt GPUHammer, tillater manipulering av individuelle biter i GPU-ens DRAM, noe som drastisk forringer nøyaktigheten til maskinlæringsmodeller ved å endre bare én enkelt bit av parameterne deres. Disse bit-vendingene lar en ondsinnet GPU-bruker manipulere en annen brukers GPU-data i delte, tidsoppdelte miljøer.
Så langt, Å bruke Rowhammer på videominner ble ansett som upraktisk på grunn av flere tekniske begrensninger. Den fysiske utformingen av minneceller i GDDR-brikker er vanskelig å kartlegge, tilgangslatensene er opptil fire ganger langsommere enn i konvensjonelle DRAM-brikker, og oppdateringsfrekvensene er betydelig høyere. I tillegg til dette kommer proprietære beskyttelsesmekanismer mot for tidlig ladetap, og reverse engineering av disse krevde spesialisert utstyr.
For å overvinne disse hindringene, Forskere utviklet en ny reverse engineering-teknikk rettet mot GDDR DRAMVed hjelp av lavnivå-CUDA-kode utførte de angrepet gjennom spesifikke optimaliseringer som intensiverte tilgangen til bestemte minneceller, og skapte dermed forhold som var gunstige for bitmanipulering. Nøkkelen til suksess lå i å oppnå svært organisert parallell databehandling, som fungerte som en forsterker av trykket på tilstøtende celler.
Hvordan fungerer angrepet?
Angrepet utnytter en fysisk svakhet i DRAM-en, hvor intensiv tilgang til en minnerad (kjent som «hammering») kan forårsake endringer i tilstøtende raderSelv om denne sårbarheten ble identifisert i 2014 og grundig studert i CPU DDR-minne, har det så langt vært en utfordring å portere den til GPU-er på grunn av:
- Den høye tilgangslatensen til GDDR6 (opptil 4 ganger høyere enn DDR4).
- Kompleksiteten i den fysiske tildelingen av minne.
- Tilstedeværelsen av proprietære og dårlig dokumenterte avbøtende tiltak, som for eksempel TRR.
Rowhammer er en maskinvaresårbarhet der rask aktivering av én rad med minne introduserer bit-flips i tilstøtende rader. Siden 2014 har denne sårbarheten blitt grundig studert i CPUer og CPU-basert minne som DDR3, DDR4 og LPDDR4. Men ettersom kritiske arbeidsbelastninger for kunstig intelligens og maskinlæring nå kjører på separate GPU-er i skyen, er det avgjørende å vurdere sårbarheten til GPU-minne for Rowhammer-angrep.
Til tross for disse hindringene, Forskere klarte å bruke reverse engineering om virtuell/fysisk minneallokering i CUDA, De utviklet en metode for å identifisere spesifikke DRAM-minnebanker og optimalisert parallell tilgang ved hjelp av flere tråder og forvrengning, noe som maksimerer hammerhastigheten uten å forårsake ytterligere latens.
Konseptbeviset viste hvordan en enkeltbitsflip i vektingen av dype nevrale nettverk (DNN), spesielt i FP16-eksponenter, kan redusere toppnøyaktigheten til bildeklassifiseringsmodeller på ImageNet fra 1 % til 80 %. Dette funnet er alarmerende for datasentre og skytjenester som kjører AI-arbeidsbelastninger i delte miljøer med GPU-er.
Avbøtende tiltak og begrensninger
NVIDIA har bekreftet sårbarheten og anbefaler å aktivere ECC-støtte. (Feilkorrigeringskode) ved hjelp av kommandoen nvidia-smi -e 1. Selv om Dette tiltaket kan korrigere feil enkeltbit, Dette innebærer et ytelsestap på opptil 10 %. og en reduksjon på 6,25 % i tilgjengelig minne. Den beskytter heller ikke mot fremtidige angrep som involverer flere bit-flips.
Vi bekreftet Rowhammer-bitfluktuasjoner på NVIDIA A6000 GPU-er med GDDR6-minne. Andre GDDR6 GPU-er, som RTX 3080, viste ingen bitfluktuasjoner i testene våre, muligens på grunn av variasjoner i DRAM-leverandør, brikkeegenskaper eller driftsforhold som temperatur. Vi observerte heller ingen fluktuasjoner på en A100 GPU med HBM-minne.
Teamet fremhever at GPUHammer er for øyeblikket bare verifisert på A6000 GPU med GDDR6., og ikke på modeller som A100 (HBM) eller RTX 3080. Men siden dette er et utvidbart angrep, oppfordres andre forskere til å gjenskape og utvide analysen på forskjellige GPU-arkitekturer og -modeller.
Til slutt, hvis du er interessert i å lære mer om det, kan du se detaljene i følgende lenke.