加载中...

返回导向编程(Return-Oriented Programming,ROP)是一种绕过数据执行保护(DEP/NX)的漏洞利用技术。它不注入新的可执行代码,而是复用程序或库中已有的代码片段。
攻击者寻找以ret指令结尾的短代码序列(称为gadget),通过精心构造栈上的返回地址链,使程序依次跳转执行这些gadget,拼接出所需的攻击逻辑。由于执行的都是内存中本就存在的合法代码,DEP无法阻止。
ROP的变体包括以jmp结尾的JOP等。为对抗ROP,业界引入了ASLR(打乱gadget地址)、栈金丝雀、控制流完整性(CFI)以及Intel CET影子栈等硬件辅助防护机制。

登录 后参与讨论
暂无讨论,来发表第一条评论吧