Az Amszterdami Szabadegyetem kutatóinak egy csoportja kifejlesztette a RowHammer támadás új, fejlett verzióját, amely lehetővé teszi az egyes bitek tartalmának megváltoztatását a memóriában DRAM chipek alapján, az alkalmazott hibajavító kódok (ECC) integritásának védelme érdekében.
A támadást távolról, kiváltságtalan hozzáféréssel lehet végrehajtani a rendszerhezMivel a RowHammer sérülékenység torzíthatja a memória egyes bitjeinek tartalmát azáltal, hogy ciklikusan olvassa a szomszédos memória cellák adatait.
Mi a RowHammer biztonsági rése?
Ahhoz, amit a kutatócsoport elmagyaráz a RowHammer sebezhetőségéről, az az, hogy ez se a DRAM memória felépítése alapján, mert alapvetően ez egy kétdimenziós sejtmátrix, amelynek mindegyike egy-egy kondenzátorból és tranzisztorból áll.
Így ugyanazon memóriaterület folyamatos leolvasása feszültségingadozásokhoz és anomáliákhoz vezet, amelyek kis töltésveszteséget okoznak a szomszédos cellákban.
Ha az olvasás intenzitása elég nagy, akkor a cella elég nagy mennyiségű töltést veszíthet, és a következő regenerációs ciklusnak nincs ideje visszaállítani eredeti állapotát, ami a tárolt adatok értékének változását eredményezi a cellában.
A RowHammer új változata
Eddig, az ECC használatát tartották a legmegbízhatóbb módnak a fent leírt problémák elleni védelemre.
De a kutatóknak sikerült kifejleszteniük egy módszert a megadott memóriabitek megváltoztatására amely nem aktiválta a hibajavító mechanizmust.
A módszer ECC memóriával rendelkező szervereken használható adatok módosítására, cserélje ki a rosszindulatú kódot és változtassa meg a hozzáférési jogokat.
Például a fent bemutatott RowHammer támadásokban, amikor egy támadó elérte a virtuális gépet, rosszindulatú rendszerfrissítéseket töltöttek le a gazdagépnév apt folyamatának megváltoztatásával, hogy letöltsék és módosítsák a hosztnév.
Hogyan működik ez az új változat?
Amit a kutatók elmagyaráznak ez az új támadás az, hogy az ECC áttekintése hibajavító funkciókra támaszkodik- Ha egy bitet megváltoztatnak, az ECC kijavítja a hibát, ha két bitet emelnek, kivételt dobnak és a program erőszakkal megszűnik, de ha egyszerre három bitet változtatnak, akkor az ECC nem észreveheti a módosítást.
Annak megállapításához, hogy milyen körülmények között nem működik az ECC-ellenőrzés, A versenyéhez hasonló ellenőrzési módszert fejlesztettek ki, amely lehetővé teszi a támadás lehetőségének értékelését a memóriában lévő adott címre vonatkozóan.
A módszer azon a tényen alapul, hogy egy hiba kijavításakor az olvasási idő megnő, és az ebből fakadó késés meglehetősen mérhető és észrevehető.
A támadás az egyes bitek külön-külön történő megváltoztatására irányuló egymást követő próbálkozásokra redukálódik, az ECC beállítás által okozott késés megjelenésével határozva meg a változás sikerességét.
Ezért gépi szó keresést hajtanak végre három változó bittel. Az utolsó szakaszban meg kell győződni arról, hogy a két helyen lévő három módosítható bit különbözik-e egymástól, majd megpróbálja megváltoztatni az értéküket egyetlen menetben.
A bemutatóról
sok A kutatók sikeresen bemutatták a támadás lehetőségét négy különböző DDR3 memóriával rendelkező kiszolgáló ellen (elméletileg sérülékeny és DDR4 memória), amelyek közül három Intel processzorral (E3-1270 v3, Xeon E5-2650 v1, Intel Xeon E5-2620 v1) és egy AMD-vel (Opteron 6376) volt felszerelve.
En A bemutató azt mutatja, hogy a szükséges bitkombinációk megtalálása a laborban egy tétlen szerveren körülbelül 32 percet vesz igénybe.
A futó kiszolgálón történő támadás sokkal nehezebb az alkalmazás tevékenységéből fakadó interferencia jelenléte miatt.
A gyártási rendszerekben akár egy hétig is eltarthat, amíg megtalálják a cserélhető bitek szükséges kombinációját.