อินเทลเสนอกระบวนล็อกการ return แก้การโจมตี return-oriented programming

หัวข้อกระทู้ ใน 'เทคโนโลยี' เริ่มโพสต์โดย iPokz, 11 มิถุนายน 2016.

  1. iPokz

    iPokz ~" iPokz "~ Staff Member

    กระบวนการโจมตีช่องโหว่ระบบปฏิบัติการในยุคใหม่ๆ ยากขึ้นเพราะระบบปฏิบัติการไม่ยอมรันโค้ดที่โปรแกรมอัพโหลดขึ้นมาโดยตรงอีกต่อไป ช่วงหลังแฮกเกอร์จึงต้องเขียนโปรแกรมแบบ return-oriented programming (ROP) ตอนนี้อินเทลเสนอกระบวนการป้องกัน ROP ด้วยการตรวจสอบค่าการเรียกฟังก์ชั่นที่ผ่านๆ มาก่อนจะยอมรับ ตำแหน่งของหน่วยความจำที่กำลังจะ return ไป โดยเรียกกระบวนการนี้ว่า Control-flow Enforcement Technology (CET)

    CET จะสร้างหน่วยความจำขึ้นอีกชุดหนึ่งเรียกว่า shadow stack เก็บตำแหน่งของหน่วยความจำก่อนเรียกฟังก์ชั่นเอาไว้ทั้งหมด และเมื่อเรียกมีการเรียกคำสั่ง RET เพื่อ return ออกจากฟังก์ชั่น ระบบปฏิบัติการจะสามารถนำค่าตำแหน่งของหน่วยความจำมาตรวจสอบก่อนว่าเป็นตำแหน่งที่ควรจะ return ไปจริงๆ หรือไม่ ถ้าไม่ตรงก็จะเกิด exception ขึ้นมา

    จากนี้ CET ยังกำหนดคำสั่ง ENDBRANCH สำหรับกำหนดตำแหน่งหน่วยความจำสำหรับ JUMP ในกรณีนี้หากโปรแกรมเรียกคำสั่ง JUMP ไปยังหน่วยความจำที่ไม่ได้ประกาศไว้ก็จะเกิด exception เช่นกัน

    ตอนนี้ CET ยังเป็นเพียงการพรีวิวเทคโนโลยีเท่านั้น ยังไม่แน่ชัดว่าจะมีใช้งานในระบบปฏิบัติการใดหรือซีพียูรุ่นใดในอนาคต การเปิดพรีวิวเช่นนี้ก่อนก็จะเปิดโอกาสให้นักวิจัยแสดงความเห็นได้ว่ากระบวนการนี้มีข้อดีข้อเสียอย่างไรกันบ้าง

    ที่มา - Inte, The Register

    Topics: IntelSecurity
     

แบ่งปันหน้านี้