Ranjivosti u UEFI firmwareu temeljenom na okviru InsydeH2O, dopuštajući izvršavanje koda na SMM razini

U okviru InsydeH2O, koji koriste mnogi proizvođači za izradu UEFI firmware-a za svoju opremu (najčešća implementacija UEFI BIOS-a), identificirane su 23 ranjivosti koje omogućuju izvršavanje koda na razini SMM (System Management Mode), koja ima viši prioritet (prsten -2) od načina rada hipervizora i nulti prsten zaštite te imaju neograničen pristup cjelokupnoj memoriji. Problem utječe na UEFI firmware koji koriste proizvođači kao što su Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel i Bull Atos.

Iskorištavanje ranjivosti zahtijeva lokalni pristup s administratorskim pravima, zbog čega su problemi popularni kao ranjivosti drugog reda, koje se koriste nakon iskorištavanja drugih ranjivosti u sustavu ili upotrebe metoda društvenog inženjeringa. Pristup na SMM razini omogućuje vam izvršavanje koda na razini koju operativni sustav ne kontrolira, a koji se može koristiti za izmjenu firmvera i ostavljanje skrivenog zlonamjernog koda ili rootkitova u SPI Flashu koje operativni sustav ne otkriva, kao i za onemogućavanje provjere u fazi pokretanja (UEFI Secure Boot , Intel BootGuard) i napade na hipervizore za zaobilaženje mehanizama za provjeru integriteta virtualnih okruženja.

Ranjivosti u UEFI firmwareu temeljenom na okviru InsydeH2O, dopuštajući izvršavanje koda na SMM razini

Iskorištavanje ranjivosti može se izvesti iz operativnog sustava pomoću neprovjerenih SMI (System Management Interrupt) rukovatelja, kao i u fazi predizvršenja operativnog sustava tijekom početnih faza pokretanja ili povratka iz stanja mirovanja. Sve ranjivosti uzrokovane su problemima s memorijom i podijeljene su u tri kategorije:

  • SMM Callout - izvršavanje vašeg koda sa SMM pravima preusmjeravanjem izvršenja SWSMI rukovatelja prekidima na kod izvan SMRAM-a;
  • Oštećenje memorije koje napadaču omogućuje zapisivanje svojih podataka u SMRAM, posebno izolirano memorijsko područje u kojem se kod izvršava sa SMM pravima.
  • Oštećenje memorije koda koji se izvodi na razini DXE (Driver eXecution Environment).

Kako bi se demonstrirali principi organiziranja napada, objavljen je primjer exploit-a koji omogućuje, putem napada iz trećeg ili nultog prstena zaštite, pristup DXE Runtime UEFI-ju i izvršavanje vašeg koda. Eksploatacija manipulira preljevom stoga (CVE-2021-42059) u UEFI DXE upravljačkom programu. Tijekom napada, napadač može postaviti svoj kod u DXE drajver, koji ostaje aktivan nakon ponovnog pokretanja operativnog sustava, ili napraviti promjene u NVRAM području SPI Flasha. Tijekom izvođenja napadački kod može mijenjati povlaštena memorijska područja, modificirati usluge EFI Runtime i utjecati na proces pokretanja.

Izvor: opennet.ru

Dodajte komentar