แฮกเกอร์ใช้มัลแวร์ Bootkitty โจมตีระบบ UEFI สำหรับ Linux
Last updated: 29 Nov 2024
64 Views
สรุปข้อมูล
พบแฮกเกอร์ใช้มัลแวร์ที่ทำงานบนระบบ Linux รุ่นใหม่ที่มีชื่อว่า 'Bootkitty' โดยใช้ในการโจมตีไปที่ UEFI ของระบบ Linux โดยเฉพาะ ซึ่งมัลแวร์ Bootkitty ได้รับการออกแบบมาเพื่อติดตั้งในกระบวนการบูตของคอมพิวเตอร์ โดยมัลแวร์จะทำงานก่อนที่ระบบปฏิบัติจะเริ่มทำงาน ทำให้สามารถควบคุมระบบ หลีกเลี่ยงระบบรักษาความปลอดภัย ปรับเปลี่ยนการตั้งค่าของระบบ และแทรกโค้ดที่เป็นอันตราย
รายละเอียดการโจมตี
รูปที่ 1: แสดงขั้นตอนการโจมตี
- เริ่มแรกแฮกเกอร์จะทำการส่งมัลแวร์ Bootkitty ผ่านช่องโหว่เข้าไปในระบบเป้าหมาย และทำการรีบูตเครื่อง เพื่อเริ่มการโจมตีผ่านกระบวนการบูตของระบบ UEFI
- จากนั้นระบบเริ่มทำงานจาก UEFI และโหลดข้อมูลจาก EFI System Partition ซึ่งเก็บไฟล์ที่จำเป็นสำหรับการบูต
- ต่อมาไฟล์ Shim (shimx64.efi) จะถูกเรียกใช้ และตรวจสอบ Bootloader ขั้นที่สอง ถ้า Bootloader ไม่ได้รับการยอมรับ ระบบจะเรียกใช้ MokManager (mmx64.efi) ที่ช่วยจัดการและลงทะเบียนใบรับรองหรือ Hash files
- ผู้ใช้งานจะถูกถามว่าต้องการลงทะเบียนใบรับรองหรือไม่ ถ้าผู้ใช้ปฏิเสธ ระบบจะหยุดกระบวนการ
- เมื่อผ่านการตรวจสอบมัลแวร์ Bootkitty (grubx64.efi) จะถูกโหลดมาแทน Bootloader โดยมัลแวร์ Bootkitty จะทำการแพตช์และโหลด GRUB2 เพื่อหลอกระบบว่าเป็นกระบวนการบูตปกติ
- มัลแวร์ Bootkitty จะติดตั้ง Hook ไปยัง Kernel และทำการปรับแก้แพตช์ Kernel ระหว่างกระบวนการบูต โดยใช้ฟังก์ชัน zstd_decompress_dctx เพื่อแก้ไขข้อมูลของ Kernel ให้เป็นไปตามที่มัลแวร์ต้องการ
- Kernel ที่ถูกแก้ไขจะถูกโหลดลงในหน่วยความจำ โดยมีการเพิ่มโค้ดที่เป็นอันตราย เช่น mod_sig_check เพื่อตรวจสอบลายเซ็นดิจิทัลของโมดูล หากลายเซ็นถูกต้อง จะอนุญาตให้โหลด Environment Variable (LD_PRELOAD) เพื่อVariable ดังกล่าวในการโหลดไฟล์ injector
- ในขั้นตอนสุดท้าย Kernel ที่ถูกแก้ไขจะไปทำการเรียกใช้กระบวนการ init และโหลดไฟล์ /opt/injector.so ซึ่งเป็นโค้ดอันตรายที่แฮกเกอร์ฝังไว้ เพื่อทำการโจมตีเพิ่มเติม เช่น ขโมยข้อมูลหรือเปิดช่องทางสำหรับการเข้าถึง
ผลกระทบจากการโจมตี
ผลกระทบจากการโจมตีจากมัลแวร์มัลแวร์ Bootkitty ส่งผลกระทบต่อองค์กรและผู้ใช้งานระบบ Linux ซึ่งแฮกเกอร์สามารถหลีกเลี่ยงการตรวจสอบลายเซ็นโมดูลของ Kernel ได้ ทำให้แฮกเกอร์สามารถโหลดโมดูลอันตรายเข้าสู่ระบบ ส่งผลให้ระบบถูกควบคุมหรือเปลี่ยนแปลงโดยไม่ได้รับอนุญาต เช่น backdoor ขโมยข้อมูล และเพิ่มสิทธิ์การเข้าถึง
สรุปการโจมตี
การโจมตีจากมัลแวร์มัลแวร์ Bootkitty เป็นการหลีกเลี่ยงการตรวจสอบลายเซ็นของโมดูลในระบบ Linux โดยแฮกเกอร์จะพยายามโหลดโมดูลอันตรายเข้าสู่ระบบ โดยการใช้ฟังก์ชันต่าง ๆ เช่น mod_verify_sig ในการตรวจสอบลายเซ็น ซึ่งสามารถ Bypass ได้ หากไม่ได้มีการตรวจสอบลายเซ็น โมดูลอันตรายที่โหลดเข้าสู่ระบบจะสามารถทำงานได้โดยไม่ถูกตรวจจับ ทำให้สามารถโจมตีเพิ่มเติมต่อเครื่องได้
การโจมตีจากมัลแวร์มัลแวร์ Bootkitty เป็นการหลีกเลี่ยงการตรวจสอบลายเซ็นของโมดูลในระบบ Linux โดยแฮกเกอร์จะพยายามโหลดโมดูลอันตรายเข้าสู่ระบบ โดยการใช้ฟังก์ชันต่าง ๆ เช่น mod_verify_sig ในการตรวจสอบลายเซ็น ซึ่งสามารถ Bypass ได้ หากไม่ได้มีการตรวจสอบลายเซ็น โมดูลอันตรายที่โหลดเข้าสู่ระบบจะสามารถทำงานได้โดยไม่ถูกตรวจจับ ทำให้สามารถโจมตีเพิ่มเติมต่อเครื่องได้
คำแนะนำ
- อัปเดต UEFI/BIOS ให้เป็นเวอร์ชันล่าสุด เพื่อป้องกันการโจมตีผ่านช่องโหว่
- จำกัดสิทธิ์ในการเข้าถึงการตั้งค่า UEFI โดยเฉพาะสิทธิ์ในการติดตั้งหรือโหลดโมดูล เพื่อป้องกันการโจมตีจากแฮกเกอร์
- เปิดใช้งาน Secure Boot ใน BIOS/UEFI
Indicators of Compromise (IoCs)
มัลแวร์ Bootkitty | |
SHA-256 | 35ADF3AED60440DA7B80F3C452047079E54364C1 |
BDDF2A7B3152942D3A829E63C03C7427F038B86D | |
E8AF4ED17F293665136E17612D856FA62F96702D |
แหล่งอ้างอิง
https://www.welivesecurity.com/en/eset-research/bootkitty-analyzing-first-uefi-bootkit-linux/