UEFI Secure Boot-ni chetlab o'tishga imkon beruvchi GRUB2 yuklovchisidagi muhim zaiflik

GRUB2 yuklagichida oshkor qilingan 8 ta zaiflik. Eng xavfli muammo (CVE-2020-10713), kod nomi BootHole, imkoniyat beradi UEFI Secure Boot mexanizmini chetlab o'ting va tasdiqlanmagan zararli dasturlarni o'rnating. Ushbu zaiflikning o'ziga xos xususiyati shundaki, uni yo'q qilish uchun GRUB2-ni yangilash etarli emas, chunki tajovuzkor elektron raqamli imzo bilan tasdiqlangan eski zaif versiyaga ega yuklanadigan mediadan foydalanishi mumkin. Buzg'unchi nafaqat Linuxni, balki boshqa operatsion tizimlarni, jumladan, tekshirish jarayonini buzishi mumkin Windows.

Muammoni faqat tizimni yangilash orqali hal qilish mumkin sertifikatni bekor qilish ro'yxati (dbx, UEFI Revocation List), lekin bu holda Linux bilan eski o'rnatish vositalaridan foydalanish imkoniyati yo'qoladi. Ba'zi uskunalar ishlab chiqaruvchilari allaqachon o'zlarining proshivkalariga bekor qilish sertifikatlarining yangilangan ro'yxatini kiritgan; bunday tizimlarda faqat Linux distributivlarining yangilangan tuzilmalari UEFI Secure Boot rejimida yuklanishi mumkin.

Distribyutsiyalardagi zaiflikni bartaraf etish uchun siz o'rnatuvchilarni, yuklash moslamalarini, yadro paketlarini, fwupd proshivkasini va shim qatlamini yangilashingiz, ular uchun yangi raqamli imzolarni yaratishingiz kerak bo'ladi. Foydalanuvchilar o'rnatish tasvirlari va boshqa yuklanadigan vositalarni yangilashlari, shuningdek, UEFI mikrodasturiga sertifikatni bekor qilish ro'yxatini (dbx) yuklashlari kerak bo'ladi. Dbx-ni UEFI-ga yangilashdan oldin, tizim yangilanishlarning OTda o'rnatilishidan qat'iy nazar zaif bo'lib qoladi.

Zaiflik sabab bo'lgan yuklash jarayonida ixtiyoriy kodni bajarish uchun ishlatilishi mumkin bo'lgan bufer to'lib ketishi.
Zaiflik grub.cfg konfiguratsiya fayli mazmunini tahlil qilishda yuzaga keladi, u odatda ESP (EFI tizim bo'limi) da joylashgan va administrator huquqlariga ega bo'lgan tajovuzkor tomonidan imzolangan shim va GRUB2 bajariladigan fayllarning yaxlitligini buzmasdan tahrirlanishi mumkin. Sababli xatolar konfiguratsiya parser kodida YY_FATAL_ERROR halokatli tahlil xatolari uchun ishlov beruvchi faqat ogohlantirishni ko'rsatdi, lekin dasturni tugatmadi. Zaiflik xavfi tizimga imtiyozli kirish zarurati bilan kamayadi; ammo, agar siz uskunaga jismoniy kirish imkoniga ega bo'lsangiz (agar o'zingizning ommaviy axborot vositalaridan yuklash mumkin bo'lsa) yashirin rootkitlarni joriy qilish uchun muammo kerak bo'lishi mumkin.

Ko'pgina Linux distributivlari kichikdan foydalanadi shim qatlami, Microsoft tomonidan raqamli imzolangan. Ushbu qatlam GRUB2 ni o'z sertifikati bilan tasdiqlaydi, bu esa tarqatish ishlab chiquvchilariga Microsoft tomonidan sertifikatlangan har bir yadro va GRUB yangilanishiga ega bo'lmaslik imkonini beradi. Zaiflik grub.cfg tarkibini o'zgartirish orqali shimni muvaffaqiyatli tekshirish bosqichida kodingiz bajarilishiga erishish imkonini beradi, lekin operatsion tizimni yuklashdan oldin, Secure Boot rejimi faol bo'lganda ishonch zanjiriga yopishib, to'liq nazoratni qo'lga kiritadi. keyingi yuklash jarayoni, jumladan, boshqa OTni yuklash, operatsion tizim komponentlarini o'zgartirish va himoyani chetlab o'tish Bekor qilish.

UEFI Secure Boot-ni chetlab o'tishga imkon beruvchi GRUB2 yuklovchisidagi muhim zaiflik

GRUB2 dagi boshqa zaifliklar:

  • CVE-2020-14308 β€” grub_malloc-da ajratilgan xotira maydoni hajmi tekshirilmaganligi sababli buferning to'lib ketishi;
  • CVE-2020-14309 - grub_squash_read_symlink-da butun sonning to'lib ketishi, bu ma'lumotlarning ajratilgan buferdan tashqarida yozilishiga olib kelishi mumkin;
  • CVE-2020-14310 - read_section_from_string ichida butun sonning to'lib ketishi, bu ajratilgan buferdan tashqarida ma'lumotlarni yozishga olib kelishi mumkin;
  • CVE-2020-14311 - grub_ext2_read_link-da butun sonning to'lib ketishi, bu ma'lumotlarning ajratilgan buferdan tashqarida yozilishiga olib kelishi mumkin;
  • CVE-2020-15705 β€” to'g'ridan-to'g'ri yuklash paytida Secure Boot rejimida shim qatlamisiz imzosiz yadrolarni yuklash imkonini beradi;
  • CVE-2020-15706 β€” funktsiyani ish vaqtida qayta aniqlashda allaqachon bo'shatilgan xotira maydoniga kirish (foydalanishdan keyin bepul);
  • CVE-2020-15707 β€” initrd o'lchamli ishlov beruvchida butun sonning to'lib ketishi.

uchun tuzatish paketi yangilanishlari chiqarildi Debian, Ubuntu, RHEL ΠΈ SUSE. GRUB2 uchun taklif qildi yamoqlar to'plami.

Manba: opennet.ru

a Izoh qo'shish