เมื่อทำซ้ำหลายครั้ง การ crash แต่ละครั้งจะกลายเป็น ลิงก์หนึ่งใน chain ของการควบคุมการทำงาน ที่ผู้โจมตีสร้างขึ้น
ต่างจากการโจมตีแบบ Return‑Oriented Programming (ROP) ที่ดัดแปลง return address ใน stack เทคนิค SFOP ใช้ เหตุการณ์ fault และ signal handler เป็นตัวขยับ execution ไปทีละขั้น
Intel Control‑Flow Enforcement Technology (CET) เป็นกลไกป้องกันระดับฮาร์ดแวร์ที่ Intel เปิดตัวครั้งแรกในปี 2020 และเริ่มใช้งานในซีพียูตระกูล Core รุ่นใหม่ ๆ รวมถึงระบบปฏิบัติการ Windows และ Linux
เป้าหมายของ CET คือป้องกันการโจมตีที่พยายามเปลี่ยนเส้นทางการทำงานของโปรแกรมไปยังคำสั่งที่ไม่ได้ตั้งใจ เช่น
CET ใช้กลไกหลายอย่าง เช่น
สิ่งเหล่านี้ทำให้การ hijack control flow ภายในโปรแกรมทำได้ยากขึ้น
จุดสำคัญของ SFOP คือการใช้ พฤติกรรมที่ถูกต้องตามระบบปฏิบัติการ แทนการละเมิด control flow โดยตรง
ขั้นตอนโดยสรุปมีดังนี้
กระบวนการนี้สามารถเกิดซ้ำเป็นลำดับยาว ๆ โดยแต่ละ signal handler ทำหน้าที่เหมือน gadget ใน chain ของการโจมตี
เพราะการเปลี่ยน execution ไปยัง signal handler เป็นการเปลี่ยน control flow ที่ระบบปฏิบัติการอนุญาต CET จึงไม่มองว่าเป็นการละเมิดกฎของ control flow
สุดท้าย ผู้โจมตีสามารถประกอบพฤติกรรมของโปรแกรมจากโค้ดที่มีอยู่แล้ว จนไปถึงระดับ arbitrary code execution ได้
ใน Linux โปรแกรมสามารถกำหนด signal handler สำหรับสัญญาณต่าง ๆ ได้ รวมถึง SIGSEGV ที่เกิดเมื่อมีการเข้าถึงหน่วยความจำผิดพลาด
ปกติกลไกนี้ถูกใช้เพื่อ
แต่ใน SFOP กลไกเดียวกันนี้ถูกนำมาใช้เป็น primitive สำหรับควบคุม control flow โดย
หนึ่งในแนวทางคือการ ปรับปรุงพฤติกรรมของ signal handling ใน Linux kernel เพื่อลดความสามารถของผู้โจมตีในการใช้ segmentation fault เป็น primitive สำหรับควบคุม execution
รายงานสาธารณะกล่าวถึงการเสนอ patch ในระดับ kernel แต่รายละเอียดเชิงเทคนิคของ implementation ยังมีเผยแพร่จำกัดในรายงานปัจจุบัน
อีกแนวทางหนึ่งคือระบบเสริมชื่อ PLaTypus ซึ่งออกแบบมาเพื่อเพิ่มความแข็งแกร่งให้กับ CET ต่อการโจมตี code‑reuse รุ่นใหม่
นักวิจัยพบว่า แม้ CET จะป้องกันการกระโดดผิดปกติภายในไลบรารีเดียวกันได้ดี แต่ยังมีช่องให้ผู้โจมตี กระโดดข้ามระหว่างไลบรารีต่าง ๆ ในโปรแกรมได้
PLaTypus จึงเสนอให้
แนวคิดนี้ช่วยลดจำนวน target ที่ใช้ในการโจมตีแบบ code‑reuse ได้อย่างมาก และทำให้การประกอบ chain สำหรับ exploit ยากขึ้นอย่างมีนัยสำคัญ
SFOP แสดงให้เห็นบทเรียนสำคัญในโลกความปลอดภัยไซเบอร์ว่า
การป้องกันระดับฮาร์ดแวร์เพียงอย่างเดียวไม่เพียงพอ หากพฤติกรรมของระบบปฏิบัติการยังสามารถถูกใช้เป็น control‑flow primitive ได้
แม้เทคโนโลยีอย่าง Intel CET จะออกแบบมาเพื่อต้านการโจมตีขั้นสูง แต่ผู้โจมตีก็ยังสามารถใช้กลไกปกติของระบบ เช่น signal handling เพื่อสร้างเส้นทางการโจมตีใหม่
สำหรับนักพัฒนาและวิศวกรด้านความปลอดภัย บทเรียนสำคัญคือการป้องกันต้องพิจารณาทั้งระบบ ตั้งแต่
เพราะผู้โจมตีจะมองหาช่องว่างในชั้นใดก็ตามที่ยังเปิดโอกาสให้ควบคุมการทำงานของระบบได้
Comments
0 comments