พบช่องโหว่ร้ายแรงใน Shim bootloader กระทบผู้ใช้งาน Linux หลายค่าย

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

Shim ถูกสร้างขึ้นเพราะอยากให้โปรเจ็คโอเพ่นซอร์สหรือ Linux ดิสโทรได้อาศัยประโยชน์จาก Secure Boot เพื่อป้องกันการลอบรันโค้ดหรือกิจกรรมที่ไม่ได้รับอนุญาตระหว่างการบูตเครื่อง แต่ก็ยังคงควบคุมฮาร์ดแวร์ได้ ทั้งนี้ Shim ได้รับการป้องกันด้วย Microsoft Key และเป็นที่ยอมรับใน UEFI Motherboard ส่วนใหญ่ โดยสามารถตรวจสอบถึงกระบวนการบูตในขั้นถัดไป เช่น การโหลด GRUB2 bootloader เป็นต้น

โดยช่องโหว่ CVE-2023-40547 เกิดขึ้นในส่วนการบูตอิมเมจผ่านทาง HTTP (httpboot.c) ไอเดียก็คือ Shim ต้องมีการจอง Buffer ให้ไฟล์ที่ได้รับผ่านทางโปรโตคอล HTTP หรือโปรโตคอลอื่น ซึ่งขนาดจะระบุใน HTTP header และนั่นเองคือจุดที่คนร้ายสามารถแทรกแซงบอกให้จองพื้นที่น้อยลงนำไปสู่การเกิด outs-of-bounds Write ได้ และทำให้เกิดการรันโค้ดได้ก่อนที่ OS จะถูกโหลดเข้ามา ลัดผ่านกระบวนการป้องกันของ Kernel

ช่องโหว่ถูกค้นพบโดยนักวิจัยจาก Microsoft ที่ชื่อ Bill Demirkapi ซึ่งเขาเผยถึงข้อมูลครั้งแรกในวันที่ 24 ม.ค. 2567 ซึ่งต่อมาผู้เชี่ยวชาญจาก Eclypsium ได้ออกมาขยายความเพิ่มเติมว่าช่องโหว่นี้ร้ายแรงอย่างไร โดยคนร้ายอาจมาจากระดับท้องถิ่ม เครือข่ายที่ติดกัน หรือจากทางไกล ด้วยการลอบดักจับทราฟฟิค HTTP ในขั้นตอนดังกล่าวเพื่อแทรกแซงกระบวนการ

สำหรับคนร้ายที่มีสิทธิ์เพียงพอในระดับท้องถิ่นสามารถแก้ไขค่าตัวแปร EFI หรือ EFI Partition โดยใช้ Live Linux USB เพื่อแก้ไขลำดับการบูตและโหลด shim ที่อันตรายแทน นำไปสู่การลอบรันโค้ดโดยไม่ต้องทำการปิด Secure Boot เลย ในกรณีคนร้ายอยู่ในเครือข่ายเดียวกันสามารถใช้ PXE โหลด shim อันตรายได้เช่นกันด้วยการใช้ช่องโหว่

Red Hat ผู้ดูแลโค้ดได้ทำการอัปเดตแก้ไขแล้วตั้งแต่ 5 ธันวาคม 2566 ซึ่ง Linux ใดที่ใช้ Shim และรองรับ Secure Boot ต้องนำโค้ดนี้ไปแก้ไข โดยมีหลายค่ายที่เกี่ยวข้องได้ออกประกาศแล้ว เช่น Red Hat, Ubuntu, Debian และ SUSE ผู้ดูแลต้องมองหา Shim เวอร์ชัน 15.8 ขึ้นไป

อย่างไรก็ตามทาง Eclypsium ได้ให้นำแนะนำเพิ่มเติมว่าผู้ดูแลต้องทำการอัปเดต UEFI Secure Boot DBX เพื่อเพิ่มค่า Hash ของ Shim เวอร์ชันที่มีช่องโหว่ และทำการ Sign เวอร์ชันที่แพตช์ด้วย Microsoft Key ด้วย โดยหลังจากอัปเกรต Shim 15.8 จะต้องใช้คำสั่ง ‘fwupdmgr update’ (fwupd) (รูปประกอบ) แต่ใน Linux หลายค่ายทำผ่าน GUI ก็ได้เช่นกัน

credit : BleepingComputer

ที่มา : https://www.bleepingcomputer.com/news/security/critical-flaw-in-shim-bootloader-impacts-major-linux-distros/

About nattakon

จบการศึกษา ปริญญาตรีและโท สาขาวิศวกรรมคอมพิวเตอร์ KMITL เคยทำงานด้าน Engineer/Presale ดูแลผลิตภัณฑ์ด้าน Network Security และ Public Cloud ในประเทศ ปัจจุบันเป็นนักเขียน Full-time ที่ TechTalkThai

Check Also

AWS Management Console สนับสนุน Sign-In พร้อมกันหลายบัญชีได้แล้ว

ล่าสุด AWS ผู้ให้บริการ Cloud ยักษ์ใหญ่ได้ประกาศสนับสนุนการใช้งาน Multi-Session หรือการเข้าถึง AWS Management Console ด้วยบัญชี AWS ได้พร้อมกันหลายบัญชี โดยผู้ใช้งานจะสามารถ Sign-In …

Merit Systems ระดมทุน 10 ล้านดอลลาร์ สร้างโมเดลเศรษฐศาสตร์ “ทุนนิยมโอเพนซอร์ส”

สตาร์ทอัพ Merit Systems ได้รับความสนใจอย่างมากหลังระดมทุนได้ถึง 10 ล้านเหรียญสหรัฐ ในรอบที่นำโดยนักลงทุนชั้นนำอย่าง a16z Crypto และ Blockchain Capital เพื่อสร้าง “ทุนนิยมโอเพนซอร์ส” โมเดลเศรษฐศาสตร์ใหม่ที่จะใหผลตอบแทนอย่างยุติธรรมแก่ผู้มีส่วนร่วมในโครงการซอฟต์แวร์โอเพนซอร์ส …