Az InsydeH2O keretrendszeren alapuló UEFI firmware biztonsági rései, amelyek lehetővé teszik az SMM szintű kódfuttatást

Az InsydeH2O keretrendszerben, amelyet sok gyártó használ az UEFI firmware létrehozására a berendezéseihez (az UEFI BIOS leggyakoribb megvalósítása), 23 biztonsági rést azonosítottak, amelyek lehetővé teszik a kód futtatását SMM (System Management Mode) szinten, amely rendelkezik egy magasabb prioritású (Ring -2), mint a hypervisor mód és nulla védelem, valamint korlátlan hozzáférés az összes memóriához. A probléma az olyan gyártók által használt UEFI firmware-t érinti, mint a Fujitsu, a Siemens, a Dell, a HP, a HPE, a Lenovo, a Microsoft, az Intel és a Bull Atos.

A sérülékenységek kihasználásához rendszergazdai jogokkal rendelkező helyi hozzáférés szükséges, ami a problémákat másodlagos sebezhetőségként teszi népszerűvé, amelyet a rendszer egyéb sérülékenységeinek kihasználása vagy a social engineering módszerek alkalmazása után használnak fel. Az SMM szintű hozzáférés lehetővé teszi olyan kód futtatását az operációs rendszer által nem szabályozott szinten, amely felhasználható a firmware módosítására és az SPI Flash-ben rejtett rosszindulatú kódok vagy rootkitek hagyására, amelyeket az operációs rendszer nem észlel, valamint letiltja az ellenőrzést a rendszerindítási szakaszban (UEFI Secure Boot, Intel BootGuard) és a hipervizorok elleni támadásokat a virtuális környezetek integritását ellenőrző mechanizmusok megkerülésére.

Az InsydeH2O keretrendszeren alapuló UEFI firmware biztonsági rései, amelyek lehetővé teszik az SMM szintű kódfuttatást

A sérülékenységek kihasználása végrehajtható az operációs rendszerből ellenőrizetlen SMI (System Management Interrupt) kezelők segítségével, valamint az operációs rendszer végrehajtás előtti szakaszában a rendszerindítás kezdeti szakaszában vagy az alvó üzemmódból való visszatéréskor. Minden sebezhetőséget memóriaproblémák okoznak, és három kategóriába sorolhatók:

  • SMM Callout – a kód végrehajtása SMM jogokkal az SWSMI megszakításkezelők végrehajtásának az SMRAM-on kívüli kódra való átirányításával;
  • Memóriasérülés, amely lehetővé teszi a támadók számára, hogy adataikat SMRAM-ba írják, egy speciális elkülönített memóriaterületre, amelyben a kód SMM-jogokkal fut le.
  • Memóriasérülés a DXE (Driver eXecution Environment) szinten futó kódban.

A támadások megszervezésének elveinek bemutatására egy példát tettek közzé egy exploitra, amely lehetővé teszi a harmadik vagy nulla védelmi gyűrű támadásán keresztül a DXE Runtime UEFI-hez való hozzáférést és a kód végrehajtását. A kihasználás manipulálja a verem túlcsordulást (CVE-2021-42059) az UEFI DXE illesztőprogramban. A támadás során a támadó elhelyezheti kódját a DXE illesztőprogramban, amely az operációs rendszer újraindítása után is aktív marad, vagy módosíthatja az SPI Flash NVRAM területét. A végrehajtás során a támadó kód módosíthatja a privilegizált memóriaterületeket, módosíthatja az EFI Runtime szolgáltatásokat, és befolyásolhatja a rendszerindítási folyamatot.

Forrás: opennet.ru

Hozzászólás