การฝึกอบรมเดี่ยว: ช่องโหว่ Spectre-v2 ที่ส่งผลกระทบต่อ CPU ของ Intel

ความอ่อนแอ

นักวิจัยจาก Vrije Universiteit อัมสเตอร์ดัม ทำให้เป็นที่รู้จักผ่านทางโพสต์บล็อกถึง "การฝึกโซโล ตระกูลใหม่ของการโจมตี Spectre-v2 ที่ใช้ประโยชน์จากข้อบกพร่องในการคาดการณ์เชิงเก็งกำไรเพื่อทำลายขอบเขตความปลอดภัยระหว่างพื้นที่การดำเนินการที่มีสิทธิพิเศษและไม่มีสิทธิพิเศษ ซึ่งส่งผลโดยตรงต่อ CPU ของ Intel

เทคนิคใหม่ ๆ อนุญาตให้ดึงเนื้อหาที่ละเอียดอ่อนจากเคอร์เนล หรือไฮเปอร์ไวเซอร์ที่ความเร็วสูงสุด 17 KB ต่อวินาที แม้ในระบบที่ใช้งานมาตรการบรรเทาผลกระทบสมัยใหม่เช่น IBPB, eIBRS หรือ BHI_NO

Training Solo ใบหน้าใหม่ของ Spectre-v2 โผล่ออกมาอีกครั้งด้วยพลัง

นับตั้งแต่มีการค้นพบ Spectre-v2 ถือเป็นกลุ่มช่องโหว่ที่ยากที่สุดในการบรรเทาปัญหาเนื่องจากมีลักษณะคาดเดายากและ "การฝึกเดี่ยว» ปัญหาสำคัญที่ถูกนำเสนออีกครั้ง เนื่องจากไม่จำเป็นต้องมีโค้ดที่ควบคุมโดยผู้โจมตีเพื่อมีอิทธิพลต่อตัวทำนายสาขา แต่จะใช้ชิ้นส่วนโค้ดที่มีอยู่ (แกดเจ็ต) ภายในเคอร์เนลหรือไฮเปอร์ไวเซอร์เพื่อฝึกตัวทำนายจากพื้นที่ของผู้ใช้แทน

ผลงานของเราแสดงให้เห็นว่าผู้โจมตีสามารถควบคุมกระแสข้อมูลภายในโดเมนเดียวกันได้ (เช่น เคอร์เนล) และรั่วไหลความลับข้ามขอบเขตสิทธิ์ โดยช่วยฟื้นคืนสถานการณ์ Spectre-v2 แบบคลาสสิกได้โดยไม่ต้องพึ่งแซนด์บ็อกซ์อันทรงพลังอย่าง eBPF เราได้สร้างชุดทดสอบใหม่เพื่อวิเคราะห์ตัวทำนายสาขาในสถานการณ์การฝึกอบรมด้วยตนเอง

นักวิจัย ได้แสดงให้เห็นแล้วว่าการจัดการอุปกรณ์เหล่านี้ (เช่น การใช้ประโยชน์จากตัวกรอง SECCOMP ที่ใช้ cBPF) การดำเนินการเชิงเก็งกำไรสามารถเกิดขึ้นได้ ซึ่งรั่วไหลข้อมูลจากระบบที่มีสิทธิพิเศษ

โดยเทคนิคนี้เรียกว่า “การฝึกแบบรายบุคคล” ประวัติของผู้ทำนายสามารถเปลี่ยนแปลงได้ ของส้อม เพื่อให้เกิดการกระโดดที่ไม่ถูกต้องระหว่างการดำเนินการเชิงเก็งกำไรโดยมีเป้าหมายเพื่อรั่วไหลเนื้อหาหน่วยความจำผ่านผลข้างเคียงในแคช

ลอส การฝึกซ้อมการโจมตีเดี่ยวมีสามรูปแบบโดยแต่ละฝ่ายต่างก็มีจุดอ่อนที่ต่างกันไป:

  1.  การจัดการประวัติสาขาด้วยแกดเจ็ตเคอร์เนล:ใช้ประโยชน์จากการเรียกระบบเช่น SECCOMP โดยที่ตัวกรองสามารถทำให้เกิดการแตกแขนงการคาดเดาที่ผิดพลาด ส่งผลให้หน่วยความจำรั่วไหลในอัตรา 1,7 KB/s บน CPU Intel Tiger Lake และ Lion Cove
  2.  การชนกันของตัวชี้คำสั่ง (IP) ในบัฟเฟอร์การทำนายสาขา (BTB): ที่นี่ สาขาทางอ้อมสองสาขาที่แตกต่างกันสามารถมีอิทธิพลต่อกันได้หากที่อยู่ของสาขาเหล่านั้นชนกันในบัฟเฟอร์ ซึ่งทำให้ปลายทางที่คาดเดาได้เกิดการคาดเดาผิดพลาดได้
  3.  อิทธิพลระหว่างสาขาตรงและสาขาอ้อม: เทคนิคนี้ซึ่งใช้ช่องโหว่เฉพาะ 2024 ช่อง (CVE-28956-2025 (ITS) และ CVE-24495-60) เป็นเครื่องมือในการหาประโยชน์จากวิธีที่สาขาโดยตรงสามารถส่งผลต่อการคาดการณ์สาขาทางอ้อมได้ การใช้แนวทางนี้ สามารถกู้คืนแฮชรหัสผ่านรูทได้หลังจากรันคำสั่ง passwd -s ในเวลาเพียง XNUMX วินาที

งานของเรามุ่งเน้นไปที่การทำลายการแยกโดเมนโดยการออกแบบผ่านการโจมตีที่ฝึกตัวเอง อย่างไรก็ตาม ปัญหาฮาร์ดแวร์ที่ตรวจพบในชุดทดสอบของเรายังส่งผลต่อการนำการแยกตัวไปใช้ด้วย เนื่องจากถือว่าจะไม่ใช้สาขาโดยตรงในการฝึกสาขาทางอ้อม 

ผลกระทบและขอบเขตของช่องโหว่ใหม่

การโจมตี ส่งผลกระทบต่อซีพียู Intel หลากหลายรุ่นรวมถึงรุ่นยอดนิยมเช่น Coffee Lake, Tiger Lake, Ice Lake และ Rocket Lake รวมไปถึงเซิร์ฟเวอร์ Xeon รุ่นที่ 2 และ 3 นอกจากนี้ สถาปัตยกรรม Lunar Lake และ Arrow Lake ยังมีความเสี่ยงภายใต้ CVE-2025-24495 อีกด้วย

เพื่อลดการโจมตีเหล่านี้ Intel ได้เปิดตัวการอัปเดตไมโครโค้ดแล้ว ซึ่งแนะนำคำสั่งใหม่: IBHF (Indirect Branch History Fence) ซึ่งออกแบบมาเพื่อป้องกันการปนเปื้อนประวัติสาขา การเปลี่ยนแปลงนี้ต้องได้รับการนำไปใช้อย่างชัดเจนหลังจากโค้ดใดๆ ที่ส่งผลต่อตัวทำนายสาขา สำหรับ CPU รุ่นเก่า ขอแนะนำให้ใช้โซลูชันซอฟต์แวร์ที่ล้างประวัติด้วยตนเอง

ส่วนผู้พัฒนาเคอร์เนลของ Linux เริ่มรวมแพตช์เพื่อรับมือกับเทคนิคเหล่านี้แล้วรวมถึงมาตรการที่ย้ายการกระโดดทางอ้อมออกจากพื้นที่แคชที่ละเอียดอ่อนและการป้องกัน cBPF

ส่วน AMD ได้ยืนยันว่า เทคนิคเหล่านี้ ไม่ส่งผลกระทบต่อโปรเซสเซอร์ของคุณ- ARM ระบุว่าเฉพาะชิปรุ่นเก่าเท่านั้นที่ได้รับผลกระทบโดยไม่รองรับส่วนขยาย FEAT_CSV2_3 และ FEAT_CLRBHB

สุดท้ายนี้ หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม สามารถปรึกษารายละเอียด ในลิงค์ต่อไปนี้.