พบ bootloader GRUB2 มีช่องโหว่ แฮกเกอร์ฝังโค้ดโค้ดค้างในเครื่องได้

2020-07-30

บริษัทความปลอดภัย Eclypsium รายงานถึงช่องโหว่ของ GRUB2 ที่เป็น bootloader ยอดนิยมในลินุกซ์ ที่เปิดทางให้แฮกเกอร์สามารถฝังโค้ดข้ามการบูตได้ กลายเป็นมัลแวร์ที่ฝังตัวถาวรอยู่ในเครื่อง

กระบวนการบูตเครื่องคอมพิวเตอร์ยุคใหม่ จะตรวจสอบความถูกต้องของระบบปฎิบัติการที่กำลังโหลดขึ้นมา โดย UEFI จะตรวจสอบความถูกต้องของ bootloader จากนั้นตัว bootloader จึงตรวจสอบความถูกต้องของระบบปฎิบัติการ หากกระบวนการมีขั้นตอนใดมีช่องโหว่ก็จะเปิดทางให้คอมพิวเตอร์บูตขึ้นมาโดยมีมัลแวร์รันอยู่ทันทีได้

No Description

ภาพกระบวนการตรวจสอบโค้ดก่อนบูตจาก Eclypsium

ช่องโหว่ของ GRUB2 รอบนี้เป็นช่องโหว่จากการอ่านไฟล์คอนฟิก grub.cfg ที่ใช้ตัวสร้าง parser ภาษาเฉพาะอย่าง flex/bison ปรากฎว่าเมื่ออ่านแล้วพบความผิดพลาด เช่น โทเค็นยาวเกินไป จะเรียกมาโคร YY_FATAL_ERROR ที่แม้ชื่อจะระบุว่า fatal แต่ที่จริงแล้วกลับเพียงแค่พิมพ์ข้อความแสดงความผิดพลาดแล้วทำงานต่อ ไม่ยอมหยุดการทำงานโปรแกรม

ทาง Eclypsium ระบุว่าช่องโหว่นี้มีคะแนนร้ายแรงตาม CVSSv3.1 อยู่ที่ 8.2 คะแนน (CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H) ถือว่าร้ายแรงสูง ตอนนี้ทาง UEFI Forum ได้ออกไฟล์ยกเลิกการรับรอง (revocation list) เพื่อไม่ให้ GRUB2 ที่มีช่องโหว่รันได้ และผู้ผลิตลินุกซ์รายใหญ่ๆ ก็ออกอัพเดตให้ GRUB2 กันแล้ว เช่น Canonical และ Red Hat

ที่มา – Microsoft, Eclypsium