ช่องโหว่ใน GRUB2 ที่อนุญาตให้คุณข้าม UEFI Secure Boot

ช่องโหว่ 2 รายการได้รับการแก้ไขแล้วใน GRUB7 bootloader ซึ่งช่วยให้คุณสามารถข้ามกลไก UEFI Secure Boot และเรียกใช้โค้ดที่ไม่ได้รับการยืนยัน เช่น แนะนำมัลแวร์ที่ทำงานที่ bootloader หรือระดับเคอร์เนล นอกจากนี้ยังมีช่องโหว่ในเลเยอร์ shim ซึ่งทำให้คุณสามารถข้าม UEFI Secure Boot ได้ด้วย กลุ่มช่องโหว่นี้มีชื่อรหัสว่า Boothole 3 ซึ่งคล้ายกับปัญหาที่คล้ายกันซึ่งระบุไว้ก่อนหน้านี้ในโปรแกรมโหลดบูต

เพื่อแก้ไขปัญหาใน GRUB2 และ shim การแจกจ่ายจะสามารถใช้กลไก SBAT (UEFI Secure Boot Advanced Targeting) ซึ่งได้รับการสนับสนุนสำหรับ GRUB2, shim และ fwupd SBAT ได้รับการพัฒนาร่วมกับ Microsoft และเกี่ยวข้องกับการเพิ่มข้อมูลเมตาเพิ่มเติมให้กับไฟล์ปฏิบัติการของส่วนประกอบ UEFI ซึ่งรวมถึงข้อมูลเกี่ยวกับผู้ผลิต ผลิตภัณฑ์ ส่วนประกอบ และเวอร์ชัน ข้อมูลเมตาที่ระบุได้รับการรับรองด้วยลายเซ็นดิจิทัลและสามารถรวมแยกต่างหากในรายการส่วนประกอบที่อนุญาตหรือต้องห้ามสำหรับ UEFI Secure Boot

ลีนุกซ์รุ่นส่วนใหญ่ใช้ชั้นชิมขนาดเล็กที่เซ็นชื่อแบบดิจิทัลโดย Microsoft สำหรับการตรวจสอบการบูทในโหมด UEFI Secure Boot เลเยอร์นี้จะตรวจสอบ GRUB2 ด้วยใบรับรองของตัวเอง ซึ่งช่วยให้นักพัฒนาระบบแจกจ่ายไม่จำเป็นต้องมีเคอร์เนลและการอัปเดต GRUB ทุกตัวที่ได้รับการรับรองโดย Microsoft ช่องโหว่ใน GRUB2 ช่วยให้คุณสามารถดำเนินการโค้ดของคุณได้ในขั้นตอนหลังจากการตรวจสอบชิมสำเร็จ แต่ก่อนที่จะโหลดระบบปฏิบัติการ ให้เข้าสู่ห่วงโซ่แห่งความไว้วางใจเมื่อโหมด Secure Boot ทำงานและได้รับการควบคุมเต็มรูปแบบเหนือกระบวนการบูตเพิ่มเติม รวมถึง โหลด OS อื่น ปรับเปลี่ยนระบบส่วนประกอบของระบบปฏิบัติการ และบายพาสการป้องกัน Lockdown

เพื่อแก้ไขปัญหาใน bootloader การกระจายจะต้องสร้างลายเซ็นดิจิทัลภายในใหม่และอัปเดตตัวติดตั้ง, bootloader, แพ็คเกจเคอร์เนล, เฟิร์มแวร์ fwupd และเลเยอร์ shim ก่อนที่จะมีการเปิดตัว SBAT การอัปเดตรายการเพิกถอนใบรับรอง (dbx, UEFI Revocation List) ถือเป็นข้อกำหนดเบื้องต้นสำหรับการบล็อกช่องโหว่โดยสมบูรณ์ เนื่องจากผู้โจมตีไม่ว่าระบบปฏิบัติการที่ใช้จะเป็นใดก็ตาม สามารถใช้สื่อที่สามารถบู๊ตได้กับ GRUB2 เวอร์ชันเก่าที่มีช่องโหว่ ได้รับการรับรองโดยลายเซ็นดิจิทัล เพื่อประนีประนอม 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() ช่วยให้พารามิเตอร์ rsm->total_len ได้รับผลกระทบจากการส่งแพ็กเก็ต IP ที่สร้างขึ้นเป็นพิเศษ ปัญหานี้ถูกทำเครื่องหมายว่าเป็นจุดอ่อนที่อันตรายที่สุดที่นำเสนอ (CVSS 8.1) หากถูกโจมตีได้สำเร็จ ช่องโหว่จะทำให้ข้อมูลถูกเขียนเกินขอบเขตบัฟเฟอร์โดยการจัดสรรขนาดหน่วยความจำให้เล็กลงโดยเจตนา
  • CVE-2022-28734 - บัฟเฟอร์ไบต์เดี่ยวล้นเมื่อประมวลผลส่วนหัว HTTP ที่แยกออก ปัญหาอาจทำให้ข้อมูลเมตา GRUB2 เสียหาย (เขียนไบต์ว่างหลังจากสิ้นสุดบัฟเฟอร์) เมื่อแยกวิเคราะห์คำขอ HTTP ที่สร้างขึ้นเป็นพิเศษ
  • CVE-2022-28735 ปัญหาใน shim_lock verifier อนุญาตให้โหลดไฟล์ที่ไม่ใช่เคอร์เนล ช่องโหว่นี้สามารถใช้เพื่อโหลดโมดูลเคอร์เนลที่ไม่ได้ลงนามหรือรหัสที่ไม่ได้รับการยืนยันในโหมด UEFI Secure Boot
  • CVE-2022-28736 การเข้าถึงหน่วยความจำที่ว่างแล้วในฟังก์ชัน grub_cmd_chainloader() ผ่านการรันซ้ำของคำสั่ง chainloader ซึ่งใช้ในการบูตระบบปฏิบัติการที่ไม่รองรับโดย GRUB2 การใช้ประโยชน์อาจส่งผลให้เกิดการเรียกใช้โค้ดของผู้โจมตีหากผู้โจมตีสามารถระบุการจัดสรรหน่วยความจำใน GRUB2 ได้
  • CVE-2022-28737 - บัฟเฟอร์ล้นในชั้นชิมเกิดขึ้นในฟังก์ชัน handle_image() เมื่อโหลดและเรียกใช้อิมเมจ EFI ที่ประดิษฐ์ขึ้น

ที่มา: opennet.ru

เพิ่มความคิดเห็น