Útok Rowhammer funguje i na paměti DDR4. RAM je zranitelnější, než se myslelo

0

Možná jste již slyšeli, že technologie pamětí DDR3 je z podstaty svého fungování bohužel náchylná útokům, kdy škodlivá aplikace může opakovaným přístupem (s vysokou frekvencí) na určité adresy v paměti změnit obsah paměti dalších procesů. Zranitelnost nazvaná Row Hammer nebo Rowhammer, která vede k poškození obsahu paměti, je bohužel využitelná i k eskalaci práv a ovládnutí systému. Původně se mělo za to, že se jedná o problém jen paměti DDR3 a novější typ DDR4, který ji právě začíná nahrazovat, bude odolný. To bohužel není pravda a útok Rowhammer už byl ověřen i proti DDR4.

Na konferenci Semicon China přednesla texaská firma Third I/O referát, podle nějž je zranitelnost jednak rozšířenější, než se mínilo, a také se ukazuje, že je snadnější ji zneužít. Podle referátu se u osmi z dvanácti namátkou testovaných modulů DDR4 potvrdilo, že u nich lze metodou Rowhammer docílit změnu obsahu paměti, ke které útočící kód nemá přístup. Postiženy byly například moduly Crucial Ballistix Sport nebo další moduly od Micronu, ale také Geilu. Odolaly ale například testované G.Skilly. Nicméně vzorek byl malý, takže rozdíly nemusí být dány značkou, ale spíše parametry a shodou okolností. Hodno pozornosti je, že v jiném testu s DDR3 fungoval útok i na pamětech s ECC.

 

Rowhammer překlápí bity v buňkách vedle těch, do nichž přistupuje

Útok Rowhammer využívá známý jev nastávající v DRAM, kdy paměťové buňky ruší interferencí své sousedy. Výrobci pamětí v průběhu let vyvinuli různá řešení, jak chybám zabránit, ovšem ukazuje se, že při cílených pokusech o narušení integrity tyto techniky nestačí. Rowhammer používá speciálně nastavený vzor přístupu k paměti, s nímž opakovaně „tluče“ na danou adresu. U současné DRAM (DDR3) s vysokou hustotou se takto dají buňky v sousedních řadách přehodit z jednoho logického stavu do druhého – z nuly na jedničku a obráceně. Náboj z paměťových buněk totiž „přeteče“ do sousedních.

Útok Rowhammer (Zdroj: Eurosoft)
Útok Rowhammer (Zdroj: Eurosoft)

Výrobci pamětí tvrdili, že u DDR4 je riziko útoku Rowhammer již minimalizováno. Paměť je sice stejně či ještě hustší než DDR3 díky menšímu procesu, ale byly aplikovány techniky, které mají stabilitu zlepšit, například cílené obnovování částí paměti (Targetted Row Refresh, TRR). Použití TRR mělo dle Samsungu či Micronu překlápění bitů v DDR4 zabránit, zřejmě ale není dostatečnou ochranou. Pokročilejší testování a pokusy (Third I/O používá vlastní zátěžový test původně vyvinutý pro jiné účely) totiž zranitelnost opět odhalily.

Podle Third I/O je také zřejmě napadnutelnost závislá na datech, použitých k onomu „bušení“. Při některých testech se specifickými sekvencemi bitů daly sousední buňky narušit mnohem snáze než s jinými. Na některé moduly prý například působil „zabijácký vzor“ 492492492492492… (binárně 0100100100100…) o 50 % účinněji než samé nuly či jedničky.

Samsung startuje masovou výrobu pamětí DDR4

 

Primární efekt tohoto útoku je jen ničivý, tedy narušení dat aplikací či systému a následný pád, podle toho, kde překlopené bity přistanou. Demonstrována byla ale již i sofistikovanější zneužití, kdy je vložen a poté spuštěn škodlivý kód nebo zvýšena přístupová oprávnění. Obojí pak umožňuje ovládnout systém. Špatnou zprávou je, že zneužití není zdaleka jen akademickou záležitostí. Demonstrována byla i implementace pomocí javascriptu, takže útočit by se dalo přímo z webových stránek.

S DRAM vyráběnou současnými procesy se patrně už nedá nic dělat, doufejme ale, že se díky těmto experimentům podaří dostat efektivnější ochrany do příštích generací pamětí. Ochrana existujících systémů bude ale asi muset být na softwarové úrovni, tedy nějak detekovat přístupové charakteristiky útoků Rowhammer a zabránit jim.

 

Zdroj: Ars Technica