Mga kahuyangan sa UEFI firmware base sa InsydeH2O framework, nga nagtugot sa code execution sa SMM level

Sa InsydeH2O framework, nga gigamit sa daghang mga tiggama sa paghimo sa UEFI firmware alang sa ilang mga ekipo (ang labing komon nga pagpatuman sa UEFI BIOS), 23 ka mga kahuyangan ang giila nga nagtugot sa code nga ipatuman sa SMM (System Management Mode) nga lebel, nga adunay usa ka mas taas nga prayoridad (Ring -2) kay sa hypervisor mode ug zero ring sa proteksyon, ug adunay walay kutub nga access sa tanang memorya. Ang isyu makaapekto sa UEFI firmware nga gigamit sa mga tiggama sama sa Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel ug Bull Atos.

Ang pagpahimulos sa mga kahuyangan nanginahanglan og lokal nga pag-access sa mga katungod sa tagdumala, nga naghimo sa mga isyu nga popular isip mga kahuyang sa ikaduhang lebel, nga gigamit human sa pagpahimulos sa ubang mga kahuyangan sa sistema o sa paggamit sa mga pamaagi sa social engineering. Ang pag-access sa lebel sa SMM nagtugot kanimo sa pag-execute sa code sa usa ka lebel nga dili kontrolado sa operating system, nga magamit aron mabag-o ang firmware ug ibilin ang tinago nga malisyoso nga code o mga rootkit sa SPI Flash nga dili makit-an sa operating system, ingon man aron ma-disable ang pag-verify sa yugto sa boot (UEFI Secure Boot, Intel BootGuard) ug mga pag-atake sa mga hypervisors aron laktawan ang mga mekanismo sa pagsusi sa integridad sa mga virtual nga palibot.

Mga kahuyangan sa UEFI firmware base sa InsydeH2O framework, nga nagtugot sa code execution sa SMM level

Ang pagpahimulos sa mga kahuyangan mahimong ipahigayon gikan sa operating system gamit ang wala mapamatud-an nga SMI (System Management Interrupt) nga mga handler, ingon man sa pre-execution stage sa operating system sa panahon sa unang mga yugto sa booting o pagbalik gikan sa sleep mode. Ang tanan nga mga kahuyangan tungod sa mga problema sa memorya ug gibahin sa tulo ka mga kategorya:

  • SMM Callout - pagpatuman sa imong code nga adunay mga katungod sa SMM pinaagi sa pag-redirect sa pagpatuman sa SWSMI interrupt handler ngadto sa code gawas sa SMRAM;
  • Ang korapsyon sa memorya nga nagtugot sa usa ka tig-atake sa pagsulat sa ilang datos sa SMRAM, usa ka espesyal nga nahilit nga lugar sa panumduman diin ang code gipatuman uban ang mga katungod sa SMM.
  • Ang korapsyon sa memorya sa code nga nagdagan sa lebel sa DXE (Driver eXecution Environment).

Aron ipakita ang mga prinsipyo sa pag-organisar sa usa ka pag-atake, usa ka pananglitan sa usa ka pagpahimulos ang gipatik, nga nagtugot, pinaagi sa usa ka pag-atake gikan sa ikatulo o zero nga singsing sa proteksyon, nga maka-access sa DXE Runtime UEFI ug ipatuman ang imong code. Ang pagpahimulos nagmaniobra sa usa ka stack overflow (CVE-2021-42059) sa UEFI DXE driver. Atol sa pag-atake, ang tig-atake mahimong magbutang sa iyang code sa DXE driver, nga magpabiling aktibo human ma-restart ang operating system, o maghimog mga kausaban sa NVRAM area sa SPI Flash. Atol sa pagpatuman, ang code sa tig-atake makahimo og mga pagbag-o sa mga lugar nga adunay pribilehiyo nga memorya, pag-usab sa mga serbisyo sa EFI Runtime, ug makaapekto sa proseso sa boot.

Source: opennet.ru

Idugang sa usa ka comment