ZenHammer - angrebsmetode til korruption af hukommelsesindhold på AMD Zen-platforme

Forskere ved ETH Zürich har udviklet ZenHammer-angrebet, en variant af RowHammer-klassen af ​​angreb til at ændre indholdet af individuelle bits af dynamisk random access memory (DRAM), tilpasset til brug på platforme med AMD-processorer. Tidligere RowHammer-angreb har været begrænset til systemer baseret på Intel-processorer, men forskning har vist, at hukommelseskorruption også kan opnås på platforme med AMD-hukommelsescontrollere.

Metoden blev demonstreret på AMD Zen 2- og Zen 3-systemer med DDR4-hukommelse fra tre førende producenter (Samsung, Micron og SK Hynix). Angrebet omgår med succes TRR-mekanismen (Target Row Refresh) implementeret i hukommelseschips, som har til formål at beskytte mod korruption af hukommelsesceller i tilstødende rækker. Ifølge forskere er systemer baseret på AMD Zen 3 CPU'er mere sårbare end systemer med Intel Coffee Lake-processorer, og de er nemmere og mere effektive at angribe. På AMD Zen 2-systemer blev der opnået celleforvrængning for 7 ud af 10 testede DDR4-chips og på Zen 3-systemer for 6 ud af 10. Forskere analyserede også muligheden for et angreb på AMD Zen 4-systemer med DDR5-hukommelse, men angrebet metode udviklet til DDR4 var vellykket reproduceret på kun 1 ud af 10 testede DDR5-hukommelseschips, mens muligheden for et angreb i sig selv ikke er udelukket, men kræver udvikling af mere effektive læsemønstre, der er egnede til DDR5-enheder.

For at arbejde med AMD-chips var de i stand til at tilpasse tidligere udviklede udnyttelser, der ændrer indholdet af poster i hukommelsessidetabellen (PTE, sidetabelindgang) for at opnå kerneprivilegier, omgå adgangskode-/autoritetstjek ved at ændre hukommelsen i sudo-processen , og beskadige den offentlige RSA-2048-nøgle, der er gemt i hukommelsen i OpenSSH, for at genskabe den private nøgle. Hukommelsessideangrebet blev gengivet på 7 ud af 10 testede DDR4-chips, RSA-nøgleangrebet på 6 chips og sudo-angrebet på 4 chips med angrebstider på henholdsvis 164, 267 og 209 sekunder.

ZenHammer - angrebsmetode til at korrupte hukommelsesindhold på AMD Zen-platforme

Metoden kan også bruges til at angribe et system gennem browsere, til at foretage ændringer fra virtuelle maskiner eller til at starte et angreb over et netværk. Kildekoden til DARE-værktøjssættet til reverse engineering af adresselayoutet i DRAM-hukommelse er udgivet på GitHub under en MIT-licens, samt to sæt hjælpeprogrammer til fuzzing-test af bitkorruption i hukommelsen - ddr4_zen2_zen3_pub til DDR4-chips (Zen 2 og Zen 3) og ddr5_zen4_pub til DDR5-chips ( Zen 4), som kan bruges til at teste deres systemer for modtagelighed for angreb.

ZenHammer - angrebsmetode til at korrupte hukommelsesindhold på AMD Zen-platforme

RowHammer-metoden bruges til at forvrænge bits, hvilket er baseret på det faktum, at i DRAM-hukommelse, som er et todimensionalt array af celler, der består af en kondensator og en transistor, fører det til kontinuerlige aflæsninger af samme hukommelsesområde til spændingsudsving og anomalier, der forårsager et lille tab af ladning naboceller. Hvis læseintensiteten er høj, kan nabocellen miste en tilstrækkelig stor mængde ladning, og den næste regenereringscyklus vil ikke have tid til at genoprette sin oprindelige tilstand, hvilket vil føre til en ændring i værdien af ​​de data, der er lagret i cellen . Forskeren identificerede funktionerne ved fysisk hukommelseskortlægning og synkronisering med hukommelsesopdateringsmekanismer brugt i AMD-processorer, hvilket gjorde det muligt at genskabe lavniveau DRAM-adressering, bestemme adresserne på naboceller, udvikle metoder til at omgå caching og beregne mønstre og frekvens af operationer, der fører til tab af ladning.

For at beskytte mod RowHammer bruger chipproducenter TRR (Target Row Refresh) mekanismen, som blokerer cellekorruption i særlige tilfælde, men ikke beskytter mod alle mulige angrebsmuligheder. Den mest effektive metode til beskyttelse er fortsat brugen af ​​hukommelse med fejlkorrektionskoder (ECC), som komplicerer RowHammer-angrebene betydeligt, men ikke helt eliminerer dem. At øge frekvensen af ​​hukommelsesregenerering kan også reducere sandsynligheden for et vellykket angreb.

AMD har offentliggjort en rapport om problemet, hvori det fremgår, at AMD-processorer bruger hukommelsescontrollere, der overholder DDR-specifikationerne, og da angrebets succes primært afhænger af systemindstillingerne og DRAM-hukommelsen, bør spørgsmål om løsning af problemet rettes til hukommelsesproducenterne. og systemer Eksisterende måder at gøre angreb i Rowhammer-klassen vanskeligere inkluderer brug af ECC-hukommelse, forøgelse af frekvensen af ​​hukommelsesregenerering, deaktivering af den udskudte regenereringstilstand og brug af processorer med controllere, der understøtter MAC-tilstand (Maximum Activate Count) for DDR4 (1., 2. og 3. generation AMD EPYC "Naple", "Rome" og "Milan") og RFM (Refresh Management) til DDR5 (4. generation AMD EPYC).

Kilde: opennet.ru

Tilføj en kommentar