SLAM Attack ช่องโหว่ใหม่บน Spectre-based ส่งผลกระทบต่อ CPU ของ Intel, AMD และ Arm

นักวิจัยจาก Vrije Universiteit Amsterdam ได้เปิดเผยการโจมตีแบบ side-channel attack รูปแบบใหม่ ที่เรียกว่า SLAM ซึ่งสามารถถูกใช้เพื่อขโมยข้อมูลสำคัญจาก kernel memory บน CPU รุ่นปัจจุบัน และรุ่นต่อไปของ Intel, AMD และ Arm ได้

การโจมตีนี้เป็นการโจมตีแบบ end-to-end สำหรับ Spectre based โดยอาศัยฟีเจอร์ใหม่ใน CPU Intel ที่เรียกว่า Linear Address Masking (LAM) รวมถึงคุณลักษณะที่คล้ายกันจาก AMD ที่เรียกว่า Upper Address Ignore (UAI) และ Arm ที่เรียกว่า Top Byte Ignore (TBI)


นักวิจัยจาก VUSec ระบุว่า "การโจมตีแบบ SLAM ใช้ประโยชน์จาก unmasked gadgets เพื่อให้กระบวนการใน userland สามารถส่งข้อมูลจาก ASCII kernel" โดยเสริมว่า "สามารถใช้เพื่อขโมย root password hash จาก kernel memory ภายในเวลาไม่กี่นาที"

แม้ว่า LAM จะถูกนำเสนอเป็นฟีเจอร์ด้านความปลอดภัย แต่จากการศึกษานี้พบว่าในทางกลับกัน LAM กลับลดทอนความปลอดภัย และเพิ่มพื้นที่การโจมตีให้กับ Spectre อย่างมาก ส่งผลให้เกิดการโจมตีในลักษณะ transient execution ซึ่งใช้ speculative execution เพื่อดึงข้อมูลสำคัญผ่าน cache covert channel

Intel ได้ระบุในเอกสารเกี่ยวกับศัพท์เฉพาะทางของตนว่า "transient execution ใช้ประโยชน์จากผลข้างเคียงด้าน microarchitectural ของคำสั่ง transient ทำให้ผู้โจมตีสามารถเข้าถึงข้อมูลที่โดยปกติแล้วถูกห้ามโดยกลไกควบคุมการเข้าถึง"

สามารถดูวิดีโอสาธิตการโจมตี SLAM: Spectre based on Linear Addres Masking : https://www.youtube.com/watch?v=y4wZ-tREaNk

SLAM ได้รับการอธิบายว่าเป็นการโจมตีแบบ transient execution ครั้งแรกที่กำหนดเป้าหมายไปยัง CPU ในอนาคต โดย SLAM ใช้ประโยชน์จากช่องทางการส่งข้อมูลใหม่ที่อาศัยการแปลงที่อยู่ของ non-canonical address ซึ่งเอื้อต่อการใช้ประโยชน์จาก gadget Spectre ทั่วไปเพื่อส่งข้อมูลที่มีค่า ซึ่งการโจมตีนี้ส่งผลกระทบต่อ CPU ดังต่อไปนี้ :

ปัจจุบัน:

CPU AMD ที่มีช่องโหว่ CVE-2020-12965

ในอนาคต:

CPU Intel ที่รองรับ LAM (ทั้ง 4-level paging และ 5-level paging)
CPU AMD ที่รองรับ UAI และ 5-level paging
CPU Arm ที่รองรับ TBI และ 5-level paging

Arm ระบุในคำแนะนำ "CPU Arm ได้รับการแก้ไขเพื่อป้องกัน Spectre v2 และ BHB แล้ว และถือว่าเป็นความรับผิดชอบของซอฟต์แวร์ในการป้องกันตนเองจาก Spectre v1" "โดยเทคนิคการโจมตีนี้จะเพิ่มพื้นที่การโจมตีของช่องโหว่ที่มีอยู่ของ Spectre v2 หรือ BHB เท่านั้น โดยการเพิ่มจำนวนอุปกรณ์ที่สามารถใช้ประโยชน์ในการโจมตีได้"

ส่วน AMD ระบุถึงวิธีการลดผลกระทบเบื้องต้นใน Spectre v2 เพื่อจัดการกับช่องโหว่ SLAM ในขณะที่ Intel วางแผนที่จะให้คำแนะนำด้านซอฟต์แวร์ก่อนที่จะเปิดตัว Intel processors ในอนาคตที่รองรับ LAM ในระหว่างนี้ผู้ดูแลระบบที่ใช้ Linux ได้กำลังพัฒนาแพตช์เพื่อปิดการใช้งาน LAM โดยค่าเริ่มต้น

ผลการวิจัยนี้เกิดขึ้นหลังจากที่ VUSec เปิดเผยข้อมูลเกี่ยวกับวิธีการลดผลกระทบจากช่องโหว่เกือบสองเดือน ซึ่งเป็นแนวทางการแก้ปัญหาด้วยซอฟต์แวร์เท่านั้น เพื่อลดการโจมตีแบบ Transient Execution และ physical domain isolation โดยแบ่ง Last Level Cache (LLC) เพื่อให้ทุก security domain เข้าถึงส่วนต่าง ๆ ของ LLC ที่เฉพาะเจาะจง เพื่อกำจัดช่องทางการรั่วไหลข้อมูลแบบ Covert Channel ใน LLC

ที่มา : thehackernews