ZenHammer - attackmetod för att korrumpera minnesinnehåll på AMD Zen-plattformar

Forskare vid ETH Zürich har utvecklat ZenHammer-attacken, en variant av RowHammer-klassen av attacker för att modifiera innehållet i enskilda bitar av dynamiskt random access memory (DRAM), anpassat för användning på plattformar med AMD-processorer. Tidigare RowHammer-attacker har begränsats till system baserade på Intel-processorer, men forskning har visat att minneskorruption även kan uppnås på plattformar med AMD-minneskontroller.

Metoden demonstrerades på AMD Zen 2- och Zen 3-system med DDR4-minne från tre ledande tillverkare (Samsung, Micron och SK Hynix). Attacken kringgår framgångsrikt TRR-mekanismen (Target Row Refresh) implementerad i minneschips, som syftar till att skydda mot korruption av minnesceller i intilliggande rader. Enligt forskare är system baserade på AMD Zen 3-processorer mer sårbara än system med Intel Coffee Lake-processorer, och de är lättare och effektivare att attackera. På AMD Zen 2-system uppnåddes cellförvrängning för 7 av 10 testade DDR4-chips och på Zen 3-system för 6 av 10. Forskare analyserade också möjligheten för en attack mot AMD Zen 4-system med DDR5-minne, men attacken metod som utvecklats för DDR4 lyckades reproduceras på endast 1 av 10 testade DDR5-minneschips, medan möjligheten för en attack i sig inte är utesluten, utan kräver utveckling av mer effektiva läsmönster lämpliga för DDR5-enheter.

För att arbeta med AMD-chips kunde de anpassa tidigare utvecklade exploateringar som ändrar innehållet i poster i minnestabellen (PTE, sidtabellpost) för att få kärnprivilegier, kringgå lösenords-/behörighetskontroller genom att modifiera minnet i sudo-processen , och skada den offentliga RSA-2048-nyckeln som är lagrad i minnet i OpenSSH för att återskapa den privata nyckeln. Minnessidansattacken återgavs på 7 av 10 testade DDR4-chips, RSA-nyckelattacken på 6 marker och sudo-attacken på 4 marker, med attacktider på 164, 267 respektive 209 sekunder.

ZenHammer - attackmetod för att korrumpera minnesinnehåll på AMD Zen-plattformar

Metoden kan också användas för att attackera ett system via webbläsare, för att göra ändringar från virtuella maskiner eller för att starta en attack över ett nätverk. Källkoden för DARE-verktygslådan för omvänd konstruktion av adresslayouten i DRAM-minnet publiceras på GitHub under en MIT-licens, såväl som två uppsättningar verktyg för fuzzing testning av bitkorruption i minnet - ddr4_zen2_zen3_pub för DDR4-chips (Zen 2 och Zen 3) och ddr5_zen4_pub för DDR5-chips ( Zen 4), som kan användas för att testa deras system för känslighet för attacker.

ZenHammer - attackmetod för att korrumpera minnesinnehåll på AMD Zen-plattformar

RowHammer-metoden används för att förvränga bitar, vilket är baserat på det faktum att i DRAM-minne, som är en tvådimensionell array av celler som består av en kondensator och en transistor, leder kontinuerliga avläsningar av samma minnesområde till spänningsfluktuationer och anomalier som orsakar en liten förlust av laddning angränsande celler. Om läsintensiteten är hög kan den angränsande cellen förlora en tillräckligt stor mängd laddning och nästa regenereringscykel kommer inte att ha tid att återställa sitt ursprungliga tillstånd, vilket kommer att leda till en förändring i värdet på data som lagras i cellen . Forskaren identifierade egenskaperna hos fysisk minneskartläggning och synkronisering med minnesuppdateringsmekanismer som används i AMD-processorer, vilket gjorde det möjligt att återskapa lågnivå DRAM-adressering, bestämma adresserna för närliggande celler, utveckla metoder för att kringgå cachning och beräkna mönster och frekvens av operationer som leder till laddningsbortfall.

För att skydda mot RowHammer använder chiptillverkarna mekanismen TRR (Target Row Refresh), som blockerar cellkorruption i speciella fall, men inte skyddar mot alla möjliga attackalternativ. Den mest effektiva skyddsmetoden är fortfarande användningen av minne med felkorrigeringskoder (ECC), som avsevärt komplicerar, men inte helt eliminerar, RowHammer-attacker. Att öka frekvensen av minnesregenerering kan också minska sannolikheten för en framgångsrik attack.

AMD har publicerat en rapport om problemet som säger att AMD-processorer använder minneskontroller som överensstämmer med DDR-specifikationer, och eftersom attackens framgång främst beror på systeminställningarna och DRAM-minnet, bör frågor om att lösa problemet ställas till minnestillverkarna och system Befintliga sätt att göra attacker av Rowhammer-klass svårare inkluderar att använda ECC-minne, öka frekvensen av minnesregenerering, inaktivera det uppskjutna regenereringsläget och använda processorer med kontroller som stöder MAC-läge (Maximum Activate Count) för DDR4 (1:a, 2:a och 3:a generation AMD EPYC "Naple", "Rome" och "Milan") och RFM (Refresh Management) för DDR5 (4:e generationens AMD EPYC).

Källa: opennet.ru

Lägg en kommentar