Forskare från ETH Zürich har utvecklat ZenHammer-attackmetoden, en variant av RowHammer-attackklassen för att modifiera innehållet i enskilda bitar av dynamiskt random access-minne (DRAM), anpassad för användning på plattformar med AMD-processorer. Tidigare RowHammer-attacker har begränsats till Intel-baserade system, men denna forskning har visat att minneskorruption även kan uppnås på plattformar med AMD-minneskontroller.
Metoden demonstreras 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) som är implementerad i minneskretsar, vilken syftar till att skydda mot korruption av minnesceller i intilliggande rader. Forskare uppskattar att system baserade på AMD Zen 3-processorer är mer sårbara än system baserade på Intel Coffee Lake-processorer, och är enklare och mer effektiva att attackera. På AMD Zen 2-system uppnåddes cellkorruption för 7 av 10 testade DDR4-chip och på Zen 3-system för 6 av 10. Forskarna analyserade också möjligheten att utföra en attack på AMD Zen 4-system med DDR5-minne, men attackmetoden som utvecklats för DDR4 reproducerades framgångsrikt endast på 1 av 10 testade DDR5-minneschip, medan möjligheten till en attack i sig inte är utesluten, men kräver utveckling av mer effektiva läsmönster lämpliga för DDR5-enheter.
För att arbeta med AMD-chips var det möjligt att anpassa tidigare utvecklade exploits som ändrar innehållet i poster i sidtabellposten (PTE) för att erhålla kärnprivilegier, kringgå lösenords-/privilegiumskontroll genom att modifiera minnet i sudo-processen och skada den publika RSA-2048-nyckeln som lagras i OpenSSH i minnet för att återskapa den privata nyckeln. Minnessideattacken reproducerades på 7 av 10 testade DDR4-chip, RSA-nyckelattacken på 6 chips och sudo-attacken på 4 chips, med attacktider på 164, 267 respektive 209 sekunder.

Metoden kan också användas för att attackera systemet via webbläsare för att göra ändringar från virtuell maskin eller för att organisera en nätverksattack. Källkoden för DARE-verktygslådan för reverse engineering av DRAM-adresslayouter finns tillgänglig på GitHub under MIT-licensen, tillsammans med två uppsättningar verktyg för att åtgärda korruption av minnesbitar – ddr4_zen2_zen3_pub för DDR4-chip (Zen 2 och Zen 3) och ddr5_zen4_pub för DDR5-chip (Zen 4). Dessa kan användas för att testa dina system för sårbarhet vid attacker.

RowHammer-metoden används för att förvränga bitar, vilket baseras på det faktum att i DRAM-minne, som är en tvådimensionell matris av celler bestående av en kondensator och en transistor, leder kontinuerlig läsning av samma minnesområde till spänningsfluktuationer och avvikelser som orsakar en liten laddningsförlust i angränsande celler. Om läsintensiteten är hög kan den angränsande cellen förlora en ganska 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 av värdet på de data som lagras i cellen. Under forskningens gång identifierades funktionerna hos de mekanismer för fysisk minnesmappning och minnesuppdateringssynkronisering som används i AMD-processorer, vilket gjorde det möjligt att återskapa lågnivå-DRAM-adressering, bestämma adresserna till angränsande celler, utveckla metoder för att kringgå cachning och beräkna mönster och frekvensen av operationer som leder till laddningsförlust.
För att skydda mot RowHammer använder chiptillverkare TRR-mekanismen (Target Row Refresh), som blockerar cellkorruption i specifika fall, men inte skyddar mot alla möjliga attackvarianter. Den mest effektiva skyddsmetoden är fortfarande användningen av minne med felkorrigeringskoder (ECC), vilket avsevärt komplicerar, men inte helt eliminerar, RowHammer-klassattacker. Att öka frekvensen av minnesregenerering minskar också sannolikheten för en lyckad attack.
AMD har publicerat en rapport om problemet som anger att AMD-processorer använder minneskontroller som uppfyller DDR-specifikationerna, och eftersom attackens framgång till stor del beror på systemet och DRAM-inställningarna, bör frågor om hur man åtgärdar problemet riktas till minnes- och systemtillverkarna. Bland de befintliga metoderna för att komplicera Rowhammer-attacker nämns följande: användning av ECC-minne, ökning av minnets uppdateringsfrekvens, inaktivering av fördröjd uppdateringsfunktion och användning av processorer med styrenheter som stöder MAC-läge (Maximum Activate Count) för DDR4 (1:a, 2:a och 3:e generationens AMD EPYC "Naple", "Rome" och "Milan") och RFM (Refresh Management) för DDR5 (4:e generationens AMD EPYC).
Källa: opennet.ru
