กลุ่มนักวิจัยจากมหาวิทยาลัยเทคนิคแห่งกราซ (ออสเตรีย) ซึ่งก่อนหน้านี้เป็นที่รู้จักในด้านการพัฒนาวิธีการโจมตี
พบปัญหาในการใช้งานกลไกการทำนายแชนเนล (ตัวทำนายทิศทาง) ในแคชข้อมูลระดับแรกของ CPU (L1D) ซึ่งใช้ในการทำนายว่าแชนเนลแคชใดมีที่อยู่หน่วยความจำที่แน่นอน การเพิ่มประสิทธิภาพที่ใช้ในโปรเซสเซอร์ AMD ขึ้นอยู่กับการตรวจสอบ μ-tags (μTag) μTagคำนวณโดยใช้ฟังก์ชันแฮชเฉพาะกับที่อยู่เสมือน ในระหว่างการดำเนินการ กลไกการทำนายช่องสัญญาณจะใช้ μTag เพื่อกำหนดช่องแคชจากตาราง ดังนั้น μTag ช่วยให้โปรเซสเซอร์จำกัดตัวเองให้เข้าถึงเฉพาะช่องทางเฉพาะ โดยไม่ต้องค้นหาตัวเลือกทั้งหมด ซึ่งจะช่วยลดการใช้พลังงานของ CPU ลงอย่างมาก
ในระหว่างวิศวกรรมย้อนกลับของการใช้งานระบบทำนายช่องสัญญาณในโปรเซสเซอร์ AMD รุ่นต่างๆ ที่เปิดตัวตั้งแต่ปี 2011 ถึง 2019 มีการระบุเทคนิคการโจมตีช่องสัญญาณด้านข้างใหม่สองวิธี:
- Collide+Probe - อนุญาตให้ผู้โจมตีติดตามการเข้าถึงหน่วยความจำสำหรับกระบวนการที่ทำงานบนคอร์ CPU แบบลอจิคัลเดียวกัน สาระสำคัญของวิธีนี้คือการใช้ที่อยู่เสมือนที่ทำให้เกิดการชนกันในฟังก์ชันแฮชที่ใช้ในการคำนวณ μTag เพื่อติดตามการเข้าถึงหน่วยความจำ ต่างจากการโจมตี Flush+Reload และ Prime+Probe ที่ใช้กับโปรเซสเซอร์ Intel ตรงที่ Collide+Probe ไม่ได้ใช้หน่วยความจำที่ใช้ร่วมกันและทำงานโดยปราศจากความรู้เกี่ยวกับที่อยู่ทางกายภาพ
- โหลด+โหลดซ้ำ - ช่วยให้คุณกำหนดการติดตามการเข้าถึงหน่วยความจำบนคอร์ CPU ฟิสิคัลเดียวกันได้อย่างแม่นยำมาก วิธีการนี้ขึ้นอยู่กับข้อเท็จจริงที่ว่าเซลล์หน่วยความจำกายภาพสามารถอยู่ในแคช L1D ได้เพียงครั้งเดียวเท่านั้น เหล่านั้น. การเข้าถึงเซลล์หน่วยความจำเดียวกันด้วยที่อยู่เสมือนอื่นจะทำให้เซลล์ถูกขับออกจากแคช L1D ทำให้สามารถติดตามการเข้าถึงหน่วยความจำได้ แม้ว่าการโจมตีจะต้องอาศัยหน่วยความจำที่ใช้ร่วมกัน แต่ก็ไม่ได้ล้างบรรทัดแคช ทำให้สามารถโจมตีแบบซ่อนตัวซึ่งไม่ได้นำข้อมูลจากแคชระดับสุดท้าย
จากเทคนิค Collide+Probe และ Load+Reload นักวิจัยได้สาธิตสถานการณ์การโจมตีช่องทางด้านข้างหลายรูปแบบ:
- แสดงความเป็นไปได้ของการใช้วิธีการจัดช่องทางการสื่อสารทางอ้อมที่ซ่อนอยู่ระหว่างสองกระบวนการ ทำให้สามารถถ่ายโอนข้อมูลด้วยความเร็วสูงสุด 588 kB ต่อวินาที
- การใช้การชนกันใน μTag เป็นไปได้ที่จะลดเอนโทรปีสำหรับ ASLR (การสุ่มเค้าโครงพื้นที่ที่อยู่) ที่แตกต่างกัน และเลี่ยงการป้องกัน ASLR ในเคอร์เนลบนระบบ Linux ที่อัปเดตอย่างสมบูรณ์ ความเป็นไปได้ในการโจมตีเพื่อลดเอนโทรปี ASLR ทั้งจากแอปพลิเคชันผู้ใช้และการใช้โค้ด JavaScript ที่ดำเนินการในสภาพแวดล้อมแซนด์บ็อกซ์และโค้ดที่ทำงานในสภาพแวดล้อมของแขกอื่นจะปรากฏขึ้น
- ตามวิธี Collide+Probe การโจมตีได้ถูกนำมาใช้เพื่อกู้คืนคีย์การเข้ารหัสจากการใช้งานที่มีช่องโหว่ (ขึ้นอยู่กับ
T-โต๊ะ ) การเข้ารหัส AES - การใช้วิธี Collide+Probe เป็นช่องทางการรับข้อมูล การโจมตี Spectre จึงสามารถดึงข้อมูลส่วนตัวจากเคอร์เนลได้โดยไม่ต้องใช้หน่วยความจำที่ใช้ร่วมกัน
ช่องโหว่นี้เกิดขึ้นบนโปรเซสเซอร์ AMD ที่ใช้สถาปัตยกรรมไมโคร
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ และ Zen2
AMD ได้รับแจ้งปัญหานี้เมื่อวันที่ 23 สิงหาคม 2019 แต่จนถึงขณะนี้
ที่มา: opennet.ru