Ett team av forskare från ETH Zürich, Vrije Universiteit Amsterdam och Qualcomm har publicerat en ny RowHammer-attackmetod som kan ändra innehållet i enskilda bitar av dynamiskt direktminne (DRAM). Attacken fick kodnamnet Blacksmith och identifierades som CVE-2021-42114. Många DDR4-chips utrustade med skydd mot tidigare kända RowHammer-klassmetoder är känsliga för problemet. Verktyg för att testa dina system för sårbarhet publiceras på GitHub.
Kom ihåg att RowHammer-klassattacker tillåter dig att förvränga innehållet i individuella minnesbitar genom att cykliskt läsa data från angränsande minnesceller. Eftersom DRAM-minne är en tvådimensionell uppsättning celler, som var och en består av en kondensator och en transistor, resulterar kontinuerliga avläsningar av samma minnesområde i spänningsfluktuationer och anomalier som orsakar en liten laddningsförlust i närliggande 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 .
För att skydda mot RowHammer föreslog chiptillverkarna mekanismen TRR (Target Row Refresh), som skyddar mot korruption av celler i intilliggande rader, men eftersom skyddet byggde på principen om "säkerhet genom obscurity", löste det inte problemet vid roten, men skyddad endast från kända specialfall, vilket gjorde det lätt att hitta sätt att kringgå skyddet. Till exempel i maj föreslog Google Half-Double-metoden, som inte påverkades av TRR-skydd, eftersom attacken påverkade celler som inte var direkt intill målet.
Blacksmiths nya metod erbjuder ett annat sätt att kringgå TRR-skydd, baserat på ojämn tillgång till två eller flera aggressorsträngar vid olika frekvenser för att orsaka laddningsläckage. För att fastställa minnesåtkomstmönstret som leder till laddningsläckage har en speciell fuzzer utvecklats som automatiskt väljer attackparametrar för ett specifikt chip, och varierar cellåtkomstens ordning, intensitet och systematik.
Ett sådant tillvägagångssätt, som inte är förknippat med att påverka samma celler, gör nuvarande TRR-skyddsmetoder ineffektiva, som i en eller annan form går ut på att räkna antalet upprepade samtal till celler och, när vissa värden uppnås, initiera omladdning av närliggande celler. I Blacksmith sprids åtkomstmönstret över flera celler samtidigt från olika sidor av målet, vilket gör det möjligt att uppnå laddningsläckage utan att nå tröskelvärden.
Metoden visade sig vara betydligt effektivare än tidigare föreslagna metoder för att kringgå TRR - forskarna lyckades uppnå bitförvrängning i alla 40 nyligen inköpta olika DDR4-minneschips tillverkade av Samsung, Micron, SK Hynix och en okänd tillverkare (tillverkaren var inte specificerat på 4 marker). Som jämförelse var TRRespass-metoden som tidigare föreslagits av samma forskare effektiv för endast 13 av 42 chips som testades vid den tiden.
I allmänhet förväntas Blacksmith-metoden gälla för 94 % av alla DRAM-chips på marknaden, men forskarna säger att vissa chips är mer sårbara och lättare att attackera än andra. Användningen av felkorrigeringskoder (ECC) i chips och fördubbling av minnesuppdateringsfrekvensen ger inte fullständigt skydd, men komplicerar driften. Det är anmärkningsvärt att problemet inte kan blockeras i redan släppta chips och kräver implementering av nytt skydd på hårdvarunivå, så attacken kommer att förbli relevant i många år.
Praktiska exempel ges på hur man använder Blacksmith för att modifiera innehållet i poster i minnessidan (PTE) för att få kärnprivilegier, skada den publika RSA-2048-nyckeln som lagras i OpenSSH (du kan ta med den publika nyckeln till någon annans virtuell maskin (motsvarande angriparens privata nyckel för att ansluta till offrets virtuella maskin) och kringgå privilegiekontroll genom att modifiera sudo-processens minne för att få root-privilegier. Beroende på chipet kan det ta allt från 3 sekunder till flera timmar att ändra en målbit.

Dessutom kan vi notera publiceringen av det öppna LiteX Row Hammer Tester-ramverket för att testa minnesskyddsmetoder mot RowHammer-klassattacker, utvecklat av Antmicro för Google. Ramverket är baserat på användningen av FPGA för att fullständigt kontrollera de kommandon som sänds direkt till DRAM-chippet för att eliminera påverkan från minneskontrollern. Toolkit i Python erbjuds för interaktion med FPGA. Den FPGA-baserade gatewayen inkluderar en modul för paketdataöverföring (definierar minnesåtkomstmönster), en Payload Executor, en LiteDRAM-baserad styrenhet (behandlar all logik som krävs för DRAM, inklusive radaktivering och minnesuppdatering) och en VexRiscv CPU. Projektets utveckling distribueras under Apache 2.0-licensen. Olika FPGA-plattformar stöds, inklusive Lattice ECP5, Xilinx Series 6, 7, UltraScale och UltraScale+.
Källa: opennet.ru
