11 คะแนน โดย kuroneko 2023-08-09 | 5 ความคิดเห็น | แชร์ทาง WhatsApp
  • Daniel Moghimi นักวิจัยอาวุโสของ Google เปิดเผยช่องโหว่ Downfall (CVE-2022-40982) ที่ส่งผลกระทบต่อ CPU Intel รุ่นที่ 6 ถึง 11
  • เกิดการรั่วไหลของข้อมูลจากเทคนิคการเพิ่มประสิทธิภาพหน่วยความจำของ CPU Intel ทำให้โปรเซสที่ไม่น่าเชื่อถือสามารถเข้าถึงหน่วยความจำอื่นได้
    • คำสั่ง Gather สำหรับเข้าถึงข้อมูลที่กระจัดกระจายอยู่ในหน่วยความจำอย่างรวดเร็ว จะทำให้เนื้อหาในไฟล์รีจิสเตอร์เวกเตอร์ภายในรั่วไหลระหว่างการ speculative execution
    • เพื่อใช้ประโยชน์จากจุดนี้ จึงมีการนำเทคนิค GDS (Gather Data Sampling) และ GVI (Gather Value Injection) มาใช้
  • มีการเผยแพร่เดโมการขโมยกุญแจเข้ารหัสของผู้ใช้อื่นหรือดึงข้อมูลของเคอร์เนลในสภาพแวดล้อม Linux
    • โดยเฉพาะเทคนิค GDS มีประสิทธิภาพมาก จนสามารถทำการโจมตี PoC เพื่อขโมยกุญแจจาก OpenSSL ได้สำเร็จภายใน 2 สัปดาห์
  • ช่องโหว่นี้สามารถข้ามได้ทั้งการแยกกันของ virtual machine หรือ user-kernel แบบทั่วไป รวมถึง Intel SGX ซึ่งเป็นเทคโนโลยีความปลอดภัยระดับฮาร์ดแวร์
    • ในทางทฤษฎี การโจมตี Downfall สามารถรันได้แม้แต่ในเว็บเบราว์เซอร์ แต่ยังต้องมีการวิจัยเพิ่มเติม
    • นอกจากนี้ การโจมตี Downfall ยังดูคล้ายโปรแกรมทั่วไปมาก ทำให้ตรวจจับได้ยากมาก และซอฟต์แวร์แอนติไวรัสเชิงพาณิชย์ไม่สามารถตรวจจับได้
  • ได้มีการแจ้งช่องโหว่นี้ให้ Intel ทราบเมื่อวันที่ 24 สิงหาคม 2022 และ Intel กำลังเตรียมอัปเดตเพื่อบรรเทาช่องโหว่นี้
    • แต่อาจมีโอเวอร์เฮดสูงสุดถึง 50%
  • มีการเผยแพร่ โค้ด PoC ด้วย

5 ความคิดเห็น

 
cosine20 2023-08-10

อินเทลอีกแล้วเหรอ?!

 
inthelife 2023-08-09

ถ้าโอเวอร์เฮดสูงสุด 50% ก็หมายความว่า CPU จะช้าลงขนาดนั้นเลยใช่ไหมครับ อึ้งเลย

 
kuroneko 2023-08-09

ดูเหมือนว่าจากการไล่อ่านคอมเมนต์ฝั่ง Hacker News แพตช์นี้อาจทำให้เกิดโอเวอร์เฮดสูงสุดถึง 50% กับคำสั่ง Gather เท่านั้น
ส่วนประสิทธิภาพที่ลดลงของแอปพลิเคชันทั่วไปน่าจะไม่มากนัก

 
kuroneko 2023-08-09

ดูเหมือนว่าช่องโหว่ของ Intel CPU จะยังออกมาเรื่อย ๆ นะครับ ว่ากันว่านี่เป็นช่องโหว่ตัวที่ 3 ต่อจาก Meltdown และ Fallout.

 
kuroneko 2023-08-09

สรุปงานวิจัยโดย AI:

งานวิจัยนี้แนะนำการโจมตี "Downfall" ที่อาศัยช่องโหว่ "Gather Data Sampling" (GDS) ใน CPU สมัยใหม่ GDS ทำให้ข้อมูลเก่าจากองค์ประกอบของ CPU เช่น SIMD register buffer รั่วไหลออกมา จึงเปิดทางให้โจมตีข้ามขอบเขตความปลอดภัย เช่น ระหว่างผู้ใช้-เคอร์เนลและระหว่างเครื่องเสมือน

GDS สามารถขโมยข้อมูลได้หลายไบต์พร้อมกัน ทำให้สร้าง covert channel ระหว่างโปรเซสได้ด้วยความเร็วสูงสุด 5.7KB/s และมีการสาธิตการขโมยกุญแจเข้ารหัสผ่านการโจมตีแบบ blind attack ที่มุ่งเป้าไปยังการเข้ารหัส AES ของ OpenSSL

ผ่าน GDS สามารถรั่วไหลข้อมูลใดก็ได้โดยเข้าถึงหน่วยความจำที่ไม่ถูกแคชหรือเพจที่มีการทำงานแบบ no-op แม้ว่าซอฟต์แวร์จะไม่ได้อ่านข้อมูลนั้นอย่างชัดเจนก็ตาม มีการระบุโค้ด "gadget" ที่อิงกับ memcpy ซึ่งทำให้ข้อมูลรั่วไหลเมื่อถูกนำไปใช้โจมตีผ่าน GDS และใช้วิธีนี้เพื่อขโมยข้อมูลจาก Linux kernel

มีการนำเสนอการโจมตี "Gather-based Volatile Injection" (GVI) ซึ่งสามารถฉีดข้อมูลเก่าผ่านการคำนวณที่มีการพึ่งพาข้อมูลหลัง gather เพื่อรั่วไหลข้อมูลตามต้องการ และมีการสาธิตการรั่วไหลข้อมูลจากอีกโปรเซสหนึ่ง

ผลการทดสอบแสดงให้เห็นว่า GDS ยังได้ผลแม้หลังจากล้าง microarchitectural buffer แล้ว ซึ่งส่งผลกระทบต่อ Intel CPU ทุกตัวที่ใช้ในการทดสอบ รวมถึง CPU ที่ติดตั้งแพตช์สำหรับช่องโหว่ก่อนหน้านี้แล้ว

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