Két támadás a gyorsítótár-csatorna előrejelzési mechanizmusa ellen az AMD processzorokban

A Grazi Műszaki Egyetem (Ausztria) kutatóinak egy csoportja, amely korábban támadási módszerek fejlesztéséről volt ismert MDS, NetSpectre, Dobókalapács и ZombieLoad, kutatásokat végzett az AMD processzorokra jellemző hardver optimalizálás és kifejlesztett oldalcsatornás támadások két új módszere, amelyek manipulálják az adatszivárgásokat az AMD processzorok L1 cache csatorna előrejelző mechanizmusának működése során. A technikák felhasználhatók az ASLR-védelem hatékonyságának csökkentésére, a kulcsok helyreállítására a sebezhető AES-megvalósításokban, valamint a Spectre támadás hatékonyságának javítására.

Problémákat azonosítottunk a CPU első szintű adatgyorsítótárában (L1D) a csatorna-előrejelzési mechanizmus (út-előrejelző) megvalósításában, amely annak előrejelzésére szolgál, hogy melyik cache-csatorna tartalmaz egy bizonyos memóriacímet. Az AMD processzorokban alkalmazott optimalizálás a μ-címkék (μTag) ellenőrzésén alapul. A μTag kiszámítása egy adott hash függvény alkalmazásával történik a virtuális címre. Működés közben a csatorna-előrejelző motor a μTag segítségével határozza meg a gyorsítótár-csatornát a táblázatból. Így a μTag lehetővé teszi a processzor számára, hogy csak egy adott csatorna elérésére korlátozza magát, anélkül, hogy minden opciót keresne, ami jelentősen csökkenti a CPU energiafogyasztását.

Két támadás a gyorsítótár-csatorna előrejelzési mechanizmusa ellen az AMD processzorokban

A 2011 és 2019 között kiadott AMD processzorok különböző generációiban a csatorna-előrejelző rendszer megvalósításának visszafejtése során két új oldalcsatornás támadási technikát azonosítottak:

  • Collide+Probe – lehetővé teszi a támadó számára, hogy nyomon kövesse az ugyanazon a logikai CPU magon futó folyamatok memória-hozzáférését. A módszer lényege, hogy a μTag kiszámításához használt hash függvényben ütközést okozó virtuális címeket használunk a memóriaelérés nyomon követésére. Az Intel processzorokon használt Flush+Reload és Prime+Probe támadásokkal ellentétben a Collide+Probe nem használ megosztott memóriát, és a fizikai címek ismerete nélkül működik.
  • Load+Reload – lehetővé teszi, hogy nagyon pontosan meghatározza a memória hozzáférési nyomait ugyanazon a fizikai CPU magon. A módszer azon alapul, hogy egy fizikai memóriacella csak egyszer lehet az L1D gyorsítótárban. Azok. Ha ugyanazt a memóriacellát egy másik virtuális címen éri el, akkor a cella kiürül az L1D gyorsítótárból, lehetővé téve a memória hozzáférésének nyomon követését. Bár a támadás megosztott memóriára támaszkodik, nem üríti ki a gyorsítótár sorait, lehetővé téve a lopakodó támadásokat, amelyek nem ürítenek ki adatokat az utolsó szintű gyorsítótárból.

A Collide+Probe és Load+Reload technikák alapján a kutatók több oldalcsatornás támadási forgatókönyvet is bemutattak:

  • Megjelenik a két folyamat közötti rejtett indirekt kommunikációs csatorna megszervezésének lehetősége, amely akár 588 kB/s sebességű adatátvitelt tesz lehetővé.
  • A μTag ütközéseinek használatával csökkenthető volt az entrópia az ASLR (Address Space Layout Randomization) különböző változatainál, és megkerülhető az ASLR-védelem a kernelben egy teljesen frissített Linux rendszeren. Megjelenik az ASLR entrópia csökkentésére irányuló támadás végrehajtásának lehetősége mind a felhasználói alkalmazásokból, mind a sandbox környezetben futtatott JavaScript kód és egy másik vendégkörnyezetben futó kód használatával.

    Két támadás a gyorsítótár-csatorna előrejelzési mechanizmusa ellen az AMD processzorokban

  • A Collide+Probe metódus alapján egy támadást hajtottak végre a titkosítási kulcs visszaszerzésére egy sebezhető implementációból (az T-tábla) AES titkosítás.
  • A Collide+Probe metódust adatgyűjtő csatornaként használva a Spectre támadás megosztott memória használata nélkül tudott privát adatokat kinyerni a kernelből.

A sérülékenység a mikroarchitektúrán alapuló AMD processzorokon jelentkezik
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ és Zen2.
Az AMD-t 23. augusztus 2019-án értesítették a problémáról, de eddig nem tette közzé a jelentést a biztonsági rés blokkolásával kapcsolatos információkkal. A kutatók szerint a probléma a mikrokód frissítési szintjén blokkolható, ha MSR biteket biztosítanak a csatorna-előrejelző rendszer szelektív letiltásához, hasonlóan ahhoz, amit az Intel az elágazás-előrejelző mechanizmusok letiltásának szabályozására tett.

Két támadás a gyorsítótár-csatorna előrejelzési mechanizmusa ellen az AMD processzorokban

Forrás: opennet.ru

Hozzászólás