Euro.cz Finance.cz Cnews.cz Edna.cz VideaČesky.cz Více
Flek.cz Profit.cz CoChceš.cz WoT.cz Raketka.cz Hryprodivky.cz Zdn.cz Nasvah.cz LetenkyLevne.cz Stahnu.cz Mujsoubor.cz Kniha.cz Více

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

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

Oblíbené Tisk E-mail
Další články na téma: 
Reklama

Komentáře

Hmm takže na DDR2 tohle nefunguje?
Jinak o tomhle jsem vůbec netušil.

Napadla mě ta samá otázka. Pravděpodobně funguje, ale v imperialistické cizině už DDR2 nikdo neprovozuje :)

Takhle - DDR4/DDR3/DDR2 a tak dále jsou do velké míry spíš specifikace rozhraní než těch samotných paměťových buněk DRAM, které jsou víceméně pořád stejné (totéž pak uvnitř GDDRx, HBM...), a tahle chyba spočívá v těch buňkách.

Takže na jednu stranu existuje prostor pro tuhle chybu u každé DRAM. Důvod, proč se mluví hlavně o DDR3, by měl být ten, že ta choulostivost je zřejmě tím horší, čím menší a blíž u sebe ty buňky jsou. A DDR3 se obvykle bude vyrábět na menším výrobním procesu než předtím DDR2 (protože je novější). Takže DDR2 asi bude náchylnější míň, ale třeba je ten útok taky realizovatelný, jen se to nikomu moc nechtělo zkoušet, protože DDR2 je už léta jen bazarová záležitost.

Na druhou stranu JEDEC a výrobci DRAM se můžou pokoušet o protiopatření, díky nimž by sice buňky byly pořád stejně zranitelné, ale nějak by se to kompenzovalo na jiných úrovních. To by pak mohlo způsobit, že DDR4, respektive spíš asi nějaká další generace bude už bezpečnější. U DDR4 se už v to doufalo (například díky tomu TRR),a le asi to zatím nevyšlo.

Při nasazení ECC RAM asi bude takový útok obtížnější, pamět by musela být útokem modifikována i s ohledem na ECC, jinak by po vyčtení obsahu útokem modifikovaných buněk patrně ECC zajistilo například halt počítače.

Neměl by to být až takový problém - jelikož nezpůsobujete náhodné chyby, ale přímo vkládáte cílenou sekvenci bitů, takže by se to mělo dát "zapsat" tak, aby ECC sedělo.

Ale to předpokládá, že se zapíše +- najednou celý blok včetně ECC. A protože se tady pohybujeme ve své podstatě na analogové úrovni s náhodnou náchylností na flip bitu, tak toho jen těžko půjde dosáhnout.
Nestudoval jsem přesně, jak toho chtějí využít, ale pro reálné využití bude určitě třeba ještě další chyba, která umožní zjistit místo s informací pro flip a získat přístup do sousedních adres. To mi příjde jako hodně malá šance. Ale třeba se s tím nějak popasovali.

Nevím, jestli to není krásný příklad možnosti udělat složitě něco, co jde jednoduše. Jinými slovy, pochybuji, že když budu mít libovolný přístup do sousedních buněk, tak že jej nebudu mít i do těch cílových. V sebelepším systému jsou vždycky tisíce děr s možností tvorby exploitu a určitě jde vždycky vymyslet takový, aby dělal to, co chci, bez pokusů o očurávání hardwaru - tedy čistě softwarově.

Letmo jsem si přečetl původní studii (http://arxiv.org/pdf/1507.06955v5.pdf), více než možný pád aplikace nebo získání práv mě zaujalo toto:

"it has been observed that the DRAM cells get permanently damaged if hammered for a long time"

Takže lze touto technikou permanentně zničit RAM. Uf, uf...

Reklama
Reklama