การโจมตี Foreshadow ใหม่ส่งผลกระทบต่อโปรเซสเซอร์ Intel, AMD, IBM และ ARM

กลุ่มของ นักวิจัยจากมหาวิทยาลัยเทคโนโลยีกราซ ในออสเตรีย และศูนย์ความปลอดภัยของข้อมูล Helmholtz (CISPA) ได้ระบุเวกเตอร์การโจมตีของ Foreshadow ใหม่ (L1TF) ซึ่งช่วยให้คุณสามารถดึงข้อมูลจากหน่วยความจำของ Intel SGX enclaves, SMMs, พื้นที่หน่วยความจำเคอร์เนลของระบบปฏิบัติการและเครื่องเสมือนในระบบเวอร์ชวลไลเซชัน

ไม่เหมือนกับการโจมตี Foreshadow แบบเดิม ตัวแปรใหม่ไม่เฉพาะเจาะจงสำหรับโปรเซสเซอร์ Intel และมีผลต่อ ซีพียูจากผู้ผลิตรายอื่นเช่น ARM, IBM และ AMD นอกจากนี้ตัวเลือกใหม่ไม่ต้องการประสิทธิภาพสูงและการโจมตีสามารถทำได้แม้จะเรียกใช้ JavaScript และ WebAssembly ในเว็บเบราว์เซอร์

Foreshadow ใช้ประโยชน์จากความจริงที่ว่าเมื่อเข้าถึงหน่วยความจำที่อยู่เสมือนซึ่งสร้างข้อยกเว้น (ความล้มเหลวของหน้าเทอร์มินัล) โปรเซสเซอร์จะคำนวณที่อยู่ทางกายภาพโดยเฉพาะและโหลดข้อมูลหากอยู่ในแคช L1

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

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

นักวิจัยได้แสดงให้เห็น นี้ วิธีการป้องกัน Foreshadow ที่มีอยู่ใช้ไม่ได้ผล และนำไปใช้ด้วยการตีความปัญหาที่ไม่ถูกต้อง

ช่องโหว่ของ Foreshadow สามารถใช้ประโยชน์ได้โดยไม่คำนึงถึงการใช้กลไกการป้องกันในเคอร์เนล ซึ่งก่อนหน้านี้ถือว่าเพียงพอแล้ว

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

พบว่าเอฟเฟกต์การดึงข้อมูลล่วงหน้าไม่เกี่ยวข้องกับคำแนะนำในการดึงข้อมูลล่วงหน้าของซอฟต์แวร์หรือเอฟเฟกต์การดึงข้อมูลล่วงหน้าของฮาร์ดแวร์ในระหว่างการเข้าถึงหน่วยความจำ แต่เกิดขึ้นจากการเบี่ยงเบนเชิงคาดเดาของการลงทะเบียนพื้นที่ผู้ใช้ใน เคอร์เนล

การตีความสาเหตุของช่องโหว่นี้ผิดในขั้นต้นนำไปสู่การสันนิษฐานว่าข้อมูลรั่วไหลใน Foreshadow สามารถเกิดขึ้นได้ผ่านแคช L1 เท่านั้นในขณะที่มีข้อมูลโค้ดบางอย่าง (อุปกรณ์ดึงข้อมูลล่วงหน้า) ในเคอร์เนล อาจมีส่วนทำให้ข้อมูลรั่วไหลออกจากแคช L1 เช่นใน L3 Cache

ฟีเจอร์ที่เปิดเผยยังเปิดโอกาสในการสร้างการโจมตีใหม่ ๆ มีจุดมุ่งหมายเพื่อแปลที่อยู่เสมือนเป็นที่อยู่จริงในสภาพแวดล้อมแซนด์บ็อกซ์และกำหนดที่อยู่และข้อมูลที่จัดเก็บในทะเบียน CPU

เป็นเดโมนักวิจัยแสดงให้เห็น ความสามารถในการใช้เอฟเฟกต์ที่เปิดเผยเพื่อ ดึงข้อมูลจากกระบวนการหนึ่งไปยังอีกกระบวนการหนึ่งโดยมีปริมาณงานประมาณ 10 บิตต่อวินาที บนระบบที่มี CPU Intel Core i7-6500U

ความเป็นไปได้ในการกรองเนื้อหาของบันทึกจะแสดงขึ้นด้วย จากวงล้อม Intel SGX (ใช้เวลา 15 นาทีในการระบุค่า 32 บิตที่เขียนลงทะเบียน 64 บิต)

เพื่อป้องกันการโจมตีของ Foreshadow ผ่านแคช L3 วิธีการป้องกัน Spectre-BTB (บัฟเฟอร์เป้าหมายสาขา) นำไปใช้ในชุดแพทช์ retpoline มีประสิทธิภาพ

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

สำหรับส่วนของตน ตัวแทนของ Intel กล่าวว่าพวกเขาไม่ได้วางแผนที่จะเพิ่มมาตรการป้องกันเพิ่มเติม เทียบกับ Foreshadow ไปยังโปรเซสเซอร์และพิจารณาว่าเพียงพอแล้วที่จะเปิดใช้งานการป้องกันการโจมตีของ Spectre V2 และ L1TF (Foreshadow)

Fuente: https://arxiv.org


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

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

*

*

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