AMD ออกมาตรการลดผลกระทบ และอัปเดตเฟิร์มแวร์เพื่อแก้ไขช่องโหว่ระดับความรุนแรงสูง ที่สามารถถูกใช้เพื่อโหลด Microcode ของ CPU ที่เป็นอันตรายบนอุปกรณ์ที่ยังไม่ได้อัปเดตแพตช์
ช่องโหว่ด้านความปลอดภัย (CVE-2024-56161) มีสาเหตุมาจากความบกพร่องจากการตรวจสอบ Signature ที่ไม่เหมาะสมใน microcode patch loader ใน CPU ROM ของ AMD
ผู้ไม่หวังดีที่มีสิทธิ์ระดับผู้ดูแลระบบ สามารถใช้ช่องโหว่นี้ในการโจมตี โดยอาจส่งผลให้เกิดการสูญเสียการรักษาความลับ และความถูกต้องของข้อมูลในระบบของ guest ที่ทำงานภายใต้ AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP)
ตามแหล่งข้อมูลการพัฒนาของ AMD "SEV ทำหน้าที่แยก guest และ hypervisor ออกจากกัน ขณะที่ SEV-SNP เพิ่มการป้องกันความถูกต้องของหน่วยความจำ โดยสร้างสภาพแวดล้อมการทำงานที่แยกจากกัน เพื่อช่วยป้องกันการโจมตี hypervisor เช่น data replay, memory re-mapping และอื่น ๆ"
AMD ได้ออกมาตรการลดผลกระทบ โดยกำหนดให้มีการอัปเดต Microcode บนแพลตฟอร์มที่ได้รับผลกระทบทั้งหมด เพื่อป้องกันการเรียกใช้ Microcode ที่เป็นอันตราย
แพลตฟอร์มบางส่วนยังต้องการการอัปเดตเฟิร์มแวร์ SEV สำหรับการตรวจสอบความถูกต้องของ SEV-SNP โดยผู้ใช้งานต้องอัปเดตระบบ BIOS และรีบูตเครื่องเพื่อเปิดใช้งานการตรวจสอบมาตรการลดผลกระทบ
เพื่อยืนยันว่าได้ติดตั้งมาตรการลดผลกระทบอย่างถูกต้อง ให้ตรวจสอบว่าเวอร์ชันของ Microcode ตรงกับเวอร์ชันที่ระบุในตารางด้านล่างนี้
ทีมความปลอดภัยของ Google ระบุว่า "เราได้แสดงให้เห็นถึงความสามารถในการสร้างแพตช์ Microcode ที่เป็นอันตรายได้ตามต้องการบน CPU ตั้งแต่ Zen 1 ถึง Zen 4 ช่องโหว่นี้เกิดจากการที่ CPU ใช้ฟังก์ชันแฮชที่ไม่ปลอดภัยในการตรวจสอบ Signature สำหรับการอัปเดต Microcode"
ช่องโหว่นี้สามารถถูกใช้โดยผู้ไม่หวังดีเพื่อโจมตี Workloads การประมวลผลที่เป็นความลับที่ได้รับการป้องกันโดย AMD Secure Encrypted Virtualization เวอร์ชันล่าสุด (SEV-SNP) หรือเพื่อโจมตีระบบ Dynamic Root of Trust Measurement"
นักวิจัยด้านความปลอดภัยของ Google ซึ่งได้รับเครดิตในการค้นพบช่องโหว่ และรายงานช่องโหว่นี้ให้ AMD ทราบ ได้เผยแพร่ PoC สำหรับการโจมตี ซึ่งผ่านการทดสอบบน CPU AMD EPYC และ AMD Ryzen 9 โดยแสดงให้เห็นว่าผู้ไม่หวังดีสามารถสร้างแพตช์ Microcode ตามต้องการได้
PoC ของพวกเขาทำให้คำสั่ง RDRAND บนโปรเซสเซอร์ AMD Zen ที่มีช่องโหว่คืนค่าคงที่เป็น 4 เสมอ ซึ่งตั้งค่าสถานะ carry flag (CF) เป็น 0 ด้วยเช่นกัน ซึ่งแสดงให้เห็นถึงว่าค่าที่ส่งคืนไม่ถูกต้อง และทำให้มั่นใจว่าผู้ไม่หวังดีไม่สามารถใช้การโจมตีนี้ "เพื่อโจมตี Workloads การประมวลผลที่เป็นความลับที่ทำงานได้อย่างถูกต้อง"
สัปดาห์นี้ AMD ได้รับรายงานจาก Li-Chung Chiang ที่ NTU (National Taiwan University) ซึ่งอธิบายถึงการโจมตีแบบ side-channel ที่ใช้ cache-based ต่อ Secure Encrypted Virtualization (SEV) ที่ส่งผลกระทบต่อโปรเซสเซอร์ในศูนย์ข้อมูล (1st Gen ถึง 4th Gen AMD EPYC) และโปรเซสเซอร์แบบฝังตัว (AMD EPYC 3000/7002/7003/9004)
AMD แนะนำให้นักพัฒนาปฏิบัติตามแนวทางที่ดีที่สุดสำหรับการโจมตีแบบ prime and probe (เช่น อัลกอริธึมที่ใช้เวลาเท่ากัน) หลีกเลี่ยงการใช้ข้อมูลที่ขึ้นอยู่กับ secret-dependent และปฏิบัติตามคำแนะนำเกี่ยวกับการโจมตีประเภท Spectre
ที่มา : bleepingcomputer