การเขียนโปรแกรมแบบย้อนกลับ
การเขียนโปรแกรมแบบย้อนกลับ (ROP) คือการโจมตีแบบนำรหัสมาใช้ใหม่ทั่วไปที่ผู้โจมตีจะส่งการควบคุมโฟลว์ผ่านรหัสที่มีอยู่โดยมีผลลัพธ์ที่เป็นอันตราย การโจมตีแบบ ROP หมายถึงการโจมตีสแตก (Stack Smashing) ขั้นสูง สแตกบัฟเฟอร์ล้นจะเกิดขึ้นเมื่อโปรแกรมเขียนไปยังที่อยู่ของหน่วยความจำบนสแตกการเรียกของโปรแกรมนอกโครงสร้างข้อมูลที่ตั้งใจไว้ โดยมักจะเขียนด้วยบัฟเฟอร์ที่มีความยาวคงที่
ROP เป็นเทคนิคการโจมตีที่ช่วยให้รหัสดำเนินการได้ในระบบเป้าหมาย เมื่อสามารถควบคุมสแตกการเรียกได้แล้ว ผู้โจมตีจะควบคุมโฟลว์ของซอฟต์แวร์ที่เชื่อถือได้ที่มีอยู่ซึ่งทำงานบนคอมพิวเตอร์ และจัดการให้ทำงานอื่นนอกเหนือจากที่ตั้งใจไว้