L1DES (CacheOut) a VRS — nové zranitelnosti v mikroarchitektonických strukturách CPU Intel

Společnost Intel odhalila Informace o dvou nových zranitelnostech v procesorech Intel, způsobených únikem dat z cache L1D (CVE-2020-0549, L1DES — L1D Eviction Sampling) a vektorovými registry (CVE-2020-0548, VRS — Vector Register Sampling). Zranitelnosti patří do kategorie MDS (Microarchitectural Data Sampling) a vycházejí z použití metod analýzy kanály pro získání dat v mikroarchitektonických strukturách. Procesory AMD, ARM a další problémy nemají.

Největší nebezpečí představuje zranitelnost L1DES, která umožňuje usazení bloků pro_cached data (cache line), vyřazených z první úrovně cache (L1D), do vyplňovacího bufferu (Fill Buffer), který by měl být v tomto okamžiku prázdný. K určení usazených dat v vyplňovacím bufferu se používají metody analýzy kanály, dříve navržené v útocích MDS (Microarchitectural Data Sampling) a TAA (Transactional Asynchronous Abort). Podstata dříve realizované ochrany před
MDS a TAA spočívá v čištění mikroarchitektonických bufferů před přepínáním kontextu, ale jak se ukázalo, za určitých podmínek jsou data spekulativně vymazána do bufferů po operaci čištění, takže metody MDS a TAA zůstávají použitelné.

L1DES (CacheOut) a VRS - nové zranitelnosti v mikroarchitektonických strukturách CPU Intel

Výsledkem je, že útočník může zjistit vyřazená data z první úrovně cache, která byla změněna během provádění aplikace, která v té době využívala aktuální jádro CPU, nebo aplikací, které běží současně v jiných logických vláknech (hyperthread) na stejném jádru CPU (vypnutí HyperThreadingu snižuje účinnost útoku). Na rozdíl od útoku L1TF, L1DES neumožňuje vybírat konkrétní fyzické adresy k ověření, ale poskytuje možnost pasivně sledovat aktivitu v jiných logických vláknech související s načítáním nebo ukládáním hodnot do paměti.

Na základě L1DES různé týmy výzkumníků vyvinuli několik variant útoků, které potenciálně umožňují extrahovat citlivé informace z jiných procesů, operačního systému, virtuálních strojů a chráněných enclave SGX.

  • Tým VUSec adaptoal metodiku útoku RIDL pro zranitelnost L1DES. Dostupné prototyp exploitů., který mimo jiné obchází navrhovanou metodu ochrany Intel proti MDS, která využívá instrukci VERW k vyčištění obsahu mikroarchitektonických mezipamětí během návratu z jádra do uživatelského prostoru nebo při předání řízení hostitelskému systému (vzhledem k tomu, že výzkumníci původně trvali na tom, že VERW (čištění mikroarchitektonických mezipamětí) na ochranu nestačí a je potřebné úplné vymazání L1 cache při každém kontextovém přepnutí).
  • Tým ZombieLoad aktualizovala svou metodu útoku s ohledem na zranitelnost L1DES.
  • Výzkumníci z Michiganské univerzity vyvinuli vlastní metodu útoku CacheOut (PDF), která umožňuje extrakci důvěrných informací z jádra operačního systému, virtuálních strojů a chráněných enkláv SGX. Metoda je založena na manipulacích s mechanismem asynchronního přerušení operací (TAA, TSX Asynchronous Abort) pro určení obsahu vyplňovacího bufferu po úniku dat z L1D cache.

    L1DES (CacheOut) a VRS - nové zranitelnosti v mikroarchitektonických strukturách CPU Intel

Druhá zranitelnost VRS (Vector Register Sampling) je spojena s únikem do uloženého bufferu (Store Buffer) výsledků operací čtení z vektorových registrů, které byly změněny při provádění vektorových instrukcí (SSE, AVX, AVX-512) na stejném jádru CPU. Únik se vyskytuje za dostatečně vzácné okolnosti a je způsoben tím, že spekulativně vykonávaná operace, která vede k odrazu stavu vektorových registrů v uloženém bufferu, zpožďuje a končí až po vyčištění bufferu, a ne před ním. Podobně jako u zranitelnosti L1DES může být obsah uloženého bufferu následně určen pomocí metod útoků MDS a TAA.

Výzkumníci z týmu VUSec připravili prototyp exploitů., který umožňuje určování hodnot vektorových registrů získaných v důsledku výpočtů v jiném logickém vlákně téhož jádra CPU. Společnost Intel ocenila zranitelnost VRS jako příliš složitou pro provádění reálných útoků a přidělila minimální stupeň nebezpečí (2.8 CVSS).

Informace o problémech byly předány společnosti Intel v květnu 2019 týmem Zombieload z Grazzské technické univerzity (Rakousko) a skupinou VUSec z Amsterdamské svobodné univerzity. Později, po analýze dalších vektorů využití útoku MDS, byly zranitelnosti potvrzeny několika dalšími výzkumníky. V první zprávě o MDS nebyly informace o problémech L1DES a VRS zahrnuty kvůli nedostatku opravy. Oprava není k dispozici ani nyní, ale doba utajení vypršela.
Jako obraná opatření se doporučuje deaktivovat HyperThreading. Pro zablokování zranitelnosti na straně jádra se navrhuje vymazat L1 cache při každém přepnutí kontextu (MSR bit MSR_IA32_FLUSH_CMD) a vypnout rozšíření TSX (MSR bity MSR_IA32_TSX_CTRL a MSR_TSX_FORCE_ABORT).

Intel slibuje vydat aktualizaci mikrocode s implementací mechanismů k zablokování problémů v nejbližší době. Intel také zdůrazňuje, že použití navrhovaných opatření na ochranu před útoky z roku 2018 L1TF (L1 Terminal Fault) umožňuje blokovat využití zranitelnosti L1DES z virtuálních prostředí. Útok je citlivý procesory Intel Core, počínaje šestou generací (Sky, Kaby, Coffee, Whiskey, Amber Lake atd.), jakož i některé modely Intel Xeon a Xeon Scalable.

Dále lze poznamenat zdokonalení exploitu, které umožňuje použít metody útoku RIDL ke stanovení obsahu hašovaného hesla root z /etc/shadow při periodických pokusech o autentizaci. Pokud původně navržený exploit určoval haš hesla za 24 hodiny, a po aplikaci úniku při práci mechanismu asynchronního přerušení operací (TAA, TSX Asynchronous Abort) vykonával podobnou operaci za 36 sekund, nový variant provádí útok za 4 sekundy.

Přehrát video

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster