
Varnostni raziskovalci so dokazali da Rowhammerjeva fizična ranljivost predstavlja resno grožnjo za sodobne grafične procesorje, ki imajo dve popolni napadalni verigi, imenovani GeForce in GDDRHammerZa razliko od predhodnih raziskav, ki so komaj uspele povzročiti minimalno količino sprememb bitov, da bi poslabšale sklepanje nevronskih mrež, te nove vrste napadov dosegajo absolutno ogrožanje na sistemski ravni.
Pri izvajanju standardne, neprivilegirane kode na grafičnem procesorju NVIDIA, Napadalec lahko poškoduje notranje pomnilniške strukture naprave, da bi pridobil poljuben dostop za branje in pisanje. po celotnem fizičnem pomnilniku gostiteljskega procesorja. Ta navzkrižna manipulacija napadalcu omogoča, da poveča privilegije in pridobi konzolo super uporabnika v osrednjem operacijskem sistemu.
Izogibanje blažilnim ukrepom in vzorcem
Uspeh teh napadov je odvisen od tehnik brez primere. da bi se izognili blažitvi osveževanja ciljne vrstice (TRR), implementiranim v pomnilniku GDDR6. Raziskava GeForge uvaja neenakomerne vzorce, ki segajo čez več intervalov posodabljanja, pri čemer se spreminja intenzivnost in vrstni red aktivacij pomnilniških vrstic, da se prepreči zaznavanje strojne opreme.
Za uporabo fizičnih naslovnih zemljevidov, pridobljenih s profiliranjem brez povezave, za dinamične dodelitve pomnilnika, Razvili so tehniko sidranja strani, ki izkorišča nelinearno dodeljevanje od fizičnih naslovov do nizov predpomnilnika L2.
Hkrati, Ekipa GDDRHammer je odkrila, da so vrstice pomnilnika DRAM na grafičnih karticah Sledijo nemonotni geometrijski razporeditviTo jim je omogočilo, da so zgradili zelo učinkovite dvostranske vzorce, čeprav so se fizični naslovi zdeli oddaljeni. Z dodelitvijo posameznih nalog pomnilniških bank različnim pretočnim večprocesorjem in delno sinhronizacijo izvajanja so lahko povečali učinkovitost aktivacije, hkrati pa se izognili varnostnemu vzorčenju.
Ti pristopi so prinesli ogromne rezultate; Metoda GeForge je povzročila 1,171 bitnih sprememb v potrošniški grafični kartici RTX 3060 in 202 v profesionalni grafični kartici RTX A6000., medtem ko je GDDRHammer dosegel povprečno 1,032 sprememb na gigabajt, kar predstavlja 64-kratno povečanje v primerjavi s prejšnjimi poskusi.
Manipuliranje s tabelami strani in pomnilniško sporočilo
Da bi te električne motnje izkoristili za orožje, Napadalci ciljajo na hierarhične tabele strani, ki jih upravlja enota za upravljanje pomnilnika grafičnega procesorja.Ker krmilnik običajno dodeli te strukture v zaščitenih ali nepredvidljivih območjih, se izkoriščanje zanaša na tehnike masaže pomnilnika, da bi vsililo namestitev vnosov v tabelo strani na fizične lokacije, za katere napadalec ve, da so ranljive.
Napad GDDRHammer uporablja preslikave skupnega pomnilnika za preplavljanje alokatorja, s čimer se skrajša vrzel med območji tabele strani in uporabniško nadzorovanim pomnilnikom. GeForge se osredotoča posebej na poškodovanje vnosov v imeniku Pages 0 (PD0).
Z natančno dodelitvijo in sproščanjem fragmentov enotnega virtualnega pomnilnika (Unified Virtual Memory) napadalec usmeri ustvarjanje novih struktur PD0 neposredno na določeno 4-kilobajtno podstran. Ko je ta določena, postopek nekoliko spremeni kazalec fizičnega naslova vnosa in ga preusmeri na ponarejeno tabelo strani, ki jo v celoti nadzoruje zlonamerna koda.
Eskalacija privilegijev prek vodila PCIe
El Nadzor nad tabelo strani grafične kartice se neposredno prevede v nadzor nad centralnim procesorjem računalnika.Vnosi v tabelo strani NVIDIA vsebujejo posebno odpiralno polje, ki določa, ali se povezani fizični naslov nahaja v lokalnem pomnilniku naprave ali v pomnilniku gostiteljskega sistema. S spreminjanjem tega polja v ponarejenem vnosu, katera koli operacija kasnejše branje ali pisanje Podatki, ki jih ustvari grafični procesor, se prek vodila PCIe usmerijo neposredno v fizični RAM. gostitelja.
Ta neposredni dostop do pomnilnika zaobide lastno enoto za upravljanje pomnilnika CPU-ja in zaščito pred pisanjem in kopiranjem operacijskega sistema. V svoji praktični demonstraciji, raziskovalci To zmožnost so uporabili za prepisovanje segmenta kode standardne knjižnice C neposredno v pomnilnik gostitelja. Natančneje, v funkcijo zapiranja dnevnika so vbrizgali strojno kodo, ki jo je nato izvedel legitimni program s povišanimi privilegiji, kar je napadalcu takoj omogočilo absolutni dostop do sistema.
Razširjenost strojne opreme in ukrepi za njeno ublažitev
LaObsežno testiranje je potrdilo, da je ta ranljivost razširjena v trenutni strojni opremi.Študija GDDRHammer je ocenila 25 vrhunskih grafičnih kartic in ugotovila, da je bilo 16 od 17 modelov RTX A6000, ki temeljijo na arhitekturi Ampere, dovzetnih za te napade. Čeprav lahko pomnilnik s kodo za popravljanje napak (ECC) zmanjša zanesljivost napada s popravljanjem enobitnih napak, je ta funkcija pri mnogih grafičnih karticah delovnih postaj privzeto onemogočena zaradi zmanjšanja zmogljivosti in je v modelih za množični trg popolnoma odsotna.
Najučinkovitejša takojšnja obramba proti ogrožanju gostitelja je uporaba enote za upravljanje vhodno-izhodnega pomnilnika (IOMMU). Ko je omogočen, IOMMU omeji neposreden dostop GPU-ja na izrecno pooblaščene okvirje strani gostitelja, s čimer nevtralizira ponarejeno odprto preslikavo. Vendar pa obe raziskovalni skupini ugotavljata, da je IOMMU v komercialnih sistemih Linux zaradi združljivosti pogosto privzeto onemogočen, zaradi česar je veliko število računalnikov ranljivih za ta vektor napada.
Nazadnje, če vas zanima več o tem, si lahko ogledate podrobnosti v naslednja povezava.