SFOP (Segmentation Fault Oriented Programming) คือเทคนิคโจมตีแบบ code‑reuse ที่จงใจทำให้โปรแกรมเกิด segmentation fault ต่อเนื่อง เพื่อใช้ signal handler เป็นขั้นตอนควบคุมการทำงานของโปรแกรม [3][5] วิธีนี้สามารถหลบระบบป้องกัน Intel Control‑Flow Enforcement Technology (CET) ได้ เพราะการเรียก signal handler เป็นการเปลี่...

Create a landscape editorial hero image for this Studio Global article: What is the newly disclosed Segmentation Fault Oriented Programming (SFOP) attack presented by CISPA researchers at the IEEE Symposium on Se. Article summary: SFOP, or Segmentation Fault Oriented Programming, is a newly disclosed serial code-reuse attack by CISPA researchers that abuses Linux SIGSEGV signal handling to bypass Intel CET on Linux by deliberately triggering segme. Topic tags: general, education, general web, documentation. Reference image context from search candidates: Reference image 1: visual subject "IEEE Symposium on Security and Privacy IEEE Symposium on Security and Privacy. Home IEEE Symposium on Security and Privacy: Academic Security Research That Matters. # IEEE Symposiu" source context "IEEE Symposium on Security and Privacy: Academic Security Research That Matters | netguardia.com" Referenc
โปรเซสเซอร์สมัยใหม่เริ่มพึ่งพาการป้องกันระดับฮาร์ดแวร์มากขึ้นเพื่อหยุดการโจมตีจากช่องโหว่หน่วยความจำ หนึ่งในเทคโนโลยีสำคัญคือ Intel Control‑Flow Enforcement Technology (CET) ที่ถูกออกแบบมาเพื่อลดความเสี่ยงจากการโจมตีแบบ code‑reuse
อย่างไรก็ตาม งานวิจัยล่าสุดชี้ให้เห็นว่า แม้แต่การป้องกันระดับฮาร์ดแวร์ก็ยังสามารถถูกหลบได้ หากผู้โจมตีใช้พฤติกรรมปกติของระบบปฏิบัติการเป็นช่องทาง
นักวิจัยจาก CISPA Helmholtz Center for Information Security ได้เปิดเผยเทคนิคใหม่ชื่อ Segmentation Fault Oriented Programming (SFOP) ซึ่งสามารถหลบ CET บน Linux ได้โดยอาศัยกลไกการจัดการสัญญาณ (signal handling) ของระบบปฏิบัติการ งานวิจัยนี้ถูกนำเสนอในบริบทของการประชุม IEEE Symposium on Security and Privacy ปี 2026
Segmentation Fault Oriented Programming (SFOP) เป็นการโจมตีแบบ serial code‑reuse ที่ใช้การทำให้โปรแกรม crash ซ้ำ ๆ เป็นเครื่องมือควบคุมการทำงานของโปรแกรม
แนวคิดหลักคือการทำให้โปรแกรมเกิด segmentation fault (SIGSEGV) อย่างต่อเนื่อง แล้วใช้ตัวจัดการสัญญาณของโปรแกรม (signal handler) เป็นขั้นตอนถัดไปของการโจมตี
รูปแบบการโจมตีโดยทั่วไปมีลักษณะดังนี้
เมื่อทำซ้ำหลายครั้ง การ 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 โดย
จึงทำให้กลไกจัดการ crash กลายเป็นเครื่องมือโจมตีได้
หนึ่งในแนวทางคือการ ปรับปรุงพฤติกรรมของ 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 เพื่อสร้างเส้นทางการโจมตีใหม่
สำหรับนักพัฒนาและวิศวกรด้านความปลอดภัย บทเรียนสำคัญคือการป้องกันต้องพิจารณาทั้งระบบ ตั้งแต่
เพราะผู้โจมตีจะมองหาช่องว่างในชั้นใดก็ตามที่ยังเปิดโอกาสให้ควบคุมการทำงานของระบบได้
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
SFOP (Segmentation Fault Oriented Programming) คือเทคนิคโจมตีแบบ code‑reuse ที่จงใจทำให้โปรแกรมเกิด segmentation fault ต่อเนื่อง เพื่อใช้ signal handler เป็นขั้นตอนควบคุมการทำงานของโปรแกรม [3][5]
SFOP (Segmentation Fault Oriented Programming) คือเทคนิคโจมตีแบบ code‑reuse ที่จงใจทำให้โปรแกรมเกิด segmentation fault ต่อเนื่อง เพื่อใช้ signal handler เป็นขั้นตอนควบคุมการทำงานของโปรแกรม [3][5] วิธีนี้สามารถหลบระบบป้องกัน Intel Control‑Flow Enforcement Technology (CET) ได้ เพราะการเรียก signal handler เป็นการเปลี่ยน control flow ที่ถูกต้องตามระบบปฏิบัติการ [3][5]
แนวทางป้องกันที่เสนอมีทั้งการปรับปรุง Linux kernel และกลไกเสริมชื่อ PLaTypus ที่จำกัดการกระโดดข้ามไลบรารีของโปรแกรม เพื่อลดพื้นผิวการโจมตีของ code‑reuse [39][40]