Udhaifu ambao ni ngumu kurekebisha katika GRUB2 unaokuruhusu kupita UEFI Secure Boot

Maelezo yamefichuliwa kuhusu udhaifu 8 katika bootloader ya GRUB2, ambayo hukuruhusu kukwepa utaratibu wa UEFI Secure Boot na kuendesha msimbo ambao haujathibitishwa, kwa mfano, kutekeleza programu hasidi inayoendesha katika kiwango cha bootloader au kernel.

Hebu tukumbuke kwamba katika usambazaji mwingi wa Linux, kwa uanzishaji ulioidhinishwa katika hali ya UEFI Secure Boot, safu ndogo ya shim hutumiwa, iliyosainiwa kwa digital na Microsoft. Safu hii huthibitisha GRUB2 kwa cheti chake chenyewe, ambacho huruhusu wasanidi programu wa usambazaji kutokuwa na kila kernel na sasisho la GRUB lililoidhinishwa na Microsoft. Udhaifu katika GRUB2 hukuruhusu kufikia utekelezaji wa nambari yako katika hatua baada ya uthibitishaji wa shim uliofaulu, lakini kabla ya kupakia mfumo wa uendeshaji, kuingia kwenye msururu wa uaminifu wakati hali ya Kuanzisha Salama inapotumika na kupata udhibiti kamili wa mchakato zaidi wa kuwasha, ikijumuisha kupakia OS nyingine, kurekebisha mfumo wa vipengele vya mfumo wa uendeshaji na bypass ulinzi wa Lockdown.

Kama ilivyo katika mazingira magumu ya BootHole ya mwaka jana, kusasisha bootloader haitoshi kuzuia tatizo, kwa kuwa mshambuliaji, bila kujali mfumo wa uendeshaji unaotumiwa, anaweza kutumia vyombo vya habari vya bootable na toleo la zamani la GRUB2, lililotiwa saini ya dijiti ili kuathiri UEFI Secure Boot. Tatizo linaweza tu kutatuliwa kwa kusasisha orodha ya ubatilishaji wa cheti (dbx, Orodha ya Ubatilishaji ya UEFI), lakini katika kesi hii uwezo wa kutumia media ya zamani ya usakinishaji na Linux utapotea.

Kwenye mifumo iliyo na programu dhibiti iliyo na orodha iliyosasishwa ya kubatilisha cheti, ni miundo iliyosasishwa pekee ya usambazaji wa Linux inaweza kupakiwa katika hali ya UEFI Secure Boot. Usambazaji utahitaji kusasisha visakinishi, vipakiaji vidhibiti, vifurushi vya kernel, programu dhibiti ya fwupd na safu ya shim, kutoa saini mpya za dijiti kwao. Watumiaji watahitajika kusasisha picha za usakinishaji na midia nyingine inayoweza bootable, na pia kupakia orodha ya ubatilishaji cheti (dbx) kwenye mfumo dhibiti wa UEFI. Kabla ya kusasisha dbx kwa UEFI, mfumo unabaki kuwa hatarini bila kujali usakinishaji wa masasisho kwenye OS. Hali ya udhaifu inaweza kutathminiwa kwenye kurasa hizi: Ubuntu, SUSE, RHEL, Debian.

Ili kutatua matatizo yanayotokea wakati wa kusambaza vyeti vilivyofutwa, katika siku zijazo imepangwa kutumia utaratibu wa SBAT (UEFI Secure Boot Advanced Targeting), msaada ambao umetekelezwa kwa GRUB2, shim na fwupd, na kuanzia sasisho zifuatazo zitakuwa. kutumika badala ya utendakazi uliotolewa na kifurushi cha dbxtool. SBAT iliundwa kwa pamoja na Microsoft na inahusisha kuongeza metadata mpya kwa faili zinazoweza kutekelezeka za vipengele vya UEFI, ambavyo ni pamoja na taarifa kuhusu mtengenezaji, bidhaa, kijenzi na toleo. Metadata iliyobainishwa imethibitishwa kwa saini ya dijiti na pia inaweza kujumuishwa katika orodha za vipengee vinavyoruhusiwa au visivyoruhusiwa vya UEFI Secure Boot. Kwa hivyo, SBAT itakuruhusu kudhibiti nambari za toleo la sehemu wakati wa kubatilisha bila hitaji la kuunda upya funguo za Boot Salama na bila kutoa saini mpya za kernel, shim, grub2 na fwupd.

