UEFI Secure Boot-ийг тойрч гарах боломжийг олгодог GRUB2 дахь эмзэг байдал

GRUB2 ачаалагч дээр UEFI Secure Boot механизмыг тойрч гарах, баталгаажуулаагүй кодыг ажиллуулах, тухайлбал ачаалагч эсвэл цөмийн түвшинд ажиллаж байгаа хортой програмыг хэрэгжүүлэх боломжийг олгодог 7 эмзэг байдлыг зассан. Нэмж дурдахад, UEFI Secure Boot-ийг тойрч гарах боломжийг олгодог давхаргын нэг сул тал бий. Бүлэг эмзэг байдлын кодыг Boothole 3 гэж нэрлэсэн нь өмнө нь ачаалагч дээр илэрсэн ижил төстэй асуудлуудтай адил юм.

GRUB2 болон shim дээрх асуудлыг шийдвэрлэхийн тулд түгээлтүүд GRUB2, shim болон fwupd-д дэмжигддэг SBAT (UEFI Secure Boot Advanced Targeting) механизмыг ашиглах боломжтой болно. SBAT нь Майкрософт компанитай хамтран бүтээгдсэн бөгөөд үйлдвэрлэгч, бүтээгдэхүүн, бүрэлдэхүүн хэсэг, хувилбарын талаарх мэдээллийг агуулсан UEFI бүрэлдэхүүн хэсгүүдийн гүйцэтгэгдэх файлуудад нэмэлт мета өгөгдлийг нэмж оруулсан болно. Заасан мета өгөгдөл нь дижитал гарын үсгээр баталгаажсан бөгөөд UEFI Secure Boot-ийн зөвшөөрөгдсөн эсвэл хориотой бүрэлдэхүүн хэсгүүдийн жагсаалтад тусад нь оруулж болно.

Ихэнх Линуксийн түгээлтүүд нь UEFI Secure Boot горимд баталгаажсан ачааллыг хийхийн тулд Microsoft-ын тоон гарын үсэг бүхий жижиг давхаргыг ашигладаг. Энэ давхарга нь GRUB2-г өөрийн гэрчилгээгээр баталгаажуулдаг бөгөөд энэ нь түгээлтийн хөгжүүлэгчдэд цөм болон GRUB шинэчлэлт бүрийг Microsoft-оос баталгаажуулахгүй байх боломжийг олгодог. GRUB2-ийн эмзэг байдал нь танд кодыг амжилттай баталгаажуулсны дараа үйлдлийн системийг ачаалахаас өмнө аюулгүй ачаалах горим идэвхжсэн үед итгэлцлийн гинжин хэлхээнд орж, цаашдын ачаалах процессыг бүрэн хянах боломжийг олгодог. өөр үйлдлийн систем ачаалах, үйлдлийн системийн бүрэлдэхүүн хэсгүүдийн системийг өөрчлөх, түгжих хамгаалалтыг тойрч гарах.

Ачаалагчийн асуудлыг засахын тулд түгээлтүүд шинэ дотоод дижитал гарын үсэг үүсгэж, суулгагч, ачаалагч, цөмийн багц, fwupd програм хангамж, давхаргыг шинэчлэх шаардлагатай болно. SBAT-ийг нэвтрүүлэхээс өмнө халдагч нь ашигласан үйлдлийн системээс үл хамааран GRUB2-ийн хуучин эмзэг хувилбар бүхий ачаалах боломжтой медиаг ашиглаж болох тул гэрчилгээг хүчингүй болгох жагсаалтыг (dbx, UEFI Revocation List) шинэчлэх нь эмзэг байдлыг бүрэн хаах урьдчилсан нөхцөл байсан. UEFI Secure Boot-ийг зөрчихийн тулд дижитал гарын үсгээр баталгаажуулсан.

