Támadási módszert javasoltak a kiszolgálón lévő memóriatöredékek távoli meghatározására

A Grazi Műszaki Egyetem (Ausztria) kutatóinak egy csoportja, amely korábban az MDS, NetSpectre, Throwhammer és ZombieLoad támadások fejlesztéséről volt ismert, új oldalcsatornás támadási módszert (CVE-2021-3714) tett közzé a memória-deduplikációs mechanizmus ellen. , amely lehetővé teszi bizonyos adatok jelenlétének meghatározását a memóriában, a memóriatartalom bájtonkénti szivárgásának megszervezését, vagy a memória elrendezésének meghatározását a címalapú véletlenszerűsítés (ASLR) megkerüléséhez. Az új módszer abban különbözik a deduplikációs mechanizmus elleni támadások korábban bemutatott változataitól, hogy külső gazdagépről hajt végre támadást, kritériumként a támadónak HTTP/1 és HTTP/2 protokollon keresztül küldött kérések válaszidejének változását alkalmazva. A támadás végrehajtására való képességet a Linux és Windows alapú szervereken mutatták be.

A memória deduplikációs mechanizmus elleni támadások az írási művelet feldolgozási idejének különbségét használják fel információszivárgási csatornaként olyan helyzetekben, amikor az adatok változása egy deduplikált memóriaoldal klónozásához vezet a Copy-On-Write (COW) mechanizmus segítségével. . Működés közben a kernel felismeri a különböző folyamatokból származó azonos memórialapokat, és egyesíti azokat, az azonos memórialapokat a fizikai memória egyetlen területére képezve, hogy csak egy másolatot tároljon. Amikor az egyik folyamat megpróbálja megváltoztatni a deduplikált oldalakhoz tartozó adatokat, kivétel (oldalhiba) történik, és a Copy-On-Write mechanizmus segítségével automatikusan létrejön a memórialap külön másolata, amely hozzá van rendelve a folyamathoz. További időt tölt a másolat elkészítése, ami egy másik folyamatot megzavaró adatváltozások jele lehet.

A kutatók kimutatták, hogy a COW mechanizmusból adódó késések nemcsak lokálisan rögzíthetők, hanem a válaszadási idők hálózaton keresztüli változásainak elemzésével is. Számos módszert javasoltak a távoli gazdagépről érkező memória tartalmának meghatározására a HTTP/1 és HTTP/2 protokollokon keresztüli kérések végrehajtási idejének elemzésével. A kiválasztott sablonok mentéséhez szabványos webalkalmazásokat használnak, amelyek a memóriában tárolják a kérésekben kapott információkat.

A támadás általános elve abban áll, hogy a szerveren lévő memóriaoldalt olyan adatokkal kell feltölteni, amelyek potenciálisan megismétlik a szerveren már meglévő memóriaoldal tartalmát. A támadó ezután megvárja azt az időt, amelyre a kernelnek szüksége van a memóriaoldal duplikációjának megszüntetéséhez és egyesítéséhez, majd módosítja a vezérelt duplikált adatokat, és kiértékeli a válaszidőt, hogy megállapítsa, sikeres volt-e a találat.

Támadási módszert javasoltak a kiszolgálón lévő memóriatöredékek távoli meghatározására

A kísérletek során a maximális információszivárgási sebesség 34.41 bájt/óra volt globális hálózaton keresztül és 302.16 bájt/óra helyi hálózaton keresztül történő támadás esetén, ami gyorsabb, mint a harmadik féltől származó csatornákon keresztül történő adatkinyerés egyéb módszerei (pl. NetSpectre támadásban az adatátviteli sebesség egy órakor 7.5 bájt).

Három működő támadási lehetőséget javasoltak. Az első lehetőség lehetővé teszi a Memcachedet használó webszerver memóriájában lévő adatok meghatározását. A támadás abban áll, hogy bizonyos adatkészleteket betöltenek a Memcached tárolóba, törlik a deduplikált blokkot, újraírják ugyanazt az elemet, és a blokk tartalmának megváltoztatásával feltételt teremtenek a COW másoláshoz. A Memcached-el végzett kísérlet során 166.51 másodperc alatt sikerült meghatározni a virtuális gépen futó rendszerre telepített libc verzióját.

A második lehetőség lehetővé tette a MariaDB DBMS-ben lévő rekordok tartalmának megismerését InnoDB tárhely használatakor a tartalom bájtonkénti újralétrehozásával. A támadást speciálisan módosított kérések küldésével hajtják végre, amelyek egybájtos eltéréseket eredményeznek a memórialapokban, és a válaszidő elemzésével megállapítják, hogy a bájt tartalmára vonatkozó találgatás helyes volt-e. Az ilyen szivárgás sebessége alacsony, és eléri az 1.5 bájtot óránként, ha helyi hálózatról támadnak. A módszer előnye, hogy ismeretlen memóriatartalmak helyreállítására használható.

A harmadik lehetőség lehetővé tette a KASLR védelmi mechanizmusának 4 perc alatt történő teljes megkerülését és a virtuális gép kernelképének memóriaeltolásáról való információszerzést olyan helyzetben, amikor az eltolási cím egy memóriaoldalon van, amelyben más adatok nem változnak. A támadást egy állomásról hajtották végre, amely 14 ugrásra volt a megtámadott rendszertől. A bemutatott támadások megvalósítására szolgáló kódpéldák az ígéretek szerint megjelennek a GitHubon.

Forrás: opennet.ru

Hozzászólás