Udhaifu uliotambuliwa:

  • CVE-2020-14372 - Kwa kutumia amri ya acpi katika GRUB2, mtumiaji aliyebahatika kwenye mfumo wa ndani anaweza kupakia meza za ACPI zilizobadilishwa kwa kuweka SSDT (Jedwali la Maelezo ya Mfumo wa Sekondari) kwenye saraka ya /boot/efi na kubadilisha mipangilio katika grub.cfg. Ijapokuwa hali ya Secure Boot inatumika, SSDT inayopendekezwa itatekelezwa na kernel na inaweza kutumika kuzima ulinzi wa LockDown ambao huzuia njia za bypass za UEFI Secure Boot. Kwa hivyo, mshambuliaji anaweza kufikia upakiaji wa moduli ya kernel yake au msimbo wa kuendesha kupitia utaratibu wa kexec, bila kuangalia saini ya dijiti.
  • CVE-2020-25632 ni ufikiaji wa kumbukumbu ya matumizi baada ya bure katika utekelezaji wa amri ya rmmod, ambayo hutokea wakati jaribio la kupakua moduli yoyote bila kuzingatia utegemezi unaohusishwa nayo. Athari hii haijumuishi uundaji wa matumizi ambayo yanaweza kusababisha utekelezaji wa msimbo kwa kupita uthibitishaji wa Uanzishaji Salama.
  • CVE-2020-25647 Andika nje ya mipaka katika kazi ya grub_usb_device_initialize() inayoitwa wakati wa kuanzisha vifaa vya USB. Tatizo linaweza kutumiwa kwa kuunganisha kifaa cha USB kilichoandaliwa maalum ambacho hutoa vigezo ambavyo ukubwa wake haufanani na ukubwa wa bafa iliyotengwa kwa miundo ya USB. Mshambulizi anaweza kufikia utekelezaji wa msimbo ambao haujathibitishwa katika Secure Boot kwa kuendesha vifaa vya USB.
  • CVE-2020-27749 ni kufurika kwa bafa katika chaguo za kukokotoa za grub_parser_split_cmdline(), ambayo inaweza kusababishwa na kubainisha viambajengo vikubwa kuliko KB 2 kwenye safu ya amri ya GRUB1. Athari hii huruhusu utekelezaji wa msimbo kukwepa Secure Boot.
  • CVE-2020-27779 - Amri ya cutmem inaruhusu mshambuliaji kuondoa anuwai ya anwani kutoka kwa kumbukumbu ili kukwepa Boot Salama.
  • CVE-2021-3418 - Mabadiliko kwenye shim_lock yaliunda vekta ya ziada kutumia uwezekano wa CVE-2020-15705 wa mwaka jana. Kwa kusakinisha cheti kilichotumika kutia sahihi GRUB2 katika dbx, GRUB2 iliruhusu kernel yoyote kupakiwa moja kwa moja bila kuthibitisha sahihi.
  • CVE-2021-20225 - Uwezekano wa kuandika data nje ya mipaka wakati wa kuendesha amri na idadi kubwa sana ya chaguo.
  • CVE-2021-20233 - Uwezekano wa kuandika data nje ya mipaka kwa sababu ya hesabu isiyo sahihi ya saizi ya bafa wakati wa kutumia nukuu. Wakati wa kuhesabu ukubwa, ilichukuliwa kuwa wahusika watatu walihitajika kuepuka quote moja, wakati kwa kweli nne zilihitajika.

Chanzo: opennet.ru

Kuongeza maoni