กูเกิลสาธิตบั๊ก Rowhammer มัลแวร์ควบคุมเครื่องได้เพราะบั๊กฮาร์ดแวร์ เจาะทะลุ sandbox ของ NaCl

by lew
10 March 2015 - 04:45

ทีม Project Zero ของกูเกิลเองสาธิตการใช้ช่องโหว่ "Rowhammer" (PDF) ที่ฮาร์ดแวร์ทำงานผิดพลาดเมื่อมีซอฟต์แวร์เข้าถึงหน่วยความจำตำแหน่งเดิมซ้ำๆ หลายๆ ครั้งทำให้สามารถเปลี่ยนค่าในแรมส่วนข้างๆ ของตำแหน่งหน่วยความจำที่เข้าถึงได้ โดยบั๊กนี้รายงานมาตั้งแต่ปีที่แล้วว่ามีผลกับโน้ตบุ๊กบางรุ่น แต่ยังไม่พบเดสก์ทอปที่ได้รับผลกระทบ และก่อนหน้านี้ยังไม่มีการรายงานถึงช่องทางเจาะระบบผ่านบั๊กนี้อย่างจริงจัง

การสาธิตแรกทีมงานทดสอบเจาะ NaCl ที่ใช้ใน Chrome เพราะ NaCl จะตรวจสอบโค้ดว่าปลอดภัยก่อนที่จะปล่อยให้โค้ดรัน โดยล็อกให้ส่วนของโค้ดนั้นอ่านได้อย่างเดียว แต่เมื่ออาศัยบั๊ก Rowhammer โปรแกรมที่รันผ่าน NaCl สามารถอ่านหน่วยความจำข้างๆ โค้ดที่ตรวจสอบมาแล้วซ้ำๆ จนกระทั่งคำสั่งที่ปลอดภัยกลายเป็นคำสั่งที่อันตราย ก่อนจะปล่อยให้รันต่อไป

ทีมงานพยายามลดความเสี่ยงของช่องโหว่นี้ด้วยการห้ามใช้คำสั่ง CLFLUSH ที่ใช้โจมตี Rowhammer นอกจากนี้โค้ดรุ่นใหม่ๆ ที่ใช้ PNaCl แทนที่ NaCl ธรรมดาจะโจมตีได้ยากขึ้นเพราะแฮกเกอร์ไม่สามารถควบคุมคำสั่งแอสเซมบลีโดยตรงได้

อีกแนวทางหนึ่งคือการยกระดับโปรแกรมทั่วไปให้ควบคุมเครื่องได้อย่างสมบูรณ์ ทีมงานอาศัยการอ่านค่า page table entry (PTE) เพื่อให้เปลี่ยนค่าจนกระทั่งตัวโปรแกรมสามารถอ่านและเขียนค่า PTE ของโปรเซสตัวเองได้ ส่งผลให้โปรแกรมสามารถเข้าถึงหน่วยความจำใดๆ ในเครื่องได้และเข้าควบคุมเครื่องในที่สุด

ทีมงานพบปัญหา Rowhammer ในโน้ตบุ๊ก 5 รุ่นจาก 8 รุ่นที่ทดสอบ โดยต้องใช้งานซีพียูและแรมบางรุ่นเท่านั้น ตอนนี้ยังไม่มีรายงานภาพรวมว่าโน้ตบุ๊กที่มีปัญหานี้จริงๆ เป็นส้ดส่วนเท่าใดของโน้ตบุ๊กในตลาด

เซิร์ฟเวอร์โดยทั่วไปไม่น่าจะได้รับผลกระทบจากบั๊กนี้เพราะระบบ ECC จะแก้ปัญหาให้โดยที่ตัวระบบปฎิบัติการไม่ทันได้รับรู้

ที่มา - Project Zero, ArsTechnica

Blognone Jobs Premium