Ranljivosti v programski opremi UEFI, ki temelji na ogrodju InsydeH2O, ki omogoča izvajanje kode na ravni SMM

V ogrodju InsydeH2O, ki ga uporabljajo številni proizvajalci za ustvarjanje vdelane programske opreme UEFI za svojo opremo (najpogostejša izvedba UEFI BIOS), je bilo ugotovljenih 23 ranljivosti, ki omogočajo izvajanje kode na ravni SMM (način upravljanja sistema), ki ima višja prednost (Ring -2) kot način hipervizorja in ničelni obroč zaščite ter imajo neomejen dostop do celotnega pomnilnika. Težava vpliva na vdelano programsko opremo UEFI, ki jo uporabljajo proizvajalci, kot so Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel in Bull Atos.

Izkoriščanje ranljivosti zahteva lokalni dostop s skrbniškimi pravicami, zaradi česar so težave priljubljene kot ranljivosti drugega nivoja, ki se uporabljajo po izkoriščanju drugih ranljivosti v sistemu ali uporabi metod socialnega inženiringa. Dostop na ravni SMM vam omogoča izvajanje kode na ravni, ki je ne nadzoruje operacijski sistem, ki jo je mogoče uporabiti za spreminjanje vdelane programske opreme in puščanje skrite zlonamerne kode ali korenskih kompletov v SPI Flashu, ki jih operacijski sistem ne zazna, kot tudi za onemogočanje preverjanja v fazi zagona (UEFI Secure Boot, Intel BootGuard) in napade na hipervizorje, da zaobidejo mehanizme za preverjanje integritete virtualnih okolij.

Ranljivosti v programski opremi UEFI, ki temelji na ogrodju InsydeH2O, ki omogoča izvajanje kode na ravni SMM

Izkoriščanje ranljivosti je mogoče izvesti iz operacijskega sistema z uporabo nepreverjenih upravljavcev SMI (System Management Interrupt) kot tudi v fazi pred izvajanjem operacijskega sistema med začetnimi fazami zagona ali vrnitve iz načina mirovanja. Vse ranljivosti povzročajo težave s pomnilnikom in so razdeljene v tri kategorije:

  • SMM Callout - izvajanje vaše kode s pravicami SMM s preusmeritvijo izvajanja obdelovalcev prekinitev SWSMI na kodo zunaj SMRAM;
  • Poškodba pomnilnika, ki napadalcu omogoča, da zapiše svoje podatke v SMRAM, posebno izolirano pomnilniško območje, v katerem se koda izvaja s pravicami SMM.
  • Poškodba pomnilnika v kodi, ki se izvaja na ravni DXE (Driver eXecution Environment).

Za prikaz principov organiziranja napada je bil objavljen primer izkoriščanja, ki omogoča, da z napadom iz tretjega ali ničelnega obroča zaščite pridobite dostop do DXE Runtime UEFI in izvedete svojo kodo. Izkoriščanje manipulira s prelivanjem sklada (CVE-2021-42059) v gonilniku UEFI DXE. Med napadom lahko napadalec vstavi svojo kodo v gonilnik DXE, ki ostane aktiven po ponovnem zagonu operacijskega sistema, ali spremeni področje NVRAM v SPI Flash. Med izvajanjem lahko koda napadalca spremeni privilegirana področja pomnilnika, spremeni storitve EFI Runtime in vpliva na zagonski proces.

Vir: opennet.ru

Dodaj komentar