เป็นเวลากว่าหกปีหลังจากที่ช่องโหว่ด้านความปลอดภัย Spectre ที่ส่งผลกระทบต่อโปรเซสเซอร์ CPU รุ่นใหม่ถูกเปิดเผย การวิจัยใหม่พบว่าโปรเซสเซอร์รุ่นล่าสุดของ AMD และ Intel ยังคงเสี่ยงต่อการโจมตี Speculative execution ในการศึกษาวิจัยที่เผยแพร่โดย ETH Zurich ซึ่งเป็นมหาวิทยาลัยวิจัยสาธารณะในสวิตเซอร์แลนด์ นักวิจัยกล่าวว่าการโจมตีส่วนใหญ่มุ่งเป้าไปที่การใช้ประโยชน์จาก Indirect Branch Predictor Barrier (IBPB) บนชิป x86 ซึ่งเป็นกลไกความปลอดภัยในตัวของชิปสำหรับป้องกันการโจมตีแบบ Speculative execution
CPU สมัยใหม่พึ่งพา Speculative execution เพื่อเพิ่มประสิทธิภาพการทำงานของชิปโดยคาดการณ์เส้นทางในอนาคตของการเรียกใช้โค้ดและดำเนินการคำสั่งบางอย่างล่วงหน้า หากการคาดการณ์เหล่านี้ถูกต้อง “Pre-execution” นี้จะช่วยลดความล่าช้าและเร่งความเร็วในการทำงานของระบบ ปัญหาเกี่ยวกับการโจมตี Spectre speculative execution: ผู้โจมตีอาจจงใจปรับแต่งกระบวนการ Speculative execution เพื่อเข้าถึงข้อมูลที่โดยปกติแล้วจะไม่ได้รับอนุญาตให้ใช้งาน นักวิจัยของ ETH Zurich กล่าวว่าปัญหาใหม่เหล่านี้ถูกเปิดเผยต่อ Intel และ AMD ในเดือนมิถุนายน 2024 และทั้งสองบริษัทได้ยืนยันปัญหาที่เกี่ยวข้อง Intel ได้จัดทำแพตช์ไมโครโค้ดเพื่อแก้ไขปัญหานี้แล้ว ซึ่งก็คือ CVE-2023-38575 ในส่วนของ AMD ได้ติดตามช่องโหว่นี้มาสองสามปีแล้วในชื่อ CVE-2022-23824
จอห์น กัลลาเกอร์ รองประธาน Viakoo Labs กล่าวว่า Speculative execution มีมานานกว่า 20 ปีแล้ว และปัจจุบัน CPU สมัยใหม่ทั้งหมดใช้แนวทางนี้ ซึ่งช่วยเพิ่มความเร็วในการประมวลผลได้อย่างมาก แม้บางครั้งอาจส่งคำสั่งที่คาดไว้ผิดพลาดก็ตาม กัลลาเกอร์กล่าวว่าหากไม่มีแนวทางนี้ เราจะเห็นประสิทธิภาพของ CPU ลดลงอย่างมาก ดังนั้นจึงส่งผลกระทบทางธุรกิจครั้งใหญ่จากการประมวลผลที่ช้าลง “ช่องโหว่ในระดับชิปมักจะแก้ไขได้ยาก” กัลลาเกอร์กล่าว “องค์กรต่างๆ ควรมีแนวทางการป้องกันเชิงลึกสำหรับการรักษาความปลอดภัย โดยแม้ว่าข้อมูลจะถูกบุกรุกจากการอ่านแคชระดับชิป แต่ก็ยังมีวิธีอื่นๆ ที่จะหยุดผู้โจมตีไม่ให้ใช้ข้อมูลนั้นได้ นอกจากนี้ การรับรองว่าระบบสำคัญต่างๆ อยู่บน Segmented networks ก็มีความสำคัญเพื่อป้องกันการ Lateral movement”
Guenther นักเขียนคอลัมน์ของ SC Media ได้เสนอเคล็ดลับ 6 ประการสำหรับทีมงานด้านความปลอดภัยในการลดความเสี่ยงจากการโจมตี Speculative execution:
คอยอัปเดต Microcode patches อยู่เสมอ: Intel และ AMD เผยแพร่การอัปเดต Microcode ที่แก้ไขช่องโหว่เป็นประจำ ทีมงานด้านความปลอดภัยควรตรวจสอบให้แน่ใจว่าการอัปเดตเหล่านี้ถูกนำไปใช้กับฮาร์ดแวร์ที่ได้รับผลกระทบทั้งหมดโดยทันที การอัปเดต Microcode มีความสำคัญเนื่องจากจะแก้ไขช่องโหว่ในระดับเฟิร์มแวร์ ซึ่งจะช่วยลดการโจมตี
เปิดใช้ Speculative execution mitigations: แม้ว่าการลดความเสี่ยงเหล่านี้อาจมีผลกระทบต่อประสิทธิภาพ เช่น IBPB, Single Thread Indirect Branch Predictors (STIBP) และ Retpoline แต่ก็มีความสำคัญอย่างยิ่งต่อการลดความเสี่ยงที่เกิดจากการโจมตีด้วย Speculative execution การทำความเข้าใจถึงข้อดีและข้อเสียระหว่างประสิทธิภาพและความปลอดภัยในสภาพแวดล้อมของคุณเป็นสิ่งสำคัญ
ใช้ประโยชน์จากการป้องกันที่ใช้ซอฟต์แวร์: ใช้เทคนิคการเขียนโปรแกรมที่ปลอดภัยต่อหน่วยความจำและสนับสนุนการใช้การลดความเสี่ยงที่ใช้คอมไพเลอร์ เช่น Control Flow Integrity (CFI) ซึ่งจะช่วยให้การใช้ประโยชน์จาก Speculative execution ทำได้ยากขึ้น
ตรวจสอบและแยกกระบวนการที่ละเอียดอ่อน: แบ่งส่วนและจำกัดการเรียกใช้โค้ดที่มีสิทธิ์สูงจากกระบวนการที่มีสิทธิ์ต่ำกว่า ตรวจสอบให้แน่ใจว่าแอปพลิเคชันหรือบริการที่ละเอียดอ่อนจะไม่แชร์ CPU cores กับ workloads ที่อาจเป็นอันตรายหรือไม่น่าเชื่อถือ
ใช้การควบคุมการเข้าถึงและ Sandboxing ที่เข้มงวด: จำกัดความสามารถของแอปพลิเคชันระดับผู้ใช้ในการเรียกใช้โค้ดที่ไม่น่าเชื่อถือซึ่งอาจกระตุ้นให้เกิดจุดบกพร่องในการดำเนินการที่คาดเดาได้ ในสถานการณ์ที่ต้องเรียกใช้โค้ดที่ไม่น่าเชื่อถือ ให้พิจารณาใช้สภาพแวดล้อมที่แยกจากกัน เช่น คอนเทนเนอร์หรือ Virtual machines
ดำเนินการประเมินความเสี่ยง: ประเมินผลกระทบของช่องโหว่ในการดำเนินการที่คาดเดาได้เป็นประจำในบริบทของแบบจำลองภัยคุกคามเฉพาะขององค์กร ซึ่งเป็นสิ่งสำคัญอย่างยิ่งในสภาพแวดล้อมที่ใช้ร่วมกัน เช่น Cloud infrastructure หรือ Multi-tenant data centers
Source: scworld.com