L1DES (CacheOut) és VRS — új sebezhetőségek az Intel CPU mikroarchitektúrájában

Intel vállalat felfedte információk két új Intel CPU sérülékenységről, amelyeket az L1D gyorsítótár adatszivárgása okoz (CVE-2020-0549, L1DES — L1D Eviction Sampling) és a vektoregiszterek (CVE-2020-0548, VRS — Vector Register Sampling). A sérülékenységek a MDS (Microarchitectural Data Sampling) osztályba tartoznak, és a mikroarchitektúrás struktúrákra vonatkozóan végzett oldalsó csatornás elemzési módszerek alkalmazásán alapulnak. Az AMD, ARM és egyéb processzorok nem érintettek a problémákban.

A legnagyobb veszélyt az L1DES sérülékenység jelenti, amely megengedi a kikerült gyorsítótárazott adatok (cache line) felhalmozódását, amelyeket az első szintű (L1D) gyorsítótárból kiutasítottak, a kitöltő pufferben (Fill Buffer), amely ezen a ponton üresnek kellene lennie. A kitöltő pufferben felhalmozódott adatok meghatározásához oldalsó csatornás elemzési módszerek alkalmazhatók, amelyeket korábban támadásokban javasoltak MDS (Microarchitectural Data Sampling) és TAA (Transactional Asynchronous Abort). A MDS és TAA korábban megvalósított védelmének lényege a mikroarchitektúrás pufferek törlése a kontextusváltás előtt, de kiderült, hogy bizonyos körülmények között az adatok spekulatívan visszakerülnek a pufferekbe a törlési művelet után, ezért a MDS és TAA módszerek továbbra is alkalmazhatók.
Végül a támadó képes lehet meghatározni a kiutasított adatokat az első szintű gyorsítóból, amelyeket a program futtatása során módosítottak, mielőtt az a jelenlegi CPU magot foglalta el, vagy más logikai szálakon (hyperthread) párhuzamosan futó alkalmazások esetén a CPU ugyanazon magjában (a HyperThreading letiltása csökkenti a támadás hatékonyságát). A L1DES támadással ellentétben nem lehet kiválasztani a konkrét fizikai címeket ellenőrzésre, de lehetőséget ad a más logikai szálakban bekövetkező aktivitás passzív nyomon követésére, amely a memóriába történő betöltéssel vagy elmentéssel kapcsolatos értékekkel áll kapcsolatban.

L1DES (CacheOut) és VRS - új sebezhetőségek az Intel CPU mikroarchitekturális struktúráiban.

Az L1DES alapján különféle kutatócsoportok több támadási variációt dolgoztak ki, amelyek potenciálisan lehetővé teszik a bizalmas információk kinyerését más folyamatokból, operációs rendszerekből, virtuális gépekből és védett SGX enclávékból. L1TFA VUSec csapata

alkalmazta

  • a RIDL támadási módszert az L1DES sérülékenységre. Elérhető адаптировала метод атаки RIDL для уязвимости L1DES. Доступен exploitat, amely magában foglalja az Intel MDS védekezési módszerek megkerülését, amely a VERW utasításon alapul a mikroarchitektúrák puffereinek törlésére a kernelből a felhasználói térbe való visszatéréskor, vagy a host rendszerhez való átadáskor (a kutatók eredetileg azt állították, hogy a VERW (mikroarchitektúrák puffereinek törlése) védelemhez nem elegendő, és teljes L1 cache törlés szükséges minden kontextusváltáskor).
  • A parancs ZombieLoad frissítette támadási módszer az L1DES sebezhetőség figyelembevételével.
  • A Michigan Állami Egyetem kutatói kifejlesztettek egy saját támadási módszert CacheOut (PDF), amely lehetővé teszi bizalmas információk kinyerését az operációs rendszer kerneléből, virtuális gépekből és a védett SGX zónákból. A módszer alapja manipulációk az aszinkron műveleti megszakítások mechanizmusával (TAA, TSX Asynchronous Abort) a L1D cache-ből való adatkiáramlás utáni puffer tartalmának meghatározásához.

    L1DES (CacheOut) és VRS - új sebezhetőségek az Intel CPU mikroarchitekturális struktúráiban.

A második sebezhetőség a VRS (Vector Register Sampling) kapcsolódik a tároló pufferbe (Store Buffer) történő adatkiáramláshoz, amely a vektoregisterekből olvasott eredményeket tartalmazza, amelyeket vektoros utasítások (SSE, AVX, AVX-512) végrehajtása során módosítottak ugyanazon a CPU magon. A szivárgás elegendően ritka körülmények között történik, és az okozza, hogy a spekulatív módon végrehajtott művelet, amely a vektoregisterek állapotának tükrözéséhez vezet a tároló pufferben, késlekedik és a törlés után fejeződik be, nem pedig előtte. Hasonlóan az L1DES sebezhetőséghez, a tároló puffer tartalma ezután a MDS és TAA támadási módszereivel határozható meg.

A VUSec csoport kutatói készítették exploitat, amely lehetővé teszi a CPU magjának ugyanazon logikai folyamatában végzett számítások eredményeként előállt vektoregisterek értékeinek meghatározását. Az Intel értékelte a VRS sebezhetőséget túl bonyolultnak tartotta a valós támadások végrehajtásához, és a kockázat szintet minimálisra (2.8 CVSS) állította be.

A problémákra vonatkozó információkat 2019 májusában adta át az Intelnek a grazi műszaki egyetem Zombieload csapata és az amszterdami szabad egyetem VUSec csoportja, majd később, más MDS támadási vektorok elemzése után, néhány más kutató is megerősítette a sebezhetőségeket. Az első MDS jelentésben az L1DES és VRS problémákról szóló információk nem szerepeltek a javítás hiánya miatt. A javítás jelenleg sem elérhető, de a megállapított titoktartási időszak lejárt.
Mint védelmi megoldás, ajánlott a HyperThreading letiltása. A sebezhetőség kernel oldali blokkolásához javasolt a L1 cache törlése minden kontextusváltásnál (MSR MSR_IA32_FLUSH_CMD bitje) és a TSX kiterjesztés letiltása (MSR MSR_IA32_TSX_CTRL és MSR_TSX_FORCE_ABORT bitek).

Intel ígér a mikrokód frissítés kiadását, amely megvalósítja a problémák blokkolására vonatkozó mechanizmusokat a közeljövőben. Az Intel azt is megjegyzi, hogy a 2018-ban javasolt támadás elleni védelmi módszerek alkalmazása L1TF (L1 Terminal Fault) lehetővé teszi az L1DES sebezhetőség kihasználásának blokkolását virtuális környezetekből. A támadás alatt az Intel Core processzorok, kezdve a hatodik generációtól (Sky, Kaby, Coffee, Whiskey, Amber Lake stb.), valamint néhány Intel Xeon és Xeon Scalable modell.

További megjegyzésként fejlesztés exploit, amely lehetővé teszi a támadási módszerek alkalmazását RIDL a root jelszó hash tartalmának meghatározására a /etc/shadow fájlból időszakos hitelesítési kísérletek során. Ha az eredetileg javasolt exploit 24 óra alatt határozta meg a jelszó hash-t, 24 órán belül, akkor a TAA (TSX Asynchronous Abort) működése közben fellépő kiszivárgás alkalmazásával a hasonló művelet 36 másodperc alatt valósult meg. 36 másodperc, míg az újabb változat 4 másodperc alatt végzi el a támadást.

Videó lejátszása

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster