Új támadás az Intel és az AMD processzorok mikroarchitektúra struktúrái ellen

A Virginia Egyetem és a Kaliforniai Egyetem kutatóinak egy csoportja új típusú támadást mutatott be az Intel és az AMD processzorok mikroarchitektúra struktúrái ellen, amelyeket a nem dokumentált CPU-képességek visszafejtése során azonosítottak. A javasolt támadási módszer egy közbenső mikro-működési gyorsítótár használatát foglalja magában a processzorokban, amely felhasználható az utasítások spekulatív végrehajtása során felhalmozott információk lekérésére.

Optimalizálási célból a processzor spekulatív módban kezd végrehajtani néhány utasítást, anélkül, hogy megvárná az előző számítások befejezését, és ha ezt követően megállapítja, hogy az előrejelzés nem volt indokolt, akkor a műveletet visszaállítja eredeti állapotába, de a folyamat során feldolgozott adatokat. A spekulatív végrehajtás egy gyorsítótárban van elhelyezve, amelynek tartalma meghatározható.

Meg kell jegyezni, hogy az új módszer jelentősen felülmúlja a Spectre v1 támadást, megnehezíti a támadás észlelését, és nem blokkolják az oldalcsatornás támadások elleni védelem meglévő módszerei, amelyek célja az utasítások spekulatív végrehajtása által okozott sebezhetőségek blokkolása (például Az LFENCE utasítás blokkolja a szivárgást a spekulatív végrehajtás utolsó szakaszában, de nem véd a mikroarchitektúrán keresztüli szivárgás ellen).

A módszer a 2011 óta megjelent Intel és AMD processzormodelleket érinti, köztük az Intel Skylake és AMD Zen sorozatot. A modern CPU-k a bonyolult processzorutasításokat egyszerűbb, RISC-szerű mikroműveletekre bontják, amelyeket külön gyorsítótárban tárolnak. Ez a gyorsítótár alapvetően különbözik a magasabb szintű gyorsítótáraktól, közvetlenül nem érhető el, és adatfolyam-pufferként működik a CISC-utasítások RISC-mikroutasításokká történő dekódolása eredményeinek gyors eléréséhez. A kutatók azonban megtalálták a módját, hogy olyan feltételeket teremtsenek, amelyek a gyorsítótár-hozzáférés ütközésekor keletkeznek, és lehetővé teszik a mikroműveleti gyorsítótár tartalmának megítélését bizonyos műveletek végrehajtási idejének különbségeinek elemzésével.

Új támadás az Intel és az AMD processzorok mikroarchitektúra struktúrái ellen

Az Intel processzorok mikroműveleti gyorsítótára a CPU szálaihoz képest szegmentált (Hyper-Threading), míg az AMD Zen processzorok megosztott gyorsítótárat használnak, ami nemcsak egy végrehajtási szálon belül, hanem az SMT különböző szálai között is megteremti az adatszivárgás feltételeit. (esetleges adatszivárgás a különböző logikai CPU magokon futó kódok között).

A kutatók egy alapvető módszert javasoltak a mikroműveleti gyorsítótár változásainak észlelésére és számos támadási forgatókönyvet, amelyek lehetővé teszik rejtett adatátviteli csatornák létrehozását és sérülékeny kódok használatát bizalmas adatok kiszivárogtatására, mindkettőt egyetlen folyamaton belül (például a folyamatadatok kiszivárogtatására a végrehajtás során). harmadik féltől származó kód a JIT-vel rendelkező motorokban és a virtuális gépekben), valamint a kernel és a folyamatok között a felhasználói térben.

A Spectre támadás egy változatának mikroműveleti gyorsítótár segítségével történő megszervezésekor a kutatók 965.59 Kbps teljesítményt tudtak elérni 0.22%-os hibaarány mellett, és 785.56 Kbps teljesítményt hibajavítással, azonos címen belüli szivárgás szervezése esetén tér és kiváltságszint. Különböző jogosultsági szinteket (a kernel és a felhasználói terület között) átívelő szivárgás esetén a teljesítmény 85.2 Kbps volt hibajavítás hozzáadásával és 110.96 Kbps 4%-os hibaaránnyal. Az AMD Zen processzorok támadásakor, szivárgást okozva a különböző logikai CPU magok között, a teljesítmény 250 Kbps volt 5.59%-os hibaaránnyal és 168.58 Kbps hibajavítással. A klasszikus Spectre v1 módszerhez képest az új támadás 2.6-szor gyorsabb volt.

A micro-op gyorsítótár-támadások elleni védelem várhatóan olyan változtatásokat igényel, amelyek jobban csökkentik a teljesítményt, mintha engedélyezné a Spectre támadásvédelmet. Optimális kompromisszumként azt javasolják, hogy az ilyen támadásokat ne a gyorsítótár letiltásával blokkolják, hanem az anomáliák figyelésének és a támadásokra jellemző gyorsítótár-állapotok azonosításának szintjén.

A Spectre támadásokhoz hasonlóan a rendszermagból vagy más folyamatokból származó szivárgás megszervezése parancsok (gadgetek) bizonyos sorozatának végrehajtását követeli meg az áldozati folyamatok oldalán, ami az utasítások spekulatív végrehajtásához vezet. Körülbelül 100 hasonló modult találtak a Linux kernelben, amelyeket eltávolítanak, de rendszeres időközönként találnak megkerülő megoldásokat a generálásukra, például a speciálisan tervezett BPF-programok kernelben való futtatásával kapcsolatban.

Forrás: opennet.ru

Hozzászólás