InsydeH2O raamistikul põhinevad UEFI püsivara haavatavused, mis võimaldavad koodi käivitamist SMM-i tasemel

InsydeH2O raamistikus, mida paljud tootjad kasutavad oma seadmete jaoks UEFI püsivara loomiseks (UEFI BIOS-i kõige levinum rakendus), on tuvastatud 23 haavatavust, mis võimaldavad koodi käivitada SMM (System Management Mode) tasemel, millel on kõrgem prioriteet (Ring -2) kui hüperviisori režiim ja nullkaitse ning piiramatu juurdepääs kogu mälule. Probleem mõjutab UEFI püsivara, mida kasutavad sellised tootjad nagu Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel ja Bull Atos.

Turvaaukude ärakasutamiseks on vaja administraatoriõigustega kohalikku juurdepääsu, mis muudab probleemid populaarseks teise astme turvaaukudena, mida kasutatakse pärast süsteemi muude turvaaukude ärakasutamist või sotsiaalse manipuleerimise meetodite kasutamist. Juurdepääs SMM-i tasemel võimaldab teil käivitada koodi tasemel, mida operatsioonisüsteem ei kontrolli, mida saab kasutada püsivara muutmiseks ja SPI Flashi peidetud pahatahtliku koodi või juurkomplektide jätmiseks, mida operatsioonisüsteem ei tuvasta, samuti keelata kontrollimine alglaadimisetapis (UEFI Secure Boot , Intel BootGuard) ja rünnakud hüperviisorite vastu, et vältida virtuaalkeskkondade terviklikkuse kontrollimise mehhanisme.

InsydeH2O raamistikul põhinevad UEFI püsivara haavatavused, mis võimaldavad koodi käivitamist SMM-i tasemel

Turvaauke saab ära kasutada nii operatsioonisüsteemist, kasutades kontrollimata SMI (System Management Interrupt) töötlejaid, kui ka operatsioonisüsteemi eelkäivitusfaasis alglaadimise või puhkerežiimist naasmise ajal. Kõik haavatavused on põhjustatud mäluprobleemidest ja jagunevad kolme kategooriasse:

  • SMM-i viitetekst – teie koodi täitmine SMM-õigustega, suunates SWSMI katkestuste töötlejate täitmise ümber SMRAM-i välisele koodile;
  • Mälu rikkumine, mis võimaldab ründajal kirjutada oma andmed SMRAM-i, mis on spetsiaalne isoleeritud mälupiirkond, kus kood käivitatakse SMM-õigustega.
  • Mälu rikumine DXE (Driver eXecution Environment) tasemel töötavas koodis.

Rünnaku korraldamise põhimõtete demonstreerimiseks on avaldatud näide ärakasutamisest, mis võimaldab kolmanda või nullkaitseringi rünnaku kaudu pääseda juurde DXE Runtime UEFI-le ja käivitada oma koodi. Ärakasutamine manipuleerib virna ülevooluga (CVE-2021-42059) UEFI DXE draiveris. Rünnaku ajal saab ründaja asetada oma koodi DXE draiverisse, mis jääb aktiivseks ka pärast operatsioonisüsteemi taaskäivitamist, või teha muudatusi SPI Flashi NVRAM alas. Käitamise ajal võib ründaja kood teha muudatusi privilegeeritud mälupiirkondades, muuta EFI Runtime teenuseid ja mõjutada alglaadimisprotsessi.

Allikas: opennet.ru

Lisa kommentaar