InsydeH2O-kehykseen perustuvan UEFI-laiteohjelmiston haavoittuvuuksia, jotka mahdollistavat koodin suorittamisen SMM-tasolla

InsydeH2O-kehyksessä, jota monet valmistajat käyttävät UEFI-laiteohjelmiston luomiseen laitteilleen (yleisin UEFI BIOS:n toteutus), on tunnistettu 23 haavoittuvuutta, jotka mahdollistavat koodin suorittamisen SMM (System Management Mode) -tasolla, jolla on korkeampi prioriteetti (Ring -2) kuin hypervisor-tilassa ja suojauksen nollarengas, ja rajoittamaton pääsy kaikkeen muistiin. Ongelma koskee UEFI-laiteohjelmistoa, jota käyttävät muun muassa Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel ja Bull Atos.

Haavoittuvuuksien hyödyntäminen edellyttää paikallista pääsyä järjestelmänvalvojan oikeuksin, mikä tekee ongelmista suosittuja toisen tason haavoittuvuuksina, joita käytetään järjestelmän muiden haavoittuvuuksien hyödyntämisen tai sosiaalisten manipulointimenetelmien käytön jälkeen. Pääsy SMM-tasolla mahdollistaa koodin suorittamisen tasolla, jota käyttöjärjestelmä ei hallitse ja jota voidaan käyttää laiteohjelmiston muokkaamiseen ja piilotetun haitallisen koodin tai rootkittien jättämiseen SPI Flashiin, joita käyttöjärjestelmä ei havaitse, sekä poistaa käytöstä käynnistysvaiheen vahvistuksen (UEFI Secure Boot , Intel BootGuard) ja hypervisoreihin kohdistuvat hyökkäykset virtuaalisten ympäristöjen eheyden tarkistamista koskevien mekanismien ohittamiseksi.

InsydeH2O-kehykseen perustuvan UEFI-laiteohjelmiston haavoittuvuuksia, jotka mahdollistavat koodin suorittamisen SMM-tasolla

Haavoittuvuuksia voidaan hyödyntää käyttöjärjestelmästä käyttämällä vahvistamattomia SMI-käsittelijöitä (System Management Interrupt) sekä käyttöjärjestelmän esisuoritusvaiheessa käynnistyksen tai lepotilasta palaamisen alkuvaiheessa. Kaikki haavoittuvuudet johtuvat muistiongelmista, ja ne on jaettu kolmeen luokkaan:

  • SMM Callout - koodisi suorittaminen SMM-oikeuksilla ohjaamalla SWSMI-keskeytyskäsittelijöiden suoritus SMRAM:n ulkopuolelle;
  • Muistin vioittuminen, jonka avulla hyökkääjä voi kirjoittaa tietonsa SMRAM-muistiin, joka on erityinen eristetty muistialue, jossa koodi suoritetaan SMM-oikeuksilla.
  • Muistin vioittuminen DXE (Driver eXecution Environment) -tasolla suoritettavassa koodissa.

Hyökkäyksen järjestämisen periaatteiden havainnollistamiseksi on julkaistu esimerkki hyväksikäytöstä, joka mahdollistaa suojauksen kolmannen tai nollarenkaan hyökkäyksen kautta päästä käsiksi DXE Runtime UEFI:ään ja suorittaa koodisi. Hyödyntäminen käsittelee pinon ylivuotoa (CVE-2021-42059) UEFI DXE -ohjaimessa. Hyökkäyksen aikana hyökkääjä voi sijoittaa koodinsa DXE-ohjaimeen, joka pysyy aktiivisena käyttöjärjestelmän uudelleenkäynnistyksen jälkeen, tai tehdä muutoksia SPI Flashin NVRAM-alueelle. Suorituksen aikana hyökkääjäkoodi voi tehdä muutoksia etuoikeutetuille muistialueille, muokata EFI Runtime -palveluita ja vaikuttaa käynnistysprosessiin.

Lähde: opennet.ru

Lisää kommentti