Zraniteľnosti v UEFI firmvéroch na báze frameworku InsydeH2O, ktoré umožňujú vykonávať kód na úrovni SMM

Vo frameworku InsydeH2O, ktoré používajú mnohí výrobcovia na vytváranie UEFI firmvéru pre svoje zariadenia (najbežnejšia implementácia UEFI BIOS), bolo identifikovaných 23 zraniteľností, ktoré umožňujú vykonávanie kódu na úrovni SMM (System Management Mode), ktorá má vyššiu prioritu (Ring -2) ako hypervízor a nulový ochranný kruh a má neobmedzený prístup k celej pamäti. Problém sa týka UEFI firmvéru používaného takými výrobcami ako Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel a Bull Atos.

Na zneužitie zraniteľností je potrebný lokálny prístup s právami správcu, čo robí tieto problémy zraniteľnosťami druhého reťazca, ktoré sa používajú po zneužití iných zraniteľností v systéme alebo použití techník sociálneho inžinierstva. Prístup na úrovni SMM umožňuje vykonanie kódu na úrovni, ktorá nie je pod kontrolou operačného systému, čo môže byť využité na modifikáciu firmvéru a zanechanie skrytého malvéru alebo rootkitov v SPI Flash, ktoré nie sú detegovateľné operačným systémom, rovnako ako na deaktiváciu overovania počas štartu (UEFI Secure Boot, Intel BootGuard) a útoky na hypervízory na obídenie mechanizmov overovania integrity virtuálnych prostredí.

Zraniteľnosti v UEFI firmvéroch na báze frameworku InsydeH2O, ktoré umožňujú vykonávať kód na úrovni SMM

Zneužitie zraniteľností sa môže uskutočniť z operačného systému pomocou neoverených SMI spracovateľov (System Management Interrupt), ako aj v období pred vykonaním operačného systému počas počiatočných fáz zavádzania alebo návratu zo spánkového režimu. Všetky zraniteľnosti sú spôsobené problémami s pamäťou a sú rozdelené do troch kategórií:

  • SMM Callout — vykonávanie vlastného kódu s právami SMM cez presmerovanie vykonávania spracovateľov prerušenia SWSMI na kód mimo SMRAM;
  • Poškodenia pamäte, ktoré umožňujú útočníkovi zapísať svoje údaje do SMRAM, špeciálnej izolovanej oblasti pamäte, v ktorej sa vykonáva kód s právami SMM.
  • Poškodenie pamäte v kóde vykonávanom na úrovni DXE (Driver eXecution Environment).

Na demonštráciu princípov organizácie útoku bol zverejnený príklad exploit, ktorý umožňuje získať prístup k DXE Runtime UEFI a vykonať svoj kód prostredníctvom útoku z tretieho alebo nulového ochranného kruhu. Exploit manipuluje s pretečením zásobníka (CVE-2021-42059) v ovládači UEFI DXE. Počas útoku môže útočník umiestniť svoj kód do DXE-ovládača, ktorý si zachováva aktivitu po reštarte operačného systému, alebo upraviť oblasť NVRAM v SPI Flash. V priebehu vykonávania môže kód útočníka upravovať privilegované oblasti pamäte, modifikovať služby EFI Runtime a ovplyvniť proces spúšťania.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster