V rámci InsydeH2O, který používá mnoho výrobců k vytvoření firmwaru UEFI pro svá zařízení (nejběžnější implementace UEFI BIOS), bylo identifikováno 23 zranitelností, které umožňují spouštění kódu na úrovni SMM (System Management Mode), která má vyšší prioritu (Ring -2) než režim hypervizoru a nulový kruh ochrany a neomezený přístup k celé paměti. Problém se týká firmwaru UEFI používaného výrobci jako Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel a Bull Atos.
Zneužívání zranitelností vyžaduje místní přístup s právy správce, díky čemuž jsou problémy oblíbené jako zranitelnosti druhé úrovně, které se používají po zneužití jiných zranitelností v systému nebo použití metod sociálního inženýrství. Přístup na úrovni SMM vám umožňuje spouštět kód na úrovni nekontrolované operačním systémem, což lze použít k úpravě firmwaru a ponechat skrytý škodlivý kód nebo rootkity v SPI Flash, které nejsou detekovány operačním systémem, a také zakázat ověřování ve fázi spouštění (UEFI Secure Boot, Intel BootGuard) a útoky na hypervizory, aby se obešly mechanismy pro kontrolu integrity virtuálních prostředí.
Zneužívání zranitelností lze provádět z operačního systému pomocí neověřených obslužných rutin SMI (System Management Interrupt) a také ve fázi před spuštěním operačního systému během počátečních fází spouštění nebo návratu z režimu spánku. Všechny zranitelnosti jsou způsobeny problémy s pamětí a jsou rozděleny do tří kategorií:
- SMM Callout - provedení vašeho kódu s právy SMM přesměrováním provádění obslužných rutin přerušení SWSMI na kód mimo SMRAM;
- Poškození paměti, které umožňuje útočníkovi zapisovat svá data do SMRAM, speciální izolované oblasti paměti, ve které je spouštěn kód s právy SMM.
- Poškození paměti v kódu běžícím na úrovni DXE (Driver eXecution Environment).
Pro demonstraci principů organizace útoku byl zveřejněn příklad exploitu, který umožňuje prostřednictvím útoku z třetího nebo nulového okruhu ochrany získat přístup k DXE Runtime UEFI a spustit váš kód. Exploit manipuluje s přetečením zásobníku (CVE-2021-42059) v ovladači UEFI DXE. Během útoku může útočník umístit svůj kód do ovladače DXE, který zůstane aktivní i po restartu operačního systému, nebo provést změny v oblasti NVRAM SPI Flash. Během provádění může kód útočníka provádět změny v privilegovaných paměťových oblastech, upravovat služby EFI Runtime a ovlivnit proces spouštění.
Zdroj: opennet.ru