พวกเขาระบุการโจมตีรูปแบบใหม่ที่ส่งผลกระทบต่อโปรเซสเซอร์ Intel และ AMD

โลโก้ Bug Inside Intel

กลุ่มของ นักวิจัยจากมหาวิทยาลัยเวอร์จิเนียและแคลิฟอร์เนียได้นำเสนอการโจมตีรูปแบบใหม่ ไปยังโครงสร้างสถาปัตยกรรมขนาดเล็กของโปรเซสเซอร์ Intel และ AMD

วิธีการโจมตีที่เสนอ มีความเกี่ยวข้องกับการใช้แคชกลางของการดำเนินการขนาดเล็ก (micro-op cache) ในโปรเซสเซอร์ซึ่งสามารถใช้เพื่อดึงข้อมูลที่ตัดสินในระหว่างการดำเนินการคำสั่งเชิงคาดเดา

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

ตัวอย่างเช่นการใช้คำสั่ง LFENCE จะบล็อกการรั่วไหลในขั้นตอนหลังของการดำเนินการเก็งกำไร แต่ไม่ได้ป้องกันการรั่วไหลผ่านโครงสร้างสถาปัตยกรรมขนาดเล็ก

วิธีนี้มีผลกับโปรเซสเซอร์ Intel และ AMD รุ่นที่วางจำหน่ายตั้งแต่ปี 2011 รวมถึง Intel Skylake และ AMD Zen ซีพียูสมัยใหม่แบ่งคำสั่งโปรเซสเซอร์ที่ซับซ้อนออกเป็นไมโครปฏิบัติการแบบ RISC ที่ง่ายขึ้น ซึ่งแคชไว้ในแคชแยกต่างหาก

แคชนี้ โดยพื้นฐานแล้วแตกต่างจากแคชระดับบนสุดไม่สามารถเข้าถึงได้โดยตรงและทำหน้าที่เป็นบัฟเฟอร์สตรีมเพื่อเข้าถึงผลลัพธ์ของการถอดรหัสคำแนะนำ CISC ลงในโครงสร้างจุลภาคของ RISC ได้อย่างรวดเร็ว

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

แคช micro-op บนโปรเซสเซอร์ Intel ถูกแบ่งส่วนโดยสัมพันธ์กับเธรดของ CPU (Hyper-Threading) ในขณะที่โปรเซสเซอร์ AMD Zen ใช้แคชที่ใช้ร่วมกัน ซึ่งสร้างเงื่อนไขสำหรับการรั่วไหลของข้อมูลไม่เพียง แต่ภายในเธรดเดียวของการดำเนินการเท่านั้น แต่ยังรวมถึงระหว่างเธรดต่างๆใน SMT (การรั่วไหลของข้อมูลเป็นไปได้ระหว่างโค้ดที่รันบนคอร์ตรรกะที่แตกต่างกันของ CPU)

นักวิจัยได้เสนอวิธีการพื้นฐาน เพื่อตรวจจับการเปลี่ยนแปลงแคชของไมโครออปและสถานการณ์การโจมตีต่างๆที่อนุญาตให้สร้างช่องทางการส่งข้อมูลที่แอบแฝงและใช้รหัสที่มีช่องโหว่เพื่อกรองข้อมูลที่เป็นความลับทั้งภายในกระบวนการเดียว (ตัวอย่างเช่นเพื่อจัดระเบียบกระบวนการข้อมูลรั่วไหลเมื่อเรียกใช้ครั้งที่สาม -party code ในเอ็นจิน JIT และเครื่องเสมือน) และระหว่างเคอร์เนลและกระบวนการในพื้นที่ผู้ใช้

ด้วยการจัดเตรียมรูปแบบของการโจมตี Spectre โดยใช้แคช micro-op นักวิจัยสามารถบรรลุปริมาณงานที่ 965.59 Kbps โดยมีอัตราความผิดพลาด 0.22% และ 785.56 Kbps เมื่อใช้การแก้ไขข้อผิดพลาดในกรณีที่มีการรั่วไหลภายในหน่วยความจำเดียวกัน ที่อยู่. และระดับสิทธิ์

ด้วยการรั่วไหลซึ่งครอบคลุมระดับสิทธิ์ที่แตกต่างกัน (ระหว่างเคอร์เนลและพื้นที่ผู้ใช้) ปริมาณงานคือ 85,2 Kbps พร้อมการแก้ไขข้อผิดพลาดเพิ่มเติมและ 110,96 Kbps พร้อมอัตราข้อผิดพลาด 4%

เมื่อโจมตีโปรเซสเซอร์ AMD Zen ทำให้เกิดการรั่วไหลระหว่างคอร์ของ CPU แบบลอจิคัลที่แตกต่างกันปริมาณงานคือ 250 Kbps โดยมีอัตราข้อผิดพลาด 5,59% และ 168,58 Kbps พร้อมการแก้ไขข้อผิดพลาด เมื่อเทียบกับวิธี Spectre v1 แบบคลาสสิกการโจมตีใหม่เร็วขึ้น 2,6 เท่า

การลดการโจมตีด้วยแคช micro-op คาดว่าจะต้องมีการเปลี่ยนแปลงที่ลดประสิทธิภาพมากกว่าเมื่อเปิดใช้งานการป้องกัน Spectre

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

เช่นเดียวกับการโจมตีของ Spectre การจัดการการรั่วไหลของเคอร์เนลหรือกระบวนการอื่น ๆ จำเป็นต้องมีการเรียกใช้สคริปต์บางอย่าง (แกดเจ็ต) ในด้านของกระบวนการที่เป็นเหยื่อซึ่งนำไปสู่การดำเนินการตามคำสั่งเชิงคาดเดา

พบอุปกรณ์ดังกล่าวประมาณ 100 เครื่องในเคอร์เนลลินุกซ์และจะถูกลบออก แต่มักพบโซลูชันเพื่อสร้างอุปกรณ์เหล่านี้เช่นอุปกรณ์ที่เกี่ยวข้องกับการเปิดใช้โปรแกรม BPF ที่สร้างขึ้นเป็นพิเศษในเคอร์เนล

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


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา