พบช่องโหว่ Zero-day บน VirtualBox ทำให้แฮกเกอร์สามารถรันโค้ดที่เป็นอันตรายบนเครื่องโฮสต์ได้!

ช่องโหว่ Zero-day บน VirtualBox ถูกค้นพบโดยนักวิจัยด้านความปลอดภัยชาวรัสเชีย Sergey Zelenyuk ซึ่งได้ออกมาเผยแพร่รายละเอียดทางเทคนิคและขั้นตอนการเจาะช่องโหว่อย่างละเอียด พร้อมทั้งโค้ดที่ใช้ในการเจาะอีกบน GitHub

ช่องโหว่นี้เกิดจากปัญหา memory corruption ทำให้มีผลต่อ Intel PRO / 1000 MT Desktop (82540EM) เป็น network card (E1000) เมื่อมีการตั้งค่าโหมดเน็ตเวิร์คเป็น NAT (Network Address Translation) ทำให้ Guest OS สามารถเข้าถึงระบบเครือข่ายภายนอก เพื่อรันโค้ดที่เป็นอันตรายบนระบบปฏิบัติการของเครื่องโฮสต์ได้

แฮกเกอร์จะใช้ประโยชน์จากช่องโหว่ E1000 ยกระดับสิทธิ์การเข้าถึงเป็น root/admin บน Guest OS ซึ่งทำให้แฮกเกอร์หลุดออกจากระบบ guest แล้วเข้าสู่ host ring3 เป็นเหตุให้แฮกเกอร์สามารถใช้เทคนิค escalate privileges เพื่อไปยัง ring 0 ผ่านทาง /dev/vboxdrv เข้าควบคุมระบบทั้งหมดได้

ช่องโหว่นี้มีผลกระทบกับ VirtualBox ตั้งแต่เวอร์ชั่น 5.2.20 ลงไป Zelenyuk ได้ทดสอบโจมตีช่องโหว่นี้บน Ubuntu 16.04 และ 18.04 ทั้ง x86 และ x64 สามารถดูวิดีโอสาธิตได้ที่ด้านล่าง

ที่มา VDO: The Hacker News

สำหรับวิธีการป้องกันยังไม่มีในตอนนี้ คงต้องรอให้ VirtualBox สร้างแพทช์เพื่อมาอุดช่องโหว่นี้ แนะนำให้ผู้ใช้เปลี่ยน netword card เป็น PCnet หรือ Paravirtualized Network แต่ถ้าหากไม่สามารถเปลี่ยนโหมด NAT ไปเป็นอย่างอื่นได้ ให้กลับไปใช้โหมดเดิมจะปลอดภัยมากกว่า

อย่างไรก็ตาม Zelenyuk ไม่ได้รายงานปัญหาช่องโหว่นี้ไปยัง Oracle แต่นำรายละเอียดทั้งหมดเกี่ยวกับช่องโหว่นี้ออกมาเผยแพร่ ทั้งนี้ก็เพราะว่า Zelenyuk ไม่พอใจกับการแก้ปัญหาด้านความปลอดภัย bug bounty ที่เขาเคยได้รายงานปัญหานี้ไปเมื่อปีที่แล้ว

สำหรับรายละเอียดทั้งหมดของช่องโหว่นี้สามารถดูได้ที่ VirtualBox E1000 Guest-to-Host Escape

ที่มา : The Hacker News