มีการค้นพบมัลแวร์ UEFI bootkit ตัวแรกที่มุ่งเป้าไปที่ระบบระบบปฏิบัติการ Linux โดยเฉพาะ ซึ่งถือเป็นการเปลี่ยนแปลงจากก่อนหน้านี้ที่มักจะมุ่งเป้าไปที่ระบบระบบปฏิบัติการ Windows ซึ่งภัยคุกคามแบบ bootkit มักจะแอบซ่อนได้ดี และถูกกำจัดได้ยาก
มัลแวร์ Linux ที่ชื่อว่า 'Bootkitty' เป็นมัลแวร์ที่ทำงานได้เฉพาะใน Ubuntu บางเวอร์ชัน และบางการตั้งค่าเท่านั้น โดยยังไม่ใช่การโจมตีเต็มรูปแบบที่ใช้สำหรับการโจมตีจริง
Bootkit เป็นมัลแวร์ที่ออกแบบมาเพื่อแพร่กระจายตัวในกระบวนการบูตของคอมพิวเตอร์ โดยที่ตัวมันเองจะเริ่มทำงานก่อนที่ระบบปฏิบัติการจะทำงาน ทำให้มันจะสามารถควบคุมระบบได้ในระดับ low level
ข้อดีของการใช้วิธีนี้คือ bootkit สามารถหลบเลี่ยงการตรวจจับของเครื่องมือด้าน Security ที่ทำงานในระดับ system level ได้ และสามารถปรับเปลี่ยน components ของระบบ หรือมีการเรียกใช้โค้ดที่เป็นอันตรายได้โดยไม่เสี่ยงที่จะถูกตรวจจับ
นักวิจัยจาก ESET ที่ค้นพบ Bootkitty เตือนว่า การค้นพบครั้งนี้เป็นการพัฒนาครั้งสำคัญของมัลแวร์ UEFI bootkit แม้ว่าผลกระทบจริงในขณะนี้จะยังไม่ร้ายแรงมาก
Linux bootkit กำลังถูกพัฒนาขึ้น
ESET ค้นพบ Bootkitty หลังจากตรวจสอบไฟล์ที่น่าสงสัย (bootkit.efi) ที่ถูกอัปโหลดไปยัง VirusTotal ในเดือนพฤศจิกายน 2024
จากการวิเคราะห์ ESET ยืนยันว่าเหตุการณ์นี้เป็นกรณีแรกของ Linux UEFI bootkit ที่สามารถหลีกเลี่ยงการตรวจสอบจาก kernel signature และเริ่มทำงานระหว่างกระบวนการบูตของระบบ
Bootkitty จะใช้ self-signed certificate ดังนั้นจะไม่ทำงานบนระบบที่มีการเปิดใช้งาน Secure Boot และจะมุ่งเป้าไปที่ระบบปฏิบัติการ Ubuntu บางรุ่นเท่านั้น
นอกจากนี้ การใช้ hardcoded offset และการจับคู่ byte-pattern ทำให้มันสามารถใช้งานได้บน GRUB และ kernel บางเวอร์ชันเท่านั้น จึงยังไม่สามารถใช้ในการโจมตีได้ในวงกว้าง
ESET ยังระบุว่า มัลแวร์นี้มีฟังก์ชันหลายตัวที่ยังไม่ได้ใช้งาน และมีการจัดการกับ kernel-version ได้ไม่ดีพอซึ่งอาจทำให้ระบบหยุดทำงาน
โดยลักษณะข้อบกพร่องของมัลแวร์ รวมถึงการที่ระบบ telemetry ของ ESET ยังไม่พบสัญญาณของ Bootkitty บนระบบที่ใช้งานจริง ทำให้นักวิจัยสรุปว่ามันยังอยู่ในขั้นตอนการพัฒนา
ความสามารถของ Bootkitty
ระหว่างกระบวนการบูต Bootkitty จะเชื่อมต่อกับ security authentication โปรโตคอลของ UEFI (EFI_SECURITY2_ARCH_PROTOCOL และ EFI_SECURITY_ARCH_PROTOCOL) เพื่อ bypass การตรวจสอบความสมบูรณ์ของ Secure Boot และมัลแวร์ bootkit จะเริ่มทำงานโดยไม่สนใจ security policies ว่ามีหรือไม่
ขั้นตอนถัดไปมันจะเชื่อมต่อกับฟังก์ชันต่าง ๆ ของ GRUB เช่น 'start_image' และ 'grub_verifiers_open' เพื่อควบคุมการตรวจสอบความสมบูรณ์ของ bootloader สำหรับไบนารี รวมถึง kernel ของ Linux โดยจะมีการปิด signature verification
จากนั้น Bootkitty จะสกัดกั้นกระบวนการ decompression ของ Linux kernel และเชื่อมต่อฟังก์ชัน 'module_sig_check' เพื่อบังคับให้ฟังก์ชันนี้ส่งคืนผลลัพธ์ที่เป็น success เสมอในระหว่างการตรวจสอบ kernel module ซึ่งทำให้มัลแวร์สามารถโหลดโมดูลที่เป็นอันตรายได้
นอกจากนี้ มันยังแทนที่ตัวแปรใน first environment ด้วยค่า 'LD_PRELOAD=/opt/injector.so' เพื่อให้ไลบรารีที่เป็นอันตราย ถูก inject เข้าไปใน processes ต่าง ๆ เมื่อระบบเริ่มทำงาน
กระบวนการทั้งหมดนี้ทิ้งหลักฐานหลายอย่างไว้ ทั้งที่ตั้งใจ และไม่ได้ตั้งใจ โดย ESET ระบุว่าเป็นอีกหนึ่งสัญญาณที่แสดงถึงมัลแวร์ Bootkitty ยังไม่สมบูรณ์
นักวิจัยยังสังเกตว่าผู้ใช้งานคนเดียวกันที่อัปโหลด Bootkitty ไปยัง VirusTotal ยังอัปโหลด kernel module ชื่อ 'BCDropper' แต่จากหลักฐานที่พบยังไม่สามารถเชื่อมโยงความเกี่ยวข้องกันได้อย่างแน่ชัด
โดย BCDropper จะปล่อยไฟล์ ELF ที่ชื่อ 'BCObserver' ซึ่งเป็น kernel module ที่มีฟังก์ชัน rootkit ที่ซ่อนไฟล์, processes และจะมีการเปิดพอร์ตบนระบบที่ถูกโจมตี
การค้นพบมัลแวร์ลักษณะนี้แสดงให้เห็นว่าผู้โจมตีกำลังพัฒนามัลแวร์สำหรับ Linux ซึ่งก่อนหน้านี้มีเฉพาะใน Windows เนื่องจากองค์กรต่าง ๆ หันมาใช้ระบบปฏิบัติการ Linux มากขึ้นเรื่อย ๆ
Indicators of Compromise - IoCs ที่เกี่ยวข้องกับ Bootkitty ได้ถูกแชร์ไว้ใน GitHub repository นี้ github.com
ที่มา : bleepingcomputer.com
You must be logged in to post a comment.