Ranjivosti u UEFI firmveru zasnovanom na InsydeH2O frameworku, koji omogućava izvršavanje koda na SMM nivou

U okviru InsydeH2O, koji mnogi proizvođači koriste za kreiranje UEFI firmvera za svoju opremu (najčešća implementacija UEFI BIOS-a), identifikovane su 23 ranjivosti koje omogućavaju izvršavanje koda na SMM (System Management Mode) nivou, koji ima viši prioritet (Ring -2) od režima hipervizora i nultog prstena zaštite, i ima neograničen pristup cijeloj memoriji. Problem utiče na UEFI firmver koji koriste proizvođači kao što su Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel i Bull Atos.

Za eksploataciju ranjivosti potreban je lokalni pristup sa administratorskim pravima, što probleme čini popularnim kao ranjivosti drugog reda, koje se koriste nakon eksploatacije drugih ranjivosti u sistemu ili upotrebe metoda društvenog inženjeringa. Pristup na SMM nivou vam omogućava da izvršite kod na nivou koji ne kontroliše operativni sistem, koji se može koristiti za modifikaciju firmvera i ostavljanje skrivenog zlonamernog koda ili rootkita u SPI Flash-u koje operativni sistem ne detektuje, kao i onemogućiti verifikaciju u fazi pokretanja (UEFI Secure Boot, Intel BootGuard) i napade na hipervizore radi zaobilaženja mehanizama za provjeru integriteta virtuelnih okruženja.

Ranjivosti u UEFI firmveru zasnovanom na InsydeH2O frameworku, koji omogućava izvršavanje koda na SMM nivou

Eksploatacija ranjivosti se može izvršiti iz operativnog sistema korišćenjem neproverenih SMI (System Management Interrupt) rukovalaca, kao i u fazi pre izvršenja operativnog sistema tokom početnih faza pokretanja ili vraćanja iz režima mirovanja. Sve ranjivosti su uzrokovane problemima s memorijom i podijeljene su u tri kategorije:

  • SMM Callout - izvršavanje vašeg koda sa SMM pravima preusmjeravanjem izvršavanja SWSMI rukovatelja prekida na kod izvan SMRAM-a;
  • Oštećenje memorije koje omogućava napadaču da zapiše svoje podatke u SMRAM, posebno izolirano memorijsko područje u kojem se izvršava kod sa SMM pravima.
  • Oštećenje memorije u kodu koji radi na nivou DXE (Driver eXecution Environment).

Kako bi se demonstrirali principi organizovanja napada, objavljen je primjer eksploatacije, koji omogućava da se napadom iz trećeg ili nultog prstena zaštite dobije pristup DXE Runtime UEFI i izvrši vaš kod. Eksploatacija manipuliše prekoračenjem steka (CVE-2021-42059) u UEFI DXE drajveru. Tokom napada, napadač može postaviti svoj kod u DXE drajver, koji ostaje aktivan nakon ponovnog pokretanja operativnog sistema, ili da izvrši promjene u NVRAM području SPI Flash-a. Tokom izvršavanja, kod napadača može napraviti promjene u privilegovanim memorijskim područjima, modificirati EFI Runtime usluge i utjecati na proces pokretanja.

izvor: opennet.ru

Dodajte komentar