L1DES (CacheOut) és VRS – új biztonsági rések az Intel CPU-k mikroarchitektúrájában

Intel fedetlen információ az Intel CPU-k két új sebezhetőségéről, amelyeket az L1D gyorsítótárból való adatszivárgás okoz (CVE-2020 0549-, L1DES - L1D Eviction Sampling) és vektorregiszterek (CVE-2020 0548-, VRS - Vector Register Sampling). A sebezhetőségek az osztályhoz tartoznak MDS (Microarchitectural Data Sampling), és az oldalsó csatorna elemzési módszerek alkalmazásán alapulnak a mikroarchitektúrás struktúrák adataira. Az AMD, ARM és más processzorokat nem érintik a problémák.

A legnagyobb veszélyt az L1DES biztonsági rése jelenti, amely engedélyek az első szintű gyorsítótárból (L1D) kiürített gyorsítótárazott adatok blokkjainak (cache sor) rendezése a Fill Bufferben, amelynek ebben a szakaszban üresnek kell lennie. A kitöltő pufferben megtelepedett adatok meghatározásához a támadásoknál korábban javasolt oldalcsatorna elemzési módszereket használhatjuk. MDS (Microarchitectural Data Sampling) és TAA (Tranzakciós aszinkron abortusz). A korábban megvalósított védelem lényege ellen
MDS és TAA a mikroarchitektúra pufferek öblítésében a kontextusváltás előtt, de kiderül, hogy bizonyos körülmények között az adatok az öblítési művelet után spekulatív módon pufferekbe kerülnek, így az MDS és TAA módszerek továbbra is alkalmazhatók.

L1DES (CacheOut) és VRS – új biztonsági rések az Intel CPU-k mikroarchitektúrájában

Ennek eredményeként a támadó észlelheti az első szintű gyorsítótárból kiszorított adatokat, amelyek egy olyan alkalmazás végrehajtása során módosultak, amely korábban az aktuális CPU magot foglalta el, vagy olyan alkalmazásokat, amelyek párhuzamosan futnak más logikai szálakon (hiperszálon) ugyanazon a CPU-n. mag (a HyperThreading letiltása csökkenti a támadások hatékonyságát). Ellentétben a támadással L1TFAz L1DES nem teszi lehetővé konkrét fizikai ,címek kiválasztását ellenőrzés céljából, de lehetőséget biztosít a tevékenységek passzív megfigyelésére más logikai szálakban, amelyek az értékek memóriába való betöltéséhez vagy tárolásához kapcsolódnak.

Az L1DES alapján a különböző kutatócsoportok több támadásváltozatot fejlesztettek ki, amelyek potenciálisan érzékeny információkat nyerhetnek ki más folyamatokból, az operációs rendszerből, a virtuális gépekből és a védett SGX enklávéból.

  • VUSec csapat adaptált RIDL támadási módszer az L1DES biztonsági réshez. Elérhető prototípus kihasználása, amely szintén megkerüli az Intel által javasolt MDS védelmi módszert, amely a VERW utasítás használatával törli a mikroarchitektúra pufferek tartalmát a kernelből a felhasználói térbe való visszatéréskor, vagy amikor a vezérlést a vendégrendszerre adják át (a kutatók kezdetben ragaszkodtak ahhoz, hogy a VERW (clearing microarchitectural) pufferek) nem elegendő a védelemhez, és minden kontextuskapcsolón az L1 gyorsítótár teljes kiürítését igényli).
  • Csapat ZombieLoad frissítette az én támadási módszer figyelembe véve az L1DES sebezhetőséget.
  • A Michigani Egyetem kutatói saját támadási módszert fejlesztettek ki Cache Out (PDF), amely lehetővé teszi bizalmas információk kinyerését az operációs rendszer kerneléből, a virtuális gépekből és a védett SGX enklávéból. A módszer azon alapul manipulációk a műveletek aszinkron megszakítására szolgáló mechanizmussal (TAA, TSX Asynchronous Abort), amely meghatározza a kitöltési puffer tartalmát az L1D gyorsítótárból történő adatszivárgás után.

    L1DES (CacheOut) és VRS – új biztonsági rések az Intel CPU-k mikroarchitektúrájában

Második VRS (Vector Register Sampling) biztonsági rés bekötött a tárolópufferbe (Store Buffer) a vektorregiszterekből a vektorutasítások (SSE, AVX, AVX-512) ugyanazon a CPU magon történő végrehajtása során megváltozott olvasási műveletek eredményeinek szivárgásával. A szivárgás meglehetősen ritka körülmények között következik be, és az okozza, hogy egy spekulatív művelet, amely a vektorregiszterek állapotának tükrözését eredményezi a tárolópufferben, késik és a puffer törlése után fejeződik be, nem pedig előtte. Az L1DES sebezhetőséghez hasonlóan a tárolópuffer tartalma ezután MDS és TAA támadási technikákkal meghatározható.

A VUSec csoport kutatói előkészített prototípus kihasználása, amely lehetővé teszi a számítások eredményeként kapott vektorregiszterek értékeinek meghatározását ugyanazon CPU mag egy másik logikai szálában. Intel cég értékelt, megbecsült A VRS sebezhetőségét túl összetettnek ítélték a valódi támadásokhoz, és minimális súlyossági szintet (2.8 CVSS) rendeltek hozzá.

A problémákat 2019 májusában jelentette az Intelnek a Grazi Műszaki Egyetem Zombieload csapata (Ausztria) és a VUSec csapata az Amszterdami Szabad Egyetemről, és a sebezhetőséget később több más kutató is megerősítette, miután más MDS támadási vektorokat elemeztek. Az első MDS jelentés a javítás hiánya miatt nem tartalmazott információkat az L1DES és VRS problémákról. A javítás jelenleg nem érhető el, de a megállapodás szerinti titoktartási időszak lejárt.
Megkerülő megoldásként a HyperThreading letiltása javasolt. A kerneloldali sérülékenység blokkolása érdekében javasolt az L1 gyorsítótár alaphelyzetbe állítása minden kontextuskapcsolónál (MSR-bit MSR_IA32_FLUSH_CMD), valamint a TSX-bővítmény letiltása (MSR_IA32_TSX_CTRL és MSR_TSX_FORCE_ABORT-bitek).

Intel ígéreteket adjon ki egy mikrokód-frissítést olyan mechanizmusok megvalósításával, amelyek megakadályozzák a problémákat a közeljövőben. Az Intel azt is megjegyzi, hogy 2018-ban javasolták a támadásvédelmi módszerek használatát L1TF (L1 terminálhiba) lehetővé teszi, hogy blokkolja az L1DES biztonsági résének virtuális környezetekből való kihasználását. Támadás feltéve Intel Core processzorok a hatodik generációtól kezdve (Sky, Kaby, Coffee, Whiskey, Amber Lake stb.), valamint néhány Intel Xeon és Xeon Scalable modell.

Ezenkívül meg lehet jegyezni javulás kihasználni, amely lehetővé teszi a támadási módszerek használatát RIDL az /etc/shadow fájl root jelszó-kivonatának tartalmának meghatározása az időszakos hitelesítési kísérletek során. Ha az eredetileg javasolt kihasználás meghatározta a jelszó kivonatát 24 óra, és az aszinkron megszakító mechanizmus (TAA, TSX Asynchronous Abort) működése közbeni szivárgás alkalmazása után hasonló műveletet hajtott végre a 36 másodperc, akkor az új változat 4 másodperc alatt támadást hajt végre.

Forrás: opennet.ru

Hozzászólás