Skupina vědců z Free University of Amsterdam vyvinula novou pokročilou verzi útoku RowHammer, který umožňuje změnu obsahu jednotlivých bitů v paměti na základě čipů DRAM, aby byla chráněna integrita použitých kódů korekce chyb (ECC).
Útok lze provést na dálku s neoprávněným přístupem do systémuProtože chyba RowHammer může narušit obsah jednotlivých bitů v paměti cyklickým čtením dat ze sousedních paměťových buněk.
Co je chyba zabezpečení RowHammer?
K čemu skupina vědců vysvětluje zranitelnost RowHammer, je to, žee na základě struktury paměti DRAM, protože v zásadě jde o dvourozměrnou matici buněk, z nichž každá z těchto buněk sestává z kondenzátoru a tranzistoru.
Kontinuální čtení stejné paměťové oblasti tedy vede k fluktuacím napětí a anomáliím, které způsobují malou ztrátu náboje sousedních buněk.
Pokud je intenzita čtení dostatečně velká, buňka může ztratit dostatečně velké množství náboje a další regenerační cyklus nebude mít čas na obnovení původního stavu, což povede ke změně hodnoty uložených dat v buňce.
Nová varianta RowHammer
Až dosud, používání ECC bylo považováno za nejspolehlivější způsob ochrany před výše popsanými problémy.
Ale vědcům se podařilo vyvinout metodu pro změnu specifikovaných paměťových bitů který neaktivoval mechanismus opravy chyb.
Metoda lze použít na serverech s pamětí ECC k úpravě dat, nahradit škodlivý kód a změnit přístupová práva.
Například u výše popsaných útoků RowHammer, když útočník přistupoval k virtuálnímu počítači, byly aktualizace škodlivého systému staženy změnou v procesu hostname apt, aby bylo možné stáhnout a upravit ověřovací logiku názvu hostitele. Digitální podpis.
Jak tato nová varianta funguje?
O čem vědci vysvětlují tento nový útok spočívá v tom, že návod ECC se spoléhá na funkce opravy chyb- Pokud se změní jeden bit, ECC chybu opraví, pokud se zvýší dva bity, vyvolá se výjimka a program se násilně ukončí, ale pokud se současně změní tři bity, ECC si nemusí všimnout úpravy.
Chcete-li určit podmínky, za kterých ověření ECC nefunguje, Byla vyvinuta ověřovací metoda podobná té rasy, která umožňuje vyhodnotit možnost útoku na konkrétní adresu v paměti.
Metoda je založena na skutečnosti, že při opravě chyby se prodlužuje doba čtení a výsledné zpoždění je celkem měřitelné a znatelné.
Útok se sníží na postupné pokusy o změnu každého bitu jednotlivě, čímž se určí úspěšnost změny podle vzhledu zpoždění způsobeného nastavením ECC.
Hledání strojového slova se proto provádí se třemi proměnnými bity. V poslední fázi je nutné se ujistit, že tři proměnlivé bity na dvou místech jsou odlišné, a poté zkusit změnit jejich hodnotu v jediném průchodu.
O ukázce
L Vědci úspěšně prokázali možnost útoku na čtyři různé servery s pamětí DDR3 (teoreticky zranitelná a paměť DDR4), z nichž tři byly vybaveny procesory Intel (E3-1270 v3, Xeon E5-2650 v1, Intel Xeon E5-2620 v1) a jedním AMD (Opteron 6376).
En Demonstrace ukazuje, že nalezení požadované kombinace bitů v laboratoři na nečinném serveru trvá asi 32 minut.
Útok na běžící server je mnohem obtížnější kvůli přítomnosti rušení, které vyplývá z aktivity aplikace.
Ve výrobních systémech může najít požadovanou kombinaci vyměnitelných bitů až týden.