GDDRHammer og GeForge: to nye Rowhammer-angrep på GPU-er

Viktige punkter:
  • Forskere utvikler teknikker for å forsterke Rowhammer-angrep på GDDR6-minne, og oppnå tusenvis av bitendringer.
  • GDDRHammer- og GeForge-angrep manipulerer minneallokatoren for å plassere sidetabeller i sårbare sektorer.
  • Å endre litt i sidetabellen lar angriperen omdirigere minnepekere til strukturer kontrollert av angriperen.
  • Ved å endre systemåpningsfeltet i tabelloppføringen får GPU-en direkte lese- og skrivetilgang til vertens fysiske minne.
  • Sårbarheten påvirker modeller som RTX 3060 og RTX A6000, og krever aktivering av IOMMU som det primære forsvarstiltaket.

Rowhammer GPU-angrep

Sikkerhetsforskere har vist at Rowhammers fysiske sårbarhet utgjør en alvorlig trussel for moderne grafikkprosessorer, med to komplette angrepskjeder kalt GeForce og GDDR HammerI motsetning til foreløpig forskning som knapt klarte å indusere en minimal mengde bit-endringer for å forringe slutningsevnen til nevrale nettverk, oppnår disse nye angrepstypene absolutt kompromiss på systemnivå.

Når du kjører standard, uprivilegert kode på et NVIDIA GPU, en En angriper kan ødelegge enhetens interne minnestrukturer for å få vilkårlig lese- og skrivetilgang på tvers av hele det fysiske minnet til verts-CPU-en. Denne kryssmanipulasjonen lar angriperen eskalere privilegier og få en superbrukerkonsoll på kjerneoperativsystemet.

Unngåelse av avbøtende tiltak og mønstre

Suksessen til disse angrepene avhenger av enestående teknikker. for å omgå TRR-begrensningene (target row refresh) som er implementert i GDDR6-minne. GeForge-forskningen introduserer ikke-uniforme mønstre som strekker seg over flere oppdateringsintervaller, og varierer intensiteten og rekkefølgen på aktiveringene av minneradene for å unngå maskinvaredeteksjon.

For å bruke fysiske adressekart innhentet gjennom offline profilering til dynamiske minneallokeringer, De utviklet en sideforankringsteknikk som utnytter ikke-lineær tildeling fra de fysiske adressene til L2-cachesettene.

Samtidig, GDDRHammer-teamet oppdaget at radene med DRAM-minne på grafikkort De følger et ikke-monotont geometrisk arrangementDette tillot dem å konstruere svært effektive tosidige mønstre selv om de fysiske adressene virket fjerne. Ved å tilordne individuelle minnebankoppgaver til forskjellige strømmeprosessorer og delvis synkronisere utførelsen, var de i stand til å maksimere aktiveringsytelsen samtidig som de omgikk sikkerhetssampling.

Disse tilnærmingene genererte massive resultater; GeForge-metoden induserte 1,171 bit-endringer i et forbruker-RTX 3060 og 202 i et profesjonelt RTX A6000., mens GDDRHammer nådde et gjennomsnitt på 1,032 endringer per gigabyte, noe som representerer en 64-dobling i forhold til tidligere forsøk.

Manipulering av sidetabeller og minnemassasje

For å bevæpne disse elektriske forstyrrelsene, Angripere retter seg mot de hierarkiske sidetabellene som administreres av GPU-ens minnehåndteringsenhet.Fordi kontrolleren vanligvis allokerer disse strukturene i beskyttede eller uforutsigbare områder, er angrep avhengige av minnemassasjeteknikker for å tvinge frem plassering av sidetabelloppføringer på fysiske steder som angriperen vet er sårbare.

Angrepet GDDRHammer bruker delte minnetilordninger for å oversvømme allokatoren, noe som forkorter gapet mellom sidetabellregioner og brukerstyrt minne. GeForge fokuserer spesielt på å ødelegge oppføringer i Pages-katalogen. 0 (PD0).

Ved å nøye allokere og frigjøre fragmenter av Unified Virtual Memory, dirigerer angriperen opprettelsen av nye PD0-strukturer direkte til en spesifikk underside på 4 kilobyte. Når den er på plass, endres prosessen litt i oppføringens fysiske adressepeker, og omdirigerer den til en forfalsket sidetabell som er fullstendig kontrollert av den ondsinnede koden.

Rettighetseskalering via PCIe-bussen

El Kontroll over grafikkortets sidetabell oversettes direkte til kontroll over datamaskinens sentralprosessor.Oppføringer i NVIDIA-sidetabellen inneholder et spesifikt åpningsfelt som angir om den tilknyttede fysiske adressen ligger i enhetens lokale minne eller i vertssystemets minne. Ved å endre dette feltet i den forfalskede oppføringen, enhver operasjon senere lesing eller skriving Dataene som genereres av GPU-en sendes direkte via PCIe-bussen til det fysiske RAM-et. av verten.

Denne direkte tilgangen til minne omgår CPU-ens egen minnehåndteringsenhet og operativsystemets skrive- og kopibeskyttelse. I sin praktiske demonstrasjon, forskerne De brukte denne muligheten til å overskrive C-standardbibliotekets kodesegment direkte inn i vertsminnet. Mer spesifikt injiserte de maskinkode i logglukkingsfunksjonen, som deretter ble utført av et legitimt program med utvidede rettigheter, noe som umiddelbart ga angriperen absolutt tilgang til systemet.

Maskinvareprevalens og avbøtende tiltak

LaOmfattende testing bekreftet at denne sårbarheten er utbredt i dagens maskinvare.GDDRHammer-studien evaluerte 25 avanserte grafikkort og fant at 16 av de 17 RTX A6000-modellene basert på Ampere-arkitekturen var sårbare for disse angrepene. Selv om ECC-minne (feilkorrigerende kode) kan redusere angrepets pålitelighet ved å korrigere enkeltbitfeil, er denne funksjonen deaktivert som standard på mange arbeidsstasjonskort på grunn av ytelsesstraff og er fullstendig fraværende i massemarkedsmodeller.

Det mest effektive umiddelbare forsvaret mot vertskompromiss er anvendelse av en Input-Output Memory Management Unit (IOMMU). Når IOMMU er aktivert, begrenser det direkte GPU-tilgang til eksplisitt autoriserte vertssiderammer, og nøytraliserer dermed den forfalskede åpningsmappingen. Begge forskerteamene bemerker imidlertid at IOMMU ofte er deaktivert som standard på kommersielle Linux-systemer av kompatibilitetsårsaker, noe som gjør et betydelig antall maskiner sårbare for denne angrepsvektoren.

Til slutt, hvis du er interessert i å lære mer om det, kan du se detaljene i følgende lenke.