Chyby ve firmwaru UEFI založeném na frameworku InsydeH2O, který umožňuje spouštění kódu na úrovni SMM

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í.

Chyby ve firmwaru UEFI založeném na frameworku InsydeH2O, který umožňuje spouštění kódu na úrovni SMM

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

Přidat komentář