Tags:
Topics: 
Node Thumbnail

อินเทลเผยแพร่ช่องโหว่ L1 Terminal Fault ที่เป็นชุดช่องโหว่ 3 รายการ เปิดทางให้แฮกเกอร์สามารถอ่านข้อมูลที่ไม่สามารถอ่านได้ตามปกติ โดยอาศัยคุณสมบัติ speculative execution หรือการรันคำสั่งแบบคาดเดาล่วงหน้าของซีพียู แบบเดียวกับ Spectre หรือ Meltdown

ช่องโหว่ L1TF คิดลึกกว่า Spectre/Meltdown ลงไปอีกขั้นด้วยการอาศัยกลไก page table ที่แปลงค่าตำแหน่งหน่วยความจำ ให้กลายเป็นค่า address จริงของฮาร์ดแวร์ โดยหากหน้า page นั้นๆ ไม่มีอยู่ในตัวซอฟต์แวร์ก็จะได้รับ exception เป็น page fault กลับขึ้นมา แต่ในความเป็นจริงซีพียูกลับอ่านค่าหน่วยความจำ ณ ตำแหน่งนั้นขึ้นมาล่วงหน้าแแล้ว เมื่อใช้เทคนิค FLUSH+RELOAD แบบเดียวกับ Meltdown ก็สามารถรู้ค่าของหน่วยความจำเป้าหมายได้

ช่องโหว่นี้มี 3 รูปแบบหลัก ได้แก่

  • เจาะทะลุการป้องกันของ SGX (CVE-2018-3615) คะแนน CVSS 7.9 สามารถแก้ไขได้ด้วยการอัพเดต microcode ในซีพียู
  • เจาะทะลุระบบปฎิบัติการและ system management mode (CVE-2018-3620) คะแนน CVSS 7.1 และสามารถแก้ไขได้ด้วยการอัพเดต microcode
  • เจาะทะลุระบบ hypervisor เพื่อเข้าไปอ่านค่าหน่วยความจำของเครื่องเสมือนอื่นบนคอร์ซีพียูเดียวกัน (CVE-2018-3646) คะแนน CVSS 7.1 ลดความเสี่ยงด้วยการอัพเดต microcode และควรเปิดใช้ฟีเจอร์ safe scheduling เพื่อให้แน่ใจว่าเครื่องเสมือนเดียวกันจะอยู่บนคอร์เดียวกันเสมอ ไม่ได้ใช้แคช L1 ปะปนกับใคร

ในกรณีของ Hyper-V ฟีเจอร์ป้องกันการใช้คอร์ปะปนกัน เรียกว่า core scheduler ปิดการทำงานเป็นค่าเริ่มต้น และรองรับเฉพาะ Windows Server 2016 ขึ้นไป ในกรณีที่ใช้ระบบ hypervisor ที่ไม่รองรับ ทางออกที่เหลือคือการปิด hyperthread ทิ้ง เพื่อให้ใช้ 1 คอร์ต่อ 1 เธรดเท่านั้น ซึ่งจะกระทบประสิทธิภาพเครื่องค่อนข้างมาก

ระหว่างนี้คงต้องรออัพเดตและสำรวจว่าระบบ hypervisor ใดรองรับการแก้ปัญหาแบบใดและเปิดใช้งานกันอย่างไรบ้าง

ที่มา - Intel, Oracle, Microsoft Technet

Get latest news from Blognone

Comments

By: Bigkung
iPhoneWindows Phone
on 15 August 2018 - 03:03 #1065734
Bigkung's picture

กระทบเฉพาะการใช้ Hypervisor ของ server ใช่มั้ยอ่ะ ไม่ค่อยเคลียทางฝั่งผู้ใชทั่วไป

สรุปผู้ใช้ทั่วไปที่ไม่ได้ใช้ระบบ Hypervisor ก็โดนอ่านข้อมูลได้เหมือนกันหรือเปล่าอ่ะเนี่ย และสุดท้ายผู้ใช้ทั่วไปต้องโดนปิด hyperthread ด้วยหมือนกันหรือเปล่า เห็น 1 กับ 2 ก็กรี๊ดแล้ว

By: Hadakung
iPhoneWindows PhoneAndroidWindows
on 15 August 2018 - 06:20 #1065736 Reply to:1065734

เท่าที่อ่านคือใครทำ VM แล้วไม่มีระบบป้องกันการใช้ CPU ร่วมโดนหมดครับเพราะ Hyperthred มันทำให้ 1 core ทำงานเหมือนสองคอร์จำลองแล้วใช้ L1 ร่วมกัน ทำให้การใช้ vCPU โดนแน่ๆ แต่ไม่แน่ว่าคนที่ไม่ใช้ VM เลยจะโดนกระทบไหม

By: osmiumwo1f
ContributorWindows PhoneWindows
on 15 August 2018 - 09:32 #1065748 Reply to:1065736
osmiumwo1f's picture

Deja Vu แฮะ เพราะเคยอ่านรายงานว่ามีช่องโหว่แบบเดียวกันหลังจาก Intel ขาย CPU ที่มี Hyperthreading ได้ไม่นาน แถมตอนนั้นบางโปรแกรมจะทำงานช้ามากหากเปิด Hyperthreading เพราะอีก thread มันไปลบ cache ของอีก thread ที่ทำงานคู่กัน ทำให้ thread ที่โดนลบต้องดึงข้อมูลเข้า cache ใหม่ตลอดครับ

By: Bigkung
iPhoneWindows Phone
on 15 August 2018 - 12:31 #1065776
Bigkung's picture

แล้ว AMD เป็นยังไงบ้างนี่โดนด้วยมั้ย?

By: delta on 15 August 2018 - 13:05 #1065783
delta's picture

ห่วงโซ่