Project Zero ไล่ทดสอบเคอร์เนล MacOS ช่วงปลายปีที่ผ่านมา, แอปเปิลแก้ไม่ทันกำหนด 1 ช่องโหว่ ตัวอย่างเปิดเผยต่อสาธารณะแล้ว

by lew
4 March 2019 - 18:49

ช่องโหว่เคอร์เนล MacOS/iOS หรือ XNU (XNU is Not Unix) ตรวจพบโดย Project Zero ของกูเกิลช่วงปลายปีที่ผ่านมาจำนวน 8 รายการ (มี 1 รายการ แอปเปิลแพตช์ไปก่อนรายงาน) ถูกเปิดเผยออกมาในช่วงนี้ ปรากฎว่ามีหนึ่งช่องโหว่ที่แอปเปิลแพตช์ไม่ทันจนกระทั่งเลยกำหนด 90 ว้นจึงเปิดเผยช่องโหว่และตัวอย่างการโจมตีสู่สาธารณะ

รายการช่องโหว่แสดงให้เห็นว่า Project Zero ทดสอบระบบการป้องกันหน่วยความจำของเคอร์เนล โดยเฉพาะการจัดการความจำเสมือน (virtual memory) โดยเคอร์เนลควรสามารถป้องกันหน่วยความจำส่วนที่อ่านข้อมูลขึ้นมาแล้วได้

ช่องโหว่ที่ Project Zero พบ ทำให้แอปพลิเคชั่นมุ่งร้ายสามารถแก้ไขหน่วยความจำที่มองเห็นโดยแอปพลิเคชั่นอื่นได้ โดยข้ามกระบวนการป้องกันตามปกติของเคอร์เนล ช่องโหว่ประเภทเดียวกันนี้มีสองช่องโหว่ ช่องโหว่ก่อนหน้านี้คือ CVE-2019-6208 ถูกแก้ไขไปแล้วใน iOS 12.1.3

แต่ช่องโหว่อีกตัวที่อาศัยการเมาน์ไฟล์อิมเมจของ MacOS กลับแก้ไขไม่ทัน โดยแอปเปิลแจ้ง Project Zero ว่ากำลังแก้ไขแต่ยังไม่มีกำหนดการออกแพตช์ เมื่อครบ 90 วัน Project Zero จึงปล่อยตัวอย่างโค้ดสู่สาธารณะ

ทาง Project Zero กำหนดความร้ายแรงช่องโหว่เป็นระดับสูง แต่ตัวช่องโหว่ต้องอาศัยการ "สร้างแรงกดดัน" (pressure) ให้กับหน่วยความจำของระบบปฎิบัติการโดยจองหน่วยความจำขนาดใหญ่มาก และตัวอย่างของ Project Zero ก็ไม่ได้แสดงวิธีการใช้งานช่องโหว่ว่าในทางปฎิบัติ ช่องโหว่นี่จะนำไปสู่การโจมตีได้อย่างไร

ที่มา - Project Zero: 1726

Blognone Jobs Premium