Phoenix — DDR5 kiipide rünnak, mis põhjustab mälu sisu moonutamist

Šveitsi kõrgtehnika instituudi teadlased koos Google'i inseneridega arendasid uue Rowhammer rünnetehnika — Phoenix (CVE-2025-6202), mis suudab mööda minna DDR5 kiipide TRR (Target Row Refresh) kaitsemehhanismidest, mis takistavad mälu rakkude moonutamist laengukaotuse tõttu. Avaldatud on prototüüp, mis võimaldab muuta конкретse biti sisu püsimälus ja saavutada süsteemis kõrgemad õigused. Rünnakud demonstreeriti AMD protsessoripõhistes arvutites, millel oli Zen 4 mikroarhitektuur ja SK Hynix DDR5 mälu, tehes tavalisi lauaarvuti ülesandeid.

RowHammeri rünnak võimaldab rikutud DRAMi mälu üksikute bittide sisu, lugedes andmeid pidevalt naabermälu rakkudest. DRAM mälu on kahemõõtmeline rakkude massiiv, kus iga rakk koosneb kondensaatorist ja transistorist. Ühe ja sama mäluala pidev lugemine põhjustab pingefluktuatsioone ja anomaaliaid, mis põhjustavad naaberakkude väikest laengukaotust. Kui lugemise intensiivsus on kõrge, võib naaberakk kaotada piisavalt suures koguses laengut, nii et järgmine regenereerimise tsükkel ei suuda taastada selle algset olekut, mis viib talletatud andmete muutumiseni.

Rowhammer rünnakute meetod pakuti välja 2014. aastal, pärast mida algas turvauuringute ja seadme tootjate vahel mäng 'kass ja hiir' — mälukiipide tootjad püüdsid haavatavust blokeerida, samas kui teadlased leidsid uusi viise selle ületamiseks. Näiteks TRR (Target Row Refresh) mehhanismi, mis loodi Rowhammeri kaitseks, osutus tõhusaks vaid teatud olukordades, aga ei kaitsnud kõige võimalike rünnakute eest. Rünnakumeetodid on välja töötatud DDR3, DDR4 ja DDR5 kiipide jaoks Intel, AMD ja ARM protsessorsüsteemide puhul, samuti NVIDIA graafikakaartide videomälu jaoks. Veelgi enam, leiti viise ECC veaparanduse ületamiseks ja pakuti välja rünnakute esitamise võimalused läbi võrgu ja JavaScripti koodi käitamise brauseris.

DRAM rakkude moonutamise kaitse ületamise peamine tegur on TRR mehhanismi toimimise mõistmine, mis põhineb peamiselt rakenduse üksikasjade peitmisel ja põhimõttel 'turvalisus teadmatusest' (security by obscurity). Erilised plaadid, mis põhinevad FGPA Arty-A7 ja ZCU104, loodi teadlaste poolt TRR toimimise mõistmiseks ja tagasitehnika läbiviimiseks, võimaldades testida DDR5 SO-DIMM ja RDIMM mälu mooduleid, tuvastada mustreid mälu rakkudele juurdepääsuks, määrata, millised madalama taseme DDR komandod edastatakse pärast mälutegevusi ja analüüsida nende reaktsioone.

Phoenix - rünnak DDR5 kiipidele, mis põhjustab mälu sisu moonutamist

Selgus, et analüüsitud DDR5 kiipide kaitse on rakendatud ilma täiendavate mälu värskendamise kohtlemise käskudeta ja see tugineb muutuva laadimise sagedusega skeemidele. Rowhammer rünnaku edukaks teostamiseks nendes tingimustes on vajalik tuhandete mälu värskendamise toimingute täpne jälgimine. Nendes tingimustes osutusid varasemad Rowhammer rünnakumeetodid sobimatuks ja teadlased töötasid välja uue meetodi, mis viib läbi isekorrektiivsete mustrite jälgimise möödaminnes unustatud mälu värskendamise toimingute ajal.

Meetod osutus efektiivseks ja testide käigus võimaldas saavutada kontrollitud mälu biti moonutuse kõikides 15 testitud SK Hynix DDR5 kiipides (36% DRAM turust), mis toodeti alates 2021. aasta lõpust kuni 2024. aasta lõpuni. Ühe biti moonutamine osutus piisavaks, et luua eksploit, mis võimaldas saada juurõigusi süsteemis AMD Ryzen 7 7700X protsessoriga ja SK Hynix DDR5 mäluga, rünnates seda 109 sekundi jooksul. Pakutud rünnakumeetodi tõkestamiseks soovitatakse kolme korra suurendada mälu värskendamise sagedust.

