Byl objeven nový útok Zombieload na procesory Intel

Výzkumníci z Technické univerzity v Grazu (Rakousko) odhalili informace o nové metodě útoku přes vedlejší kanály ZombieLoad 2.0 (CVE-2019-11135), což umožňuje získat důvěrné informace z jiných procesů, operačního systému, virtuálních strojů a chráněných enclave (TEE, Trusted Execution Environment). Problém se týká pouze procesorů Intel. Komponenty pro zablokování problému navrženy včera v aktualizaci mikrokódu.

Problém patří do třídy MDS (Microarchitectural Data Sampling) a je modernizovanou variantou uvedené v květnu, útoků ZombieLoad. ZombieLoad 2.0, stejně jako ostatní útoky třídy MDS, vychází z použití metod analýzy přes vedlejší kanály na data v mikroarchitektonických strukturách (například v bufferech pro vyplnění (Line Fill Buffer) a ukládání (Store Buffer), kde jsou dočasně uchovávána data používaná během provádění operací Load a Store).

Nová varianta útoku Zombieload se zakládá na úniku, který vzniká při práci mechanismu asynchronního přerušení operací (TAA, TSX Asynchronous Abort), implementovaného v rozšíření TSX (Transactional Synchronization Extensions), které poskytuje prostředky pro práci s transakční pamětí, umožňující zlepšit výkonnost vícethreadových aplikací díky dynamickému vyloučení nadbytečných synchronizačních operací (podporují se atomární transakce, které mohou být buď přijaty, nebo přerušeny). V případě přerušení se operace provedené s transakčním regionem paměti vrátí zpět.

Přerušení transakce probíhá asynchronně, a během této doby mohou jiné vlákna přistupovat k cache, která je také používána v zrušeném transakčním regionu paměti. V okamžiku od začátku do skutečného dokončení asynchronního přerušení transakce není vyloučeno vzniknutí situací, kdy procesor během spekulativního vykonávání operace může přečíst data z vnitřních mikroarchitektonických bufferů a předat je do spekulativně prováděné operace. Poté bude konflikt odhalen a spekulativní operace bude zrušena, ale data zůstanou v cache a mohou být získána pomocí metod obnovy cache přes vedlejší kanály.

Útok spočívá v otevírání transakcí TSX a vytváření podmínek pro jejich asynchronní přerušení, během něhož dochází k podmínkám pro únik obsahu vnitřních bufferů, spekulativně naplněných daty z právě běžících operací čtení paměti na stejném jádru CPU. Únik je omezen na aktuální fyzické jádro CPU (na kterém se vykonává kód útočníka), ale protože mikroarchitektonické buffery jsou sdíleny mezi různými vlákny v režimu Hyper-Threading, může dojít k úniku operací s pamětí, které vykonávají jiná vlákna CPU.

Útokům je citlivý podléhají některé modely osmého, devátého a desátého generace procesorů Intel Core, stejně jako Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W a druhá generace Intel Xeon Scalable. Mezi nimi jsou zranitelné i nové procesory Intel na základě mikroarchitektury Cascade Lake, která byla původně vůči útokům RIDL a Fallout odolná. Kromě Zombieload 2.0 výzkumníci také odhalili možnost obcházení dříve navržených metod ochrany proti útokům MDS, které jsou založeny na použití instrukce VERW pro vymazání obsahu mikroarchitektonických bufferů při návratu z jádra do uživatelského prostoru nebo při předání kontroly hostitelskému systému.

Ve zprávě Intel se uvádí, že v systémech s heterogenním zatížením je možnost provedení útoku ztížena, neboť únik z mikroarchitektonických struktur pokrývá veškerou aktivitu v systému a útočník nemůže ovlivnit zdroj extrahovaných dat, tj. může pouze shromažďovat informace, které se v důsledku úniku objevují, a snažit se mezi těmito daty najít užitečné informace, aniž by měl možnost cíleně zachytit data související s konkrétními adresami paměti. Nicméně, výzkumníci zveřejnili prototyp exploitů., běžící na Linuxu a Windows, a byla demonstrována možnost použití útoku k určení hashe hesla uživatele root.
Možné provádění útoku z hostitelského systému za účelem shromažďování dat, která se objevují v operacích jiných hostitelských systémů, hostitelského prostředí, hypervizora a enclaves Intel SGX.

Přehrát video

Opravy pro zablokování zranitelnosti byly zahrnuty byly zahrnuty do kódu jádra Linuxu a byly součástí vydání 5.3.11, 4.19.84, 4.14.154, 4.9.201 a 4.4.201. Aktualizace jádra a mikro-kódu byly také již vydány pro hlavní distribuce (Debian, SUSE/openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). Problém byl zjištěn v dubnu a oprava byla koordinována společností Intel s vývojáři operačních systémů.

Nejjednodušší metodou blokování Zombieload 2.0 je vypnutí podpory TSX v CPU. Navrhovaná oprava pro jádro Linux obsahuje několik variant ochrany. První varianta nabízí parametr „tsx=on/off/auto“, který umožňuje spravovat zapnutí rozšíření TSX v CPU (hodnota auto vypíná TSX pouze pro zranitelné CPU). Druhá varianta ochrany se aktivuje parametrem „tsx_async_abort=off/full/full,nosmt“ a je založena na vyčištění mikroarchitektonických bufferů během kontextového přepínání (příznak nosmt navíc vypíná SMT/Hyper-Threading). K ověření zranitelnosti systému je v sysfs předpokládán parametr „/sys/devices/system/cpu/vulnerabilities/tsx_async_abort“.

Kromě toho v byl vyřešen mikrokódu odstraněna ještě jedna zranitelnost (CVE-2018-12207) v procesorech Intel, která je také blokována v novém byl vyřešen jádru Linux. Zranitelnost umožňuje umožňuje neprivilegovanému útočníkovi iniciovat odmítnutí služby, což vede k zamrznutí systému ve stavu „Machine Check Error“.
Útok může být také proveden z hostitelského systému.

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