ช่องโหว่ L1TF กระทบระบบ Hypervisor ใครใช้รุ่นเก่าอาจจะต้องปิด Hyperthread

หัวข้อกระทู้ ใน 'เทคโนโลยี' เริ่มโพสต์โดย iPokz, 15 สิงหาคม 2018.

  1. iPokz

    iPokz ~" iPokz "~ Staff Member

    อินเทลเผยแพร่ช่องโหว่ 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

    Topics: IntelSecurity
     

แบ่งปันหน้านี้