การโจมตี SgxSpectre สามารถละเมิดข้อมูลสำคัญที่จัดเก็บไว้ใน Intel SGX enclaves

การโจมตี Spectre ใหม่ล่าสุดที่ขนานนามว่า SgxSpectre สามารถเปิดเผยข้อมูลที่ละเอียดอ่อนที่จัดเก็บไว้ใน SGX enclaves ที่มีความเสี่ยง

SgxSpectre - การโจมตีของ Spectre อื่นที่เสี่ยงต่อข้อมูลที่ละเอียดอ่อน

ข้อบกพร่องของ CPU Spectre-Meltdown[1] ตรวจพบเมื่อต้นปี 2561 ก่อให้เกิดความท้าทายมากกว่าที่คาดไว้โดย Microsoft, Intel และยักษ์ใหญ่ด้านเทคโนโลยีอื่น ๆ ไม่เพียงแต่สามารถขยายจากชิป Intel และ AMD ไปยัง Skylake, Kaby Lake, ชิป Coffee Lake; อนุญาตให้แฮกเกอร์เริ่มแคมเปญการกระจายมัลแวร์หลายรายการ[2] และการโจมตีด้วยซอฟต์แวร์

เมื่อต้นเดือนมีนาคม 2018 กลุ่มนักวิจัยด้านไอทีหกคนจากมหาวิทยาลัยแห่งรัฐโอไฮโอตรวจพบรูปแบบใหม่ของการโจมตี Spectre ที่ขนานนามว่า SgxSpectre ซึ่งสามารถใช้ในการแคร็กวงล้อม Software Guard Extensions (SGX) ของ Intel ซึ่งมีหน้าที่ในการแยกส่วนที่มีความละเอียดอ่อน ส่วนประกอบ อันที่จริง ข้อมูลที่ปกป้องโดยวงล้อมเหล่านี้น่าจะเป็นสิ่งที่สำคัญที่สุด เนื่องจากส่วนประกอบของระบบปฏิบัติการไม่ได้รับอนุญาตให้โต้ตอบกับข้อมูลที่ป้องกันด้วยวงล้อม

Caroline Trippel และ Daniel Lustig นักวิจัยจาก Princeton University และ Margaret Martonosi จาก Nvidia เล็งเห็นถึงความเป็นไปได้ของการโจมตีดังกล่าวและสรุปสถานการณ์ในงานทางวิทยาศาสตร์ เรียกว่า

“MeltdownPrime และ SpectrePrime: การโจมตีที่สังเคราะห์โดยอัตโนมัติฉวยโอกาส โปรโตคอลการเชื่อมโยงกันที่อิงกับการละเมิด”[3] เหล่านี้เป็นช่องโหว่ใหม่ล่าสุดของ Meltdown และ Spectre ที่อาจจบลงด้วยการโจมตีข้อมูลที่ละเอียดอ่อน

ช่องโหว่ Meltdown และ Spectre ก่อนหน้านี้ไม่มีการเข้าถึงข้อมูลที่ละเอียดอ่อนซึ่งปกป้องโดย SGX

Software Guard Extensions (SGX) ของ Intel เป็นคุณลักษณะที่ค่อนข้างใหม่ ซึ่งมีอยู่ในโปรเซสเซอร์ของ Intel รุ่นใหม่ อนุญาตให้สร้างวงล้อมที่เรียกว่าการป้องกันซอฟต์แวร์ ซึ่งเกี่ยวข้องกับข้อมูลที่ละเอียดอ่อนอย่างยิ่งและข้อมูลการเข้ารหัส

ผลที่ตามมาของการโจมตี Spectre และ Meltdown ก่อนหน้านี้ใน SGX นั้นไม่ชัดเจน อย่างไรก็ตาม ภูมิคุ้มกันของวงล้อม SGX ทำให้เกิดคำถามมากมายตั้งแต่เริ่มต้น ปรากฎว่าไม่มีช่องโหว่เหล่านี้แสดงลักษณะที่อนุญาตให้เจาะการป้องกัน SGX แต่เห็นได้ชัดว่าแฮ็กเกอร์กำหนดเป้าหมายสำหรับข้อมูลภายในวงล้อม นั่นเป็นสาเหตุที่ SgxSpectre พัฒนาขึ้น

