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ócsoportja, amely korábban az MDS, NetSpectre, Throwhammer és ZombieLoad támadások kifejlesztéséről volt ismert, közzétett egy új oldalcsatornás támadási módszert (CVE-2021-3714) a memória-deduplikációs motor ellen. Ez a támadás lehetővé teszi bizonyos adatok jelenlétének meghatározását a memóriában, bájtonkénti memóriaszivárgás szervezését, vagy a memória elrendezésének meghatározását a címalapú véletlenszerűsítés (ASLR) megkerülése érdekében. Az új módszer abban különbözik a deduplikációs motor elleni korábban bemutatott támadásoktól, hogy a támadást egy külső hosztról hajtják végre, a támadó által a HTTP/1 és HTTP/2 protokollon keresztül küldött kérésekre adott válaszidők változásait használva kritériumként. A támadás megvalósíthatóságát a következő alapú szerverek esetében demonstrálták: Linux и Windows.

A memória-deduplikációs mechanizmus elleni támadások az írási feldolgozási időbeli különbséget használják ki információszivárgás csatornájaként olyan helyzetekben, amikor az adatmódosítás egy deduplikált memórialap klónozásához vezet a Copy-On-Write (COW) mechanizmus segítségével. Működés közben a kernel azonosítja 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 le, hogy csak egy másolatot tároljon. Amikor az egyik folyamat megpróbálja módosítani a deduplikált oldalakhoz társított adatokat, kivétel (laphiba) történik, és a Copy-On-Write mechanizmus automatikusan létrehoz egy külön másolatot a memórialapról, és hozzárendeli azt a folyamathoz. A másolási folyamat további időt vesz igénybe, ami az adatok olyan változására utalhat, amely átfedésben van egy másik folyamattal.

A kutatók kimutatták, hogy a COW mechanizmusból eredő késések nemcsak lokálisan, hanem a hálózaton keresztüli válaszidők változásainak elemzésével is kimutathatók. Számos módszert javasolnak a távoli gazdagép memóriatartalmá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 minták tárolásához szabványos webes alkalmazásokat használnak, amelyek a kérésekben fogadott információkat a memóriában tárolják.

A támadás általános elve a kitöltésen múlik. szerver Olyan memóriaoldalak, amelyek potenciálisan lemásolhatják egy meglévő memóriaoldal tartalmát a szerveren. A támadó ezután megvárja, amíg a kernel deduplikációt végez és egyesíti a memóriaoldalt, majd módosítja a kezelt duplikált adatokat és kiértékeli a válaszidőt a támadás sikerességének megállapításához.

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 óránként 34.41 bájt volt a globális hálózaton keresztüli támadás során, és 302.16 bájt óránként a helyi hálózaton keresztüli támadás során, ami gyorsabb, mint az oldalcsatornákon keresztüli adatkinyerés más módszerei (például egy NetSpectre támadás során az adatátviteli sebesség óránként 7.5 bájt).

Három működő támadási változatot javasoltak. Az első változat lehetővé teszi a memóriában lévő adatok azonosítását. webszerverek, amely a Memcached-et használja. A támadás abból áll, hogy meghatározott adathalmazokat töltenek be a Memcached tárolóba, kitörölnek egy deduplikált blokkot, átírják ugyanazt az elemet, és feltételeket hoznak létre egy COW másolásához a blokk tartalmának módosításával. A Memcached-del végzett kísérlet során 166.51 másodperc alatt meg lehetett határozni a virtuális gépen futó rendszerre telepített libc verziót.

A második módszer lehetővé tette a kutatók számára, hogy az InnoDB tárolóeszközeit használva, a MariaDB adatbázis-kezelő rendszerben (DBMS) található rekordok tartalmát bájtonként rekonstruálva fedezzék fel. 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 okoznak a memórialapokon, és a válaszidő elemzésével megállapítják, hogy a bájttartalomra vonatkozó becslés helyes volt-e. Az ilyen típusú szivárgási arány alacsony, helyi hálózatról történő támadás esetén óránként 1.5 bájt. A módszer egyik előnye, hogy ismeretlen memóriatartalom helyreállítására is használható.

A harmadik változat lehetővé tette a támadó számára, hogy négy perc alatt teljesen megkerülje a KASLR védelmi mechanizmust, és információkat szerezzen a virtuális gép kernelképének memória-eltolódásáról, még akkor is, ha az eltolási cím egy olyan memórialapon található, amelynek egyéb adatai változatlanok maradnak. A támadást egy olyan gazdagépről hajtották végre, amely 14 ugrásnyira található a célrendszertől. A bemutatott támadásokhoz tartozó kódminták várhatóan a GitHubon jelennek meg.

Forrás: opennet.ru

Vásároljon megbízható tárhelyet DDoS védelemmel, VPS VDS szerverekkel rendelkező webhelyekhez 🔥 Vásároljon megbízható weboldal tárhelyet DDoS védelemmel, VPS VDS szerverekkel | ProHoster