กระบวนการโจมตีช่องโหว่ระบบปฏิบัติการในยุคใหม่ๆ ยากขึ้นเพราะระบบปฏิบัติการไม่ยอมรันโค้ดที่โปรแกรมอัพโหลดขึ้นมาโดยตรงอีกต่อไป ช่วงหลังแฮกเกอร์จึงต้องเขียนโปรแกรมแบบ return-oriented programming (ROP) ตอนนี้อินเทลเสนอกระบวนการป้องกัน ROP ด้วยการตรวจสอบค่าการเรียกฟังก์ชั่นที่ผ่านๆ มาก่อนจะยอมรับ ตำแหน่งของหน่วยความจำที่กำลังจะ return ไป โดยเรียกกระบวนการนี้ว่า Control-flow Enforcement Technology (CET)
CET จะสร้างหน่วยความจำขึ้นอีกชุดหนึ่งเรียกว่า shadow stack เก็บตำแหน่งของหน่วยความจำก่อนเรียกฟังก์ชั่นเอาไว้ทั้งหมด และเมื่อมีการเรียกคำสั่ง RET เพื่อ return ออกจากฟังก์ชั่น ระบบปฏิบัติการจะสามารถนำค่าตำแหน่งของหน่วยความจำมาตรวจสอบก่อนว่าเป็นตำแหน่งที่ควรจะ return ไปจริงๆ หรือไม่ ถ้าไม่ตรงก็จะเกิด exception ขึ้นมา
จากนี้ CET ยังกำหนดคำสั่ง ENDBRANCH สำหรับกำหนดตำแหน่งหน่วยความจำสำหรับ JUMP ในกรณีนี้หากโปรแกรมเรียกคำสั่ง JUMP ไปยังหน่วยความจำที่ไม่ได้ประกาศไว้ก็จะเกิด exception เช่นกัน
ตอนนี้ CET ยังเป็นเพียงการพรีวิวเทคโนโลยีเท่านั้น ยังไม่แน่ชัดว่าจะมีใช้งานในระบบปฏิบัติการใดหรือซีพียูรุ่นใดในอนาคต การเปิดพรีวิวเช่นนี้ก่อนก็จะเปิดโอกาสให้นักวิจัยแสดงความเห็นได้ว่ากระบวนการนี้มีข้อดีข้อเสียอย่างไรกันบ้าง
ที่มา - Intel, The Register
Comments
กระบวนล็อก ?
เรียกมีการเรียก ?
คอมพิวเตอร์แรงขึ้น แต่การใช้งานไม่ได้รู้สึกว่าแรงตามที่ควรจะเป็น นอกจากจะเกิดจาก ui ที่กินทรัพยากรมากขึ้นเรื่อยๆแล้ว ก็ระบบป้องกันต่างๆนี้ละที่เป็นตัวถ่วงในเรื่องประสิทธิภาพ พอแก้เรื่องนี้อนาคตก็ต้องตามแก้เรื่องใหม่ๆอีก โค๊ตที่ได้มาก็เริ่มทำงานอ้อมโลกมากขึ้น
มันคือการ "เรียนรู้" ครับ
สมัยเด็กๆ ผมได้เงินวันละสองบาทก็อยู่ได้ทั้งวัน เดี๋ยวนี้วันละสองร้อยบางทีก็ไม่พอเหมือนกัน แต่ให้ผมกลับไปมีชีวิตแบบสมัยเด็กๆ ไหมผมคงไม่เอา
lewcpe.com, @wasonliw
2 บาทนี่รู้อายุเลย