- 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 ความคิดเห็น
อินเทลอีกแล้วเหรอ?!
ถ้าโอเวอร์เฮดสูงสุด 50% ก็หมายความว่า CPU จะช้าลงขนาดนั้นเลยใช่ไหมครับ อึ้งเลย
ดูเหมือนว่าจากการไล่อ่านคอมเมนต์ฝั่ง Hacker News แพตช์นี้อาจทำให้เกิดโอเวอร์เฮดสูงสุดถึง 50% กับคำสั่ง Gather เท่านั้น
ส่วนประสิทธิภาพที่ลดลงของแอปพลิเคชันทั่วไปน่าจะไม่มากนัก
ดูเหมือนว่าช่องโหว่ของ Intel CPU จะยังออกมาเรื่อย ๆ นะครับ ว่ากันว่านี่เป็นช่องโหว่ตัวที่ 3 ต่อจาก Meltdown และ Fallout.
สรุปงานวิจัยโดย 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