Recientemente Intel เปิดเผยช่องโหว่ใหม่สองช่องในโปรเซสเซอร์ของตัวเอง อีกครั้งหมายถึงรูปแบบต่างๆ จาก MDS ที่มีชื่อเสียง (Microarchitectural Data Sampling) และอยู่บนพื้นฐานของการประยุกต์ใช้วิธีการวิเคราะห์ของบุคคลที่สามกับข้อมูลในโครงสร้างจุลภาค นักวิจัยจากมหาวิทยาลัยมิชิแกนและ Vrije Universiteit Amsterdam (VUSec) พวกเขาค้นพบความเป็นไปได้ของการโจมตี
จากข้อมูลของ Intel สิ่งนี้ส่งผลกระทบต่อโปรเซสเซอร์เดสก์ท็อปและมือถือปัจจุบันเช่น Amber Lake, Kaby Lake, Coffee Lake และ Whisky Lake แต่ยังรวมถึง Cascade Lake สำหรับเซิร์ฟเวอร์
แคชเอาต์
คนแรกมีชื่อว่า L1D Eviction Sampling หรือ L1DES เรียกสั้น ๆ ว่า CacheOut จดทะเบียนเป็น "CVE-2020-0549" นี่คือสิ่งที่อันตรายที่สุดตั้งแต่นั้นมา อนุญาตให้จมบล็อกบรรทัดแคชที่บังคับให้ออกจากแคชระดับแรก (L1D) ในบัฟเฟอร์การเติมซึ่งควรว่างเปล่าในขั้นตอนนี้
ในการตรวจสอบข้อมูลที่ตกลงในบัฟเฟอร์ padding จะใช้วิธีการวิเคราะห์ของบุคคลที่สามที่เสนอไว้ก่อนหน้านี้ในการโจมตี MDS และ TAA (Transactional Asynchronous Abort)
สาระสำคัญของการป้องกัน MDS และ TAA ที่ดำเนินการก่อนหน้านี้พบว่าภายใต้เงื่อนไขบางประการข้อมูลจะถูกล้างโดยเฉพาะหลังจากการดำเนินการล้างข้อมูลดังนั้นวิธี MDS และ TAA จึงยังคงใช้ได้
เป็นผลให้ผู้โจมตีสามารถระบุได้ว่าข้อมูลที่ถูกย้ายจากแคชระดับบนสุด ในระหว่างการเรียกใช้งานแอปพลิเคชันที่เคยครอบครองแกนหลักของ CPU ปัจจุบันหรือแอปพลิเคชันที่ดำเนินการพร้อมกันในเธรดตรรกะอื่น ๆ (ไฮเปอร์เธรด) ในแกน CPU เดียวกัน (การปิดใช้งาน HyperThreading จะลดการโจมตีอย่างไม่มีประสิทธิภาพ)
ไม่เหมือนกับการโจมตี L1TF L1DES ไม่อนุญาตให้เลือกที่อยู่ทางกายภาพที่เฉพาะเจาะจง สำหรับการตรวจสอบ แต่อนุญาตให้มีการตรวจสอบกิจกรรมแบบพาสซีฟในลำดับตรรกะอื่น ๆ เกี่ยวข้องกับการโหลดหรือจัดเก็บค่าในหน่วยความจำ
ทีม VUSec ปรับวิธีการโจมตี RIDL สำหรับช่องโหว่ L1DES และยังมีต้นแบบการใช้ประโยชน์จากการใช้ประโยชน์ซึ่งจะข้ามวิธีการป้องกัน MDS ที่ Intel เสนอโดยอิงตามการใช้คำสั่ง VERW เพื่อล้างเนื้อหาของบัฟเฟอร์ microarchitecture เมื่อกลับจากเคอร์เนลไปยังพื้นที่ผู้ใช้หรือเมื่อโอนการควบคุม ไปยังระบบแขก
นอกจากนี้ยัง ZombieLoad ได้อัปเดตวิธีการโจมตีด้วยช่องโหว่ L1DES
ในขณะที่นักวิจัยของมหาวิทยาลัยมิชิแกนได้พัฒนาวิธีการโจมตีของตนเอง CacheOut ที่ช่วยให้คุณสามารถดึงข้อมูลที่ละเอียดอ่อนออกจากเคอร์เนลของระบบปฏิบัติการเครื่องเสมือนและพื้นที่ปลอดภัย SGX วิธีนี้อาศัยการปรับแต่งกับ TAA เพื่อกำหนดเนื้อหาของบัฟเฟอร์การเติมหลังจากข้อมูลรั่วไหลจากแคช L1D
VRS
ช่องโหว่ที่สองคือ Vector Register Sampling (VRS) ตัวแปรของ RIDL (Rogue In-Flight Data Load) ซึ่งก็คือ ที่เกี่ยวข้องกับการรั่วไหลของ Store Buffer ของผลลัพธ์ของการดำเนินการอ่านทะเบียนเวกเตอร์ที่แก้ไขระหว่างการดำเนินการคำสั่งเวกเตอร์ (SSE, AVX, AVX-512) บนแกน CPU เดียวกัน
การรั่วไหลเกิดขึ้นในสถานการณ์ที่ค่อนข้างหายาก และเกิดจากความจริงที่ว่าการดำเนินการเก็งกำไรซึ่งนำไปสู่การสะท้อนสถานะของเร็กคอร์ดเวกเตอร์ในบัฟเฟอร์หน่วยเก็บข้อมูลล่าช้าและสิ้นสุดลงหลังจากล้างบัฟเฟอร์แล้วและไม่เกิดขึ้นก่อนหน้านี้ คล้ายกับช่องโหว่ L1DES เนื้อหาของบัฟเฟอร์การจัดเก็บสามารถกำหนดได้โดยใช้วิธีการโจมตีของ MDS และ TAA
อย่างไรก็ตาม ตามที่ Intel ไม่น่าจะถูกใช้ประโยชน์ได้ เนื่องจากถูกจัดว่าซับซ้อนเกินกว่าที่จะทำการโจมตีจริง และกำหนดระดับความอันตรายขั้นต่ำด้วยคะแนน 2.8 CVSS
แม้ว่านักวิจัยของกลุ่ม VUSec ได้เตรียมต้นแบบการใช้ประโยชน์ที่ช่วยให้คุณสามารถกำหนดค่าของการลงทะเบียนเวกเตอร์ที่ได้รับอันเป็นผลมาจากการคำนวณในลำดับตรรกะอื่นของแกน CPU เดียวกัน
CacheOut มีความเกี่ยวข้องอย่างยิ่งสำหรับผู้ให้บริการระบบคลาวด์เนื่องจากกระบวนการโจมตีสามารถอ่านข้อมูลนอกเหนือจากเครื่องเสมือนได้
ในที่สุด Intel สัญญาว่าจะปล่อยอัพเดตเฟิร์มแวร์ ด้วยการใช้กลไกเพื่อป้องกันปัญหาเหล่านี้