นักวิจัยด้านช่องโหว่ของ SgxSpectre กล่าวว่า[4] ช่องโหว่ทำให้สามารถหาประโยชน์จาก “สภาพการแข่งขันระหว่างการอ้างอิงหน่วยความจำที่ดำเนินการและคาดการณ์ ซึ่งนำไปสู่การติดตามแคชที่สังเกตได้จากช่องสัญญาณด้านข้าง และเวลาแฝงของความละเอียดของสาขา” ในปัจจุบัน ช่องโหว่ดังกล่าวอาจส่งผลกระทบต่อ Intel SGX, SDK, Rust-SGX และ Graphene-SDX
ระบบอาจได้รับผลกระทบเมื่อมีการเปิดใช้งานรูปแบบรหัสเฉพาะในไลบรารีซอฟต์แวร์ ผู้โจมตีที่กำหนดเป้าหมายสำหรับข้อมูลที่เก็บไว้ภายใน enclaves ใช้การคาดเดาและดำเนินการทำนายรหัส enclave โดยมองหาความแตกต่างของขนาดแคชเล็กน้อย ตามที่ผู้วิจัยอธิบาย

หน่วยการทำนายสาขาที่ใช้ในโหมดวงล้อมสำหรับการทำนายเป้าหมายของสาขาจะไม่ได้รับการทำความสะอาดอย่างทั่วถึงเมื่อเข้าวงล้อม ดังนั้น โค้ดที่อยู่นอกวงล้อมเป้าหมาย (ไม่ว่าจะทำงานในพื้นที่หน่วยความจำที่ไม่มีการป้องกันหรือในวงล้อมอื่น) สามารถจัดการเป้าหมายของการทำนายสาขาภายในวงล้อมเป้าหมายได้

Intel ได้เปิดตัวเครื่องมือสแกนช่องโหว่

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

Intel และ Microsoft ตอบสนองต่อช่องโหว่ Meltdown และ Spectre ที่ตรวจพบทันทีและเริ่มเผยแพร่แพตช์ น่าเสียดายที่ไม่ใช่ทั้งหมดที่ทำงาน จึงต้องติดตามข่าวเกี่ยวกับช่องโหว่นี้

การเก็งกำไรทางอ้อมสาขาจำกัด (IBRS) เป็นหนึ่งในการแก้ไขที่ Intel นำเสนอ มันจัดการกับ Spectre Variant ด้วยการจัดหาไมโครโค้ดที่ดัดแปลง อย่างไรก็ตาม แพตช์นี้ไม่ได้มุ่งเน้นไปที่ช่องโหว่ของ SGX SDK
กำหนดเส้นตายสำหรับวันที่เผยแพร่โปรแกรมแก้ไข SgxSpectre คือวันที่ 16 มีนาคม 2018 นักพัฒนาแอปจะต้องเปลี่ยน SDK เวอร์ชันเก่าด้วยเวอร์ชันที่ Intel กำลังจะเผยแพร่ในแอปที่ใช้ SGX

ผู้ที่ต้องการตรวจสอบว่าพีซีของตนมีรหัสที่มีช่องโหว่หรือไม่ ผู้เชี่ยวชาญได้สร้างเครื่องมือสแกนช่องโหว่[5] ซึ่งตรวจสอบโปรแกรม enclave และตรวจสอบรูปแบบโค้ด ในกรณีที่ตรวจพบช่องโหว่ของ SgxPectre ผู้ใช้จะได้รับคำเตือนและแนะนำให้ติดตั้งชุดเครื่องมือที่พัฒนาโดย Intel พร้อมกับชุดเครื่องมือพัฒนาซอฟต์แวร์ที่ล้าสมัยสำหรับผู้ให้บริการแอปพลิเคชัน SGX