Juhtumite eksperimenteerimise meetodid, mis võimaldavad saada juurõigusi läbi ühe biti moonutamise, hõlmavad järgmisi tehnikaid: mälu lehe tabeli (PTE, page table entry) kirje sisu muutmine, et saada kernelipädevused; RS-2048 avaliku võtme OpenSSH mälu rikkumine (saab tuua avaliku võtme vastavusse ründaja privaatsesse võtmesse, et luua ühendus ohvri VM-iga); õiguste kontrollimise ületamine sudo protsessi mälu modifitseerimise kaudu. PTE meetod osutus toimivaks kõigi 15 testitud kiibi puhul, RSA rünnak suudeti läbi viia 11 kiibi puhul, ning sudo puhul 5. virtuaalmasinas ründelevahend, mis on suunatud rünnakuga seostatud privaatvõtme tuvastamisele VM sihtmärgile, ning positsioonide kontrollimise vältimiseks sudo protsessi mälu muutmise kaudu. PTE meetod osutus toimivaks kõikide 15 testitud kiibi puhul, RSA rünnak õnnestus 11 kiibi osas ning sudo rünnak 5 kiibi osas.

Phoenix - rünnak DDR5 kiipidele, mis põhjustab mälu sisu moonutamist

Eksploitides mälu lehtede tabelite paigutamiseks valitud DRAM rakkudesse kasutatakse Rubiconi tehnikat, mis avaldati samaaegselt ülevaatuses rünnaku Phoenix. Rubicon manipuleerib Linuxi kernelis mäluhaldusoptimiseerimise eripäradega ning võimaldab eraldada mälu piirkondadesse, kus 'migratetype' väärtus on erinev, mis on reserveeritud privileegide teostamiseks. Probleemi olemasolu on kinnitatud Linuxi kernelites alates 5.4 kuni 6.8, aga teoorias ulatub haavatavus kõikidele kerneli versioonidele, mis sisaldavad Zoned Buddy Allocator'i mälude eraldamise mehhanismi.

Lisaks Rowhammer-tüüpi rünnakute lihtsustamisele on Rubiconi tehnika samuti rakendatav mikroarhitektuurirünnakute, nagu Spectre, tõhususe suurendamiseks ning salajaste andmete mälus asukoha määramise lihtsustamiseks, mida tuleb välja võtta spekulatiivsete käskude täitmise kaudu toimuvate lekkide kaudu. Rubicon võimaldab vältida pikaajalist mälus skaneerimise ja failide määramise etappi, nagu /etc/shadow. Selle asemel on võimalik kohe alustada mikroarhitektuuriliste haavatavuste ärakasutamist, tänu eeldatavale faili paiknemisele teadaoleval füüsilisel aadressil. Näiteks võimaldas Rubiconi meetodi kasutamine kiirendada andmeleket Intel i7-8700K protsessoriga süsteemis 2698 sekundilt 9.5 sekundile (284 korda), samas kui AMD EPYC 7252 protsessoris vähenes see 189-lt 27.9 sekundile (6.8 korda).

Vaata videot

Vahepeal demonstreeris teine teadlaste rühm George Masoni Ülikoolist Rowhammer-tüüpi rünnakute sobivust AI-süsteemide kompromiteerimiseks. Teadlased pakkusid välja meetodi OneFlip, mis võimaldab täpselt muuta AI-mudelite käitumist, moonutades mälu 1 bit'i teavet. Saadaval on koodinäide troojalise muutuse sisestamiseks närvivõrku. Näidatakse, kuidas ühe bit'i muutmist saab kasutada autojuhi mudeli töö moonutamiseks, et muuta „Peatumise“ liiklusmargi tõlgendamine „Kiiruspiiranguks“. Samuti käsitletakse meetodi kasutamist näotuvastus süsteemide ületamiseks. Mudelitele, mis salvestavad kaalutöid 32-bitiste täisarvude kujul, hinnatakse rünnaku edukust 99.9% ulatuses ilma algsete mudeli omaduste mõjutamiseta.

Phoenix - rünnak DDR5 kiipidele, mis põhjustab mälu sisu moonutamist


Allikas: opennet.ru
Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster