L1DES (CacheOut) a VRS - nové zraniteľnosti v mikroarchitektonických štruktúrach procesorov Intel

Intel nekrytý informácie o dvoch nových zraniteľnostiach v procesoroch Intel spôsobených únikom údajov z vyrovnávacej pamäte L1D (CVE-2020 0549,, L1DES - L1D Eviction Sampling) a vektorové registre (CVE-2020 0548,, VRS - vzorkovanie vektorových registrov). Zraniteľnosti patria do triedy MDS (Microarchitectural Data Sampling) a sú založené na aplikácii metód analýzy bočných kanálov na dáta v mikroarchitektonických štruktúrach. AMD, ARM a ďalšie procesory nie sú ovplyvnené problémami.

Najväčším nebezpečenstvom je zraniteľnosť L1DES, ktorá povolenie usadzovanie blokov dát vo vyrovnávacej pamäti (riadok vyrovnávacej pamäte), vyradených z vyrovnávacej pamäte prvej úrovne (L1D), vo vyrovnávacej pamäti Fill Buffer, ktorá by v tejto fáze mala byť prázdna. Na určenie údajov, ktoré sa usadili v plniacej vyrovnávacej pamäti, môžeme použiť metódy analýzy bočných kanálov, ktoré boli predtým navrhnuté v útokoch MDS (Vzorkovanie mikroarchitektonických údajov) a TAA (Transakčný asynchrónny potrat). Podstatou predtým realizovanej ochrany proti
MDS a TAA pri vyplachovaní mikroarchitektonických vyrovnávacích pamätí pred prepnutím kontextu, ale ukázalo sa, že za určitých podmienok sa údaje po operácii vyprázdnenia špekulatívne vyprázdnia do vyrovnávacích pamätí, takže metódy MDS a TAA zostávajú použiteľné.

L1DES (CacheOut) a VRS - nové zraniteľnosti v mikroarchitektonických štruktúrach procesorov Intel

Výsledkom je, že útočník môže dosiahnuť detekciu údajov vyradených z vyrovnávacej pamäte prvej úrovne, ktorá sa zmenila počas vykonávania aplikácie, ktorá predtým zaberala aktuálne jadro CPU, alebo aplikácií bežiacich paralelne v iných logických vláknach (hypervlákno) na rovnakom CPU. jadro (vypnutie HyperThreadingu zníži efektivitu útoku). Na rozdiel od útoku L1TFL1DES neumožňuje výber konkrétnych fyzických adries na kontrolu, ale poskytuje možnosť pasívne monitorovať aktivitu v iných logických vláknach spojených s načítavaním alebo ukladaním hodnôt do pamäte.

Na základe L1DES rôzne výskumné tímy vyvinuli niekoľko variantov útoku, ktoré môžu potenciálne extrahovať citlivé informácie z iných procesov, operačného systému, virtuálnych strojov a chránených enkláv SGX.

  • Tím VUSec prispôsobené Metóda útoku RIDL na zraniteľnosť L1DES. Dostupné využiť prototyp, ktorá tiež obchádza navrhovanú metódu ochrany MDS od Intelu, ktorá je založená na použití inštrukcie VERW na vymazanie obsahu mikroarchitektonických vyrovnávacích pamätí pri návrate z jadra do užívateľského priestoru alebo pri prenose kontroly do hosťujúceho systému (výskumníci pôvodne trvali na tom, že VERW (vyčistenie mikroarchitektonických vyrovnávacie pamäte) na ochranu je nedostatočná a vyžaduje úplné vyprázdnenie vyrovnávacej pamäte L1 pri každom prepnutí kontextu).
  • Tím ZombieLoad aktualizoval môj metóda útoku berúc do úvahy zraniteľnosť L1DES.
  • Výskumníci z University of Michigan vyvinuli vlastnú metódu útoku Cache Out (PDF), ktorý vám umožňuje extrahovať dôverné informácie z jadra operačného systému, virtuálnych strojov a chránených enkláv SGX. Metóda je založená na manipulácií s mechanizmom asynchrónneho prerušenia operácií (TAA, TSX Asynchronous Abort) na určenie obsahu vyplňovacej vyrovnávacej pamäte po úniku dát z vyrovnávacej pamäte L1D.

    L1DES (CacheOut) a VRS - nové zraniteľnosti v mikroarchitektonických štruktúrach procesorov Intel

Druhá zraniteľnosť VRS (Vector Register Sampling). zviazaný s únikom výsledkov operácií čítania z vektorových registrov zmenených počas vykonávania vektorových inštrukcií (SSE, AVX, AVX-512) na rovnakom jadre CPU do vyrovnávacej pamäte úložiska (Store Buffer). Únik sa vyskytuje za pomerne zriedkavých okolností a je spôsobený skutočnosťou, že špekulatívna operácia, ktorá vedie k odrazu stavu vektorových registrov vo vyrovnávacej pamäti úložiska, je oneskorená a dokončí sa po vyčistení vyrovnávacej pamäte, a nie pred ňou. Podobne ako pri zraniteľnosti L1DES, obsah vyrovnávacej pamäte možno potom určiť pomocou techník útoku MDS a TAA.

Výskumníci zo skupiny VUSec pripravené využiť prototyp, ktorý vám umožňuje určiť hodnoty vektorových registrov získaných ako výsledok výpočtov v inom logickom vlákne toho istého jadra CPU. Spoločnosť Intel ocenili Zraniteľnosť VRS bola považovaná za príliš zložitú na uskutočnenie skutočných útokov a bola jej pridelená minimálna úroveň závažnosti (2.8 CVSS).

Problémy oznámili Intelu v máji 2019 tím Zombieload z Technickej univerzity v Grazi (Rakúsko) a tím VUSec zo Slobodnej univerzity v Amsterdame a zraniteľné miesta neskôr potvrdilo niekoľko ďalších výskumníkov po analýze iných vektorov útokov MDS. Prvá správa MDS neobsahovala informácie o problémoch L1DES a VRS kvôli chýbajúcej oprave. Oprava teraz nie je k dispozícii, ale dohodnutá lehota na nezverejnenie uplynula.
Ako riešenie sa odporúča vypnúť HyperThreading. Na zablokovanie zraniteľnosti na strane jadra sa navrhuje resetovať vyrovnávaciu pamäť L1 pri každom prepínači kontextu (bit MSR MSR_IA32_FLUSH_CMD) a deaktivovať rozšírenie TSX (bity MSR_IA32_TSX_CTRL a MSR_TSX_FORCE_ABORT).

Intel sľuby vydať aktualizáciu mikrokódu s implementáciou mechanizmov na blokovanie problémov v blízkej budúcnosti. Intel tiež poznamenáva, že použitie metód ochrany pred útokmi navrhnuté v roku 2018 L1TF (L1 Terminal Fault) vám umožňuje blokovať zneužitie zraniteľnosti L1DES z virtuálnych prostredí. Útok predmetom Procesory Intel Core počnúc šiestou generáciou (Sky, Kaby, Coffee, Whisky, Amber Lake atď.), ako aj niektoré modely Intel Xeon a Xeon Scalable.

Okrem toho je možné poznamenať zlepšenie zneužívať, čo vám umožňuje používať metódy útoku RIDL na určenie obsahu hash hesla root z /etc/shadow počas pravidelných pokusov o autentifikáciu. Ak pôvodne navrhovaný exploit určil hash hesla 24 hodín, a po aplikovaní úniku počas činnosti mechanizmu asynchrónneho prerušenia (TAA, TSX Asynchronous Abort) vykonal podobnú operáciu v r. 36 sekúnd, potom nový variant zaútočí za 4 sekundy.

Zdroj: opennet.ru

Pridať komentár