Mga kahinaan sa GRUB2 na nagbibigay-daan sa iyong i-bypass ang UEFI Secure Boot

Naayos na ang 2 mga kahinaan sa GRUB7 bootloader na nagbibigay-daan sa iyong i-bypass ang mekanismo ng UEFI Secure Boot at patakbuhin ang hindi na-verify na code, halimbawa, ipatupad ang malware na tumatakbo sa antas ng bootloader o kernel. Bukod pa rito, mayroong isang kahinaan sa shim layer, na nagpapahintulot din sa iyo na i-bypass ang UEFI Secure Boot. Ang pangkat ng mga kahinaan ay pinangalanang Boothole 3, katulad ng mga katulad na problema na natukoy dati sa bootloader.

Upang i-troubleshoot ang mga problema sa GRUB2 at shim, magagamit ng mga distribusyon ang mekanismo ng SBAT (UEFI Secure Boot Advanced Targeting), na sinusuportahan para sa GRUB2, shim at fwupd. Ang SBAT ay binuo nang magkasama sa Microsoft at nagsasangkot ng pagdaragdag ng karagdagang metadata sa mga executable na file ng mga bahagi ng UEFI, na kinabibilangan ng impormasyon tungkol sa tagagawa, produkto, bahagi at bersyon. Ang tinukoy na metadata ay na-certify gamit ang isang digital na lagda at maaaring hiwalay na isama sa mga listahan ng pinapayagan o ipinagbabawal na mga bahagi para sa UEFI Secure Boot.

Karamihan sa mga distribusyon ng Linux ay gumagamit ng maliit na shim layer na digital na nilagdaan ng Microsoft para sa na-verify na pag-boot sa UEFI Secure Boot mode. Bine-verify ng layer na ito ang GRUB2 gamit ang sarili nitong certificate, na nagpapahintulot sa mga developer ng pamamahagi na hindi magkaroon ng bawat kernel at GRUB update na na-certify ng Microsoft. Ang mga kahinaan sa GRUB2 ay nagbibigay-daan sa iyo upang makamit ang pagpapatupad ng iyong code sa yugto pagkatapos ng matagumpay na pag-verify ng shim, ngunit bago i-load ang operating system, wedging sa chain of trust kapag aktibo ang Secure Boot mode at pagkakaroon ng ganap na kontrol sa karagdagang proseso ng boot, kabilang ang naglo-load ng isa pang OS, binabago ang operating system na mga bahagi ng system at i-bypass ang proteksyon ng Lockdown.

Upang ayusin ang mga problema sa bootloader, ang mga pamamahagi ay kailangang lumikha ng mga bagong panloob na digital na lagda at mag-update ng mga installer, bootloader, kernel package, fwupd firmware at shim layer. Bago ang pagpapakilala ng SBAT, ang pag-update sa listahan ng pagbawi ng certificate (dbx, UEFI Revocation List) ay isang kinakailangan para sa ganap na pagharang sa kahinaan, dahil ang isang attacker, anuman ang operating system na ginamit, ay maaaring gumamit ng bootable media na may lumang vulnerable na bersyon ng GRUB2, na na-certify ng isang digital signature, para ikompromiso ang UEFI Secure Boot .

Sa halip na bawiin ang isang lagda, pinapayagan ka ng SBAT na harangan ang paggamit nito para sa mga indibidwal na numero ng bersyon ng bahagi nang hindi kinakailangang bawiin ang mga susi para sa Secure Boot. Ang pagharang sa mga kahinaan sa pamamagitan ng SBAT ay hindi nangangailangan ng paggamit ng isang UEFI certificate revocation list (dbx), ngunit ginagawa sa antas ng pagpapalit ng panloob na key upang makabuo ng mga lagda at mag-update ng GRUB2, shim at iba pang boot artifact na ibinibigay ng mga distribusyon. Sa kasalukuyan, ang suporta ng SBAT ay naidagdag na sa pinakasikat na mga pamamahagi ng Linux.

Natukoy na mga kahinaan:

  • Ang CVE-2021-3696, CVE-2021-3695 ay mga heap-based na buffer overflow kapag nagpoproseso ng espesyal na idinisenyong PNG na mga imahe, na maaaring theoretically magamit upang isagawa ang attacker code at i-bypass ang UEFI Secure Boot. Nabanggit na ang problema ay mahirap pagsamantalahan, dahil ang paglikha ng isang gumaganang pagsasamantala ay nangangailangan ng pagsasaalang-alang sa isang malaking bilang ng mga kadahilanan at ang pagkakaroon ng impormasyon tungkol sa layout ng memorya.
  • CVE-2021-3697 - Isang buffer underflow sa JPEG image processing code. Ang pagsasamantala sa isyu ay nangangailangan ng kaalaman sa layout ng memorya at nasa halos parehong antas ng pagiging kumplikado ng isyu sa PNG (CVSS 7.5).
  • CVE-2022-28733 - Ang isang integer overflow sa grub_net_recv_ip4_packets() function ay nagpapahintulot sa rsm->total_len na parameter na maapektuhan sa pamamagitan ng pagpapadala ng isang espesyal na ginawang IP packet. Ang isyu ay minarkahan bilang ang pinaka-mapanganib sa mga kahinaang ipinakita (CVSS 8.1). Kung matagumpay na pinagsamantalahan, pinapayagan ng kahinaan na maisulat ang data sa kabila ng hangganan ng buffer sa pamamagitan ng paglalaan ng sadyang mas maliit na laki ng memorya.
  • CVE-2022-28734 - Single-byte buffer overflow kapag pinoproseso ang mga natanggal na HTTP header. Ang isang isyu ay maaaring magdulot ng katiwalian ng metadata ng GRUB2 (pagsusulat ng null byte pagkatapos lamang ng dulo ng buffer) kapag nag-parse ng mga espesyal na ginawang HTTP na kahilingan.
  • CVE-2022-28735 Ang isang isyu sa shim_lock verifier ay nagbibigay-daan sa pag-load ng non-kernel file. Maaaring gamitin ang kahinaan upang i-load ang mga hindi napirmahang kernel module o hindi na-verify na code sa UEFI Secure Boot mode.
  • CVE-2022-28736 Isang napalaya na memory access sa grub_cmd_chainloader() function sa pamamagitan ng rerun ng chainloader command, na ginagamit upang i-boot ang mga operating system na hindi sinusuportahan ng GRUB2. Ang pagsasamantala ay maaaring magresulta sa pagpapatupad ng code ng attacker kung matukoy ng attacker ang paglalaan ng memorya sa GRUB2
  • CVE-2022-28737 - Ang buffer overflow sa shim layer ay nangyayari sa handle_image() function kapag naglo-load at nagpapatupad ng mga ginawang EFI na imahe.

Pinagmulan: opennet.ru

Magdagdag ng komento