Mga kahinaan sa UEFI firmware batay sa InsydeH2O framework, na nagpapahintulot sa pagpapatupad ng code sa antas ng SMM

Sa InsydeH2O framework, na ginagamit ng maraming tagagawa upang lumikha ng UEFI firmware para sa kanilang kagamitan (ang pinakakaraniwang pagpapatupad ng UEFI BIOS), 23 mga kahinaan ang natukoy na nagpapahintulot sa code na maisagawa sa antas ng SMM (System Management Mode), na mayroong mas mataas na priyoridad (Ring -2) kaysa sa hypervisor mode at isang zero ring ng proteksyon, at pagkakaroon ng walang limitasyong access sa lahat ng memorya. Ang isyu ay nakakaapekto sa UEFI firmware na ginagamit ng mga manufacturer gaya ng Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel at Bull Atos.

Ang pagsasamantala sa mga kahinaan ay nangangailangan ng lokal na pag-access sa mga karapatan ng administrator, na ginagawang popular ang mga isyu bilang mga kahinaan sa pangalawang antas, na ginagamit pagkatapos ng pagsasamantala sa iba pang mga kahinaan sa system o ang paggamit ng mga pamamaraan ng social engineering. Ang pag-access sa antas ng SMM ay nagbibigay-daan sa iyo na magsagawa ng code sa isang antas na hindi kontrolado ng operating system, na maaaring magamit upang baguhin ang firmware at mag-iwan ng nakatagong malisyosong code o rootkit sa SPI Flash na hindi natukoy ng operating system, pati na rin upang huwag paganahin ang pag-verify sa yugto ng boot (UEFI Secure Boot , Intel BootGuard) at mga pag-atake sa mga hypervisor upang i-bypass ang mga mekanismo para sa pagsuri sa integridad ng mga virtual na kapaligiran.

Mga kahinaan sa UEFI firmware batay sa InsydeH2O framework, na nagpapahintulot sa pagpapatupad ng code sa antas ng SMM

Ang pagsasamantala sa mga kahinaan ay maaaring isagawa mula sa operating system gamit ang hindi na-verify na SMI (System Management Interrupt) handler, gayundin sa pre-execution stage ng operating system sa mga unang yugto ng booting o pagbabalik mula sa sleep mode. Ang lahat ng mga kahinaan ay sanhi ng mga problema sa memorya at nahahati sa tatlong kategorya:

  • SMM Callout - pagpapatupad ng iyong code na may mga karapatan sa SMM sa pamamagitan ng pag-redirect sa pagpapatupad ng mga humahawak ng interrupt na SWSMI sa code sa labas ng SMRAM;
  • Memory corruption na nagpapahintulot sa isang attacker na isulat ang kanilang data sa SMRAM, isang espesyal na nakahiwalay na lugar ng memorya kung saan ang code ay isinasagawa gamit ang mga karapatan ng SMM.
  • Pagkasira ng memorya sa code na tumatakbo sa antas ng DXE (Driver eXecution Environment).

Upang ipakita ang mga prinsipyo ng pag-aayos ng isang pag-atake, isang halimbawa ng pagsasamantala ay nai-publish, na nagbibigay-daan, sa pamamagitan ng isang pag-atake mula sa pangatlo o zero ring ng proteksyon, upang makakuha ng access sa DXE Runtime UEFI at isagawa ang iyong code. Ang pagsasamantala ay nagmamanipula ng isang stack overflow (CVE-2021-42059) sa UEFI DXE driver. Sa panahon ng pag-atake, maaaring ilagay ng attacker ang kanyang code sa DXE driver, na nananatiling aktibo pagkatapos ma-restart ang operating system, o gumawa ng mga pagbabago sa NVRAM area ng SPI Flash. Sa panahon ng pagpapatupad, ang attacker code ay maaaring gumawa ng mga pagbabago sa mga privileged memory area, baguhin ang mga serbisyo ng EFI Runtime, at makaapekto sa proseso ng boot.

Pinagmulan: opennet.ru

Magdagdag ng komento