Zranitelnosti v UEFI firmwaru na bázi frameworku InsydeH2O umožňující spuštění kódu na úrovni SMM

Ve frameworku InsydeH2O, který používá mnoho výrobců k vytváření UEFI firmwaru pro svou techniku (nejčastější realizace UEFI BIOS), byly nalezeny 23 zranitelnosti, které umožňují vykonávání kódu na úrovni SMM (System Management Mode), která má vyšší prioritu (Ring -2) než hypervizor a nulový ochranný kroužek, a tedy má neomezený přístup k celé paměti. Tento problém se týká UEFI firmware používaného výrobci jako Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel a Bull Atos.

K využití těchto zranitelností je zapotřebí místní přístup s právy administrátora, což činí tyto problémy atraktivními jako druhotné zranitelnosti, které se využívají po exploataci jiných zranitelností v systému nebo využitím metod sociálního inženýrství. Přístup na úrovni SMM umožňuje vykonávat kód na úrovni, která není pod kontrolou operačního systému, což může být využito k modifikaci firmwaru a zanechání skrytého malwaru nebo rootkitů v SPI Flash, které nejsou detekovatelné operačním systémem, a také k deaktivaci verifikace během spouštění (UEFI Secure Boot, Intel BootGuard) a útokům na hypervizory za účelem obcházení mechanismů pro ověřování integrity virtuálních prostředí.

Zranitelnosti v UEFI firmwaru na bázi frameworku InsydeH2O umožňující spuštění kódu na úrovni SMM

Exploataci zranitelností lze provést z operačního systému pomocí neověřených SMI zpracovatelů (System Management Interrupt), stejně jako v době 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 ze spánkového režimu. Všechny zranitelnosti jsou způsobeny problémy s pamětí a jsou rozděleny do tří kategorií:

  • SMM Callout - vykonání vlastního kódu s právy SMM přesměrováním vykonávání zpracovatelů přerušení SWSMI na kód mimo SMRAM;
  • Poškození paměti, které umožňuje útočníkovi zapsat svá data do SMRAM, speciální izolované oblasti paměti, ve které se vykonává kód s právy SMM.
  • Poškození paměti v kódu, který se vykonává na úrovni DXE (Driver eXecution Environment).

Pro demonstraci principů organizace útoku byl publikován příklad exploit, který umožňuje získat přístup k DXE Runtime UEFI a vykonat svůj kód prostřednictvím útoku z třetího nebo nulového ochranného kruhu. 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 vložit svůj kód do DXE ovladače, který si uchová aktivitu po restartu operačního systému, nebo provést změny v oblasti NVRAM v SPI Flash. Během provádění může útočníkův kód měnit privilegované oblasti paměti, modifikovat služby EFI Runtime a ovlivnit proces bootování.

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