ทำความรู้จักช่องโหว่ Foreshadow (L1 Terminal Fault – L1TF) อ่านข้อมูลจากแคชซีพียูแม้มีโหมดป้องกันได้โดยตรง

สรุปย่อ

Intel ร่วมกับนักวิจัยเปิดเผยสามช่องโหว่ใหม่ภายใต้ชื่อ L1 Terminal Fault (L1TF) หรือ Foreshadow โดยเป็นการต่อยอดจากช่องโหว่ Meltdown ซึ่งส่งผลให้ผู้โจมตีสามารถเข้าถึงคำสั่งและข้อมูลที่กำลังทำงานอยู่ในซีพียู รวมไปถึงส่วนของซีพียูที่ถูกป้องกันด้วยฟีเจอร์ป้องกันการเข้าถึงข้อมูลได้

ช่องโหว่ Foreshadow นี้ส่งผลโดยตรงกับคุณสมบัติของฟีเจอร์ Intel Software Guard Extensions (Intel SGX) ซึ่งมีหน้าที่สำคัญในการป้องกันการเข้าถึงข้อมูลจากโปรแกรม โค้ด ระบบปฏิบัติการหรือแม้แต่ hypervisor เองหากไม่ได้รับอนุญาตให้เข้าถึง

ในมุมของผู้ใช้งานนั้น ผลลัพธ์ของช่องโหว่ Foreshadow อาจคล้ายหรือใกล้เคียงกับผลลัพธ์ของช่องโหว่ Spectre หรือ Meltdown อย่างไรก็ตาม Foreshadow ระบุเฉพาะเจาะจงไปที่ซีพียูที่มีการใช้งานฟีเจอร์ป้องกัน Intel SGX ที่มักจะถูกเปิดใช้งานบนระบบที่ต้องการความปลอดภัยสูง และบ่งบอกว่าจะมีการป้องกันในระดับฮาร์ดแวร์ก็ยังคงได้รับผลกระทบอยู่เช่นกัน

รายละเอียดช่องโหว่

เมื่อวันที่ 14 สิงหาคม 2018 ที่ผ่านมา บริษัท Intel ร่วมกับนักวิจัยเปิดเผยสามช่องโหว่ใหม่ที่ส่งผลกระทบกับซีพียู (CPU) ยี่ห้อ Intel ซึ่งเป็นช่องโหว่ที่ใช้ประโยชน์จากกระบวนการทำงานหนึ่งของซีพียูที่เรียกว่า speculative execution เช่นเดียวกับช่องโหว่ Meltdown และ Spectre ที่เปิดเผยเมื่อต้นปี 2018 ที่ผ่านมา

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

ช่องโหว่ทั้งสามตัวนี้เป็นการใช้ประโยชน์จากกระบวนการ speculative execution เพื่ออ่านค่าของแคชระดับที่ 1 (L1 Cache) ซึ่งเป็นแคชอยู่ใกล้กับซีพียูที่สุด ช่องโหว่ทั้งสามถูกอ้างอิงด้วยศัพท์เทคนิคว่า L1 Terminal Fault หรือ L1TF 

ซึ่งแบ่งย่อยได้เป็น

  1. L1 Terminal Fault – SGX หรือ CVE-2018-3615 หรือ Foreshadow
  2. L1 Terminal Fault – OS/SMM หรือ CVE-2018-3620 หรือ Foreshadow-NG
  3. L1 Terminal Fault – VMM หรือ CVE-2018-3646 หรือ Foreshadow-NG

ผลกระทบ

ช่องโหว่ L1 Terminal Fault – SGX ได้คะแนน CVSSv3 7.9 สามารถใช้โจมตี Intel Software Guard Extensions (SGX) ได้ โดย SGX เป็นเทคโนโลยีรักษาความปลอดภัยที่ใช้ในซีพียูของ intel ตั้งแต่ปี 2013 เป็นการรักษาความปลอดภัยของข้อมูลเพื่อให้อ่านหรือแก้ไขได้เฉพาะกระบวนการที่น่าเชื่อถือเท่านั้น ทำให้ทนทานต่อการโจมตีหลายรูปแบบ แต่ช่องโหว่ Foreshadow ทำให้ผู้โจมตีสามารถหลีกเลี่ยง SGX และอ่านข้อมูลภายในแคชระดับที่ 1 เช่น รหัสผ่านหรือคีย์เข้ารหัสได้ กระทบผู้ใช้ทั้งหมดที่ใช้ซีพียู Intel ที่มีการเปิดใช้งาน Intel SGX

ช่องโหว่ L1 Terminal Fault – OS/SMM ได้คะแนน CVSSv3 7.1 สามารถอ่านข้อมูลในเคอร์เนลของระบบปฎิบัติการ และข้อมูลใน system management mode (SMM) ผ่านแคชระดับที่ 1ได้ กระทบผู้ใช้ทั้งหมด

ช่องโหว่ L1 Terminal Fault – VMM ได้คะแนน CVSSv3 7.1 ทำให้อ่านข้อมูลบนระบบ hypervisor ได้ จึงอ่านค่าหน่วยความจำของเครื่องเสมือน (VM) อื่นบนซีพียูเดียวกันได้ กระทบผู้ใช้บริการเครื่องเสมือนบนคลาวด์  ระบบดาตาเซ็นเตอร์ และผู้ให้บริการคลาวด์โดยเฉพาะผู้ให้บริการคลาวด์ที่แชร์ซีพียูระหว่างเครื่องเสมือนของผู้ใช้หลายรายการเข้าด้วยกัน

ในขณะนี้ยังไม่มีการตรวจพบการใช้ช่องโหว่ทั้งสามในการโจมตีจริง

คำแนะนำสำหรับผู้ใช้งานทั่วไป

ช่องโหว่  L1 Terminal Fault – SGX และ L1 Terminal Fault – OS/SMM สามารถป้องกันได้โดยอัปเดต microcode ภายในซีพียู และอัปเดตระบบปฏิบัติการ ซึ่ง Microsoft ได้มีการอัปเดตเพื่อป้องกันไปในแพตช์ความปลอดภัยประจำเดือนสิงหาคม 2018 แล้ว

คำแนะนำสำหรับผู้ใช้งานคลาวด์

ผู้ใช้งานคลาวด์ควรอ่านคำแนะนำความปลอดภัยเกี่ยวกับ L1TF ที่ผู้ให้บริการที่ตนเองใช้งาน และปฏิบัติตามคำแนะนำดังกล่าว โดยผู้บริการต่างๆ ได้ให้คำแนะนำไว้ดังนี้

 แหล่งอ้างอิง