SBAT нь гарын үсгийг хүчингүй болгохын оронд Secure Boot-ын түлхүүрүүдийг хүчингүй болгохгүйгээр бие даасан бүрэлдэхүүн хэсгийн хувилбарын дугаарт ашиглахыг хориглох боломжийг танд олгоно. SBAT-ээр дамжуулан эмзэг байдлыг блоклох нь UEFI гэрчилгээг хүчингүй болгох жагсаалтыг (dbx) ашиглах шаардлагагүй бөгөөд гарын үсэг үүсгэх, GRUB2, shim болон түгээлтээс нийлүүлсэн бусад ачаалах эд ангиудыг шинэчлэхийн тулд дотоод түлхүүрийг солих түвшинд хийгддэг. Одоогоор SBAT-ийн дэмжлэгийг хамгийн алдартай Линукс түгээлтүүдэд аль хэдийн нэмсэн байна.

Тодорхойлогдсон сул талууд:

  • CVE-2021-3696, CVE-2021-3695 нь тусгайлан зохион бүтээсэн PNG зургуудыг боловсруулах үед бөөгнөрөлд суурилсан буфер халилт бөгөөд үүнийг онолын хувьд халдагчийн кодыг ажиллуулж, UEFI Secure Boot-г тойрч гарахад ашиглаж болно. Ажиллаж буй эксплоэйтийг бий болгох нь олон тооны хүчин зүйл, санах ойн байршлын талаархи мэдээллийн бэлэн байдлыг харгалзан үзэх шаардлагатай тул асуудлыг ашиглахад хэцүү гэдгийг тэмдэглэв.
  • CVE-2021-3697 - JPEG зураг боловсруулах кодын буфер дутуу байна. Асуудлыг ашиглахын тулд санах ойн зохион байгуулалтын талаархи мэдлэг шаардлагатай бөгөөд PNG асуудал (CVSS 7.5)-тай ижил төвшинд байна.
  • CVE-2022-28733 - grub_net_recv_ip4_packets() функцийн бүхэл тоо нь тусгайлан боловсруулсан IP пакет илгээснээр rsm->total_len параметрт нөлөөлөх боломжийг олгодог. Энэ асуудал нь танилцуулсан эмзэг байдлын хамгийн аюултай гэж тэмдэглэгдсэн (CVSS 8.1). Хэрэв амжилттай ашиглавал энэ эмзэг байдал нь санах ойн хэмжээг зориудаар бага хэмжээгээр хуваарилах замаар буферийн хязгаараас гадуур өгөгдлийг бичих боломжийг олгоно.
  • CVE-2022-28734 - Хуулбарласан HTTP толгойг боловсруулах үед нэг байт буфер халих. Асуудал нь тусгайлан боловсруулсан HTTP хүсэлтийг задлан шинжлэх үед GRUB2 мета өгөгдлийн эвдрэлд (буфер дууссаны дараа хоосон байт бичих) хүргэж болзошгүй.
  • CVE-2022-28735 shim_lock шалгагч дахь асуудал нь цөмийн бус файлыг ачаалах боломжийг олгодог. Энэ эмзэг байдлыг UEFI Secure Boot горимд гарын үсэг зураагүй цөмийн модулиуд эсвэл баталгаажуулаагүй кодыг ачаалахад ашиглаж болно.
  • CVE-2022-28736 Chainloader командыг дахин ажиллуулснаар grub_cmd_chainloader() функцэд аль хэдийн суллагдсан санах ойн хандалт нь GRUB2 дэмждэггүй үйлдлийн системийг ачаалахад ашиглагддаг. Хэрэв халдагч GRUB2-д санах ойн хуваарилалтыг тодорхойлох боломжтой бол мөлжлөг нь халдагчийн кодыг гүйцэтгэхэд хүргэж болзошгүй.
  • CVE-2022-28737 - Боловсруулсан EFI зургуудыг ачаалж, ажиллуулах үед handle_image() функцэд живэх давхарга дахь буфер халилт үүсдэг.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх