การโจมตีแบบ Rowhammer เป็นการใช้ประโยชน์จากช่องโหว่ในฮาร์ดแวร์ DRAM โดยทำให้เกิด “bit-flip” ในตำแหน่งที่เจาะจง ส่งผลให้ผู้โจมตีสามารถหลบเลี่ยงการแยกหน่วยความจำ (memory isolation) และเข้าควบคุมอุปกรณ์ได้ เดิมทีการโจมตีลักษณะนี้มักมุ่งเป้าไปที่ CPU และหน่วยความจำ DDR เช่น DDR4 แต่ผลวิจัยล่าสุดชี้ว่า GPU ของ NVIDIA ก็มีความเสี่ยงเช่นกัน เนื่องจากหน่วยความจำ GDDR6 ที่ใช้นั้นมีความเปราะบาง และอาจกระทบไปถึงระบบของ CPU โดยตรง
ทีมนักวิจัยอิสระ 2 กลุ่ม ได้แก่ “GDDRHammer” และ “GeForge” ได้ค้นพบวิธีใช้ช่องโหว่นี้กับการ์ดจอรุ่นใหม่ โดยสามารถใช้ bit-flip บนหน่วยความจำ GDDR6 ของ GPU NVIDIA เพื่อเข้าควบคุมหน่วยความจำของ CPU ได้ทั้งหมด การโจมตีนี้สามารถเกิดขึ้นกับการ์ดจอหลายรุ่น ตั้งแต่สถาปัตยกรรม Ampere ไปจนถึง Ada Lovelace
หากการโจมตีสำเร็จ ผู้โจมตีจะสามารถอ่านและเขียนข้อมูลในหน่วยความจำหลักของเครื่องได้ทั้งหมด โดยทั้งสองทีมยังได้พัฒนาเทคนิค Rowhammer แบบใหม่ที่ออกแบบมาสำหรับสถาปัตยกรรม GPU โดยเฉพาะ ทำให้เกิด bit-flip บน GDDR6 ได้ในอัตราที่สูงกว่าวิธีเดิมอย่างมาก
ขั้นตอนสำคัญของการโจมตีคือ การเล็งเป้าไปที่ตัวจัดการหน่วยความจำ (memory allocator) ของ GPU โดยใช้ bit-flip ที่ควบคุมได้ไปทำลาย page table ของ GPU เมื่อ page table ถูกแก้ไข ผู้โจมตีจะสามารถเข้าถึงหน่วยความจำของ CPU ได้แบบอ่าน/เขียนอิสระ ทำลายขอบเขตความปลอดภัยระหว่าง GPU กับระบบหลัก
ผลลัพธ์สุดท้ายคือการเข้าควบคุมระบบทั้งหมด (full system compromise) ผู้โจมตีสามารถแก้ไขหน่วยความจำได้ตามต้องการ และได้สิทธิ์ระดับ root โดยไม่ต้องผ่านซอฟต์แวร์ที่มีสิทธิ์สูงตามปกติ
ตัวอย่างการทดสอบพบว่า GPU อย่าง GeForce RTX 3060 เกิด bit-flip ได้ถึง 1,171 ครั้ง และ RTX 6000 “Ada” พบ 202 ครั้งจากการโจมตี
ปัจจุบันมีการทดสอบ GPU แล้วประมาณ 25 รุ่น โดยพบว่ามีเพียงบางรุ่นเท่านั้นที่มีความเสี่ยง อย่างไรก็ตาม มีแนวทางป้องกันอยู่ 2 วิธีหลัก ได้แก่
- เปิดใช้งาน IOMMU ใน BIOS เพื่อจำกัดขอบเขตการเข้าถึงหน่วยความจำของ GPU
- เปิดใช้งาน Error Correcting Code (ECC) บน GPU ซึ่ง NVIDIA รองรับผ่านคำสั่ง แต่จะทำให้หน่วยความจำใช้งานได้ลดลงและมีผลกระทบต่อประสิทธิภาพ
ที่น่าสนใจคือ GPU ที่ใช้หน่วยความจำ GDDR6X และ GDDR7 ไม่ได้รับผลกระทบ เนื่องจากการโจมตีนี้ใช้ได้เฉพาะกับ GDDR6 เท่านั้น
ที่มา: VideoCardz



