软件安全与能耗优化:ROP攻击检测与DRAM功耗评估
1. ROP攻击检测相关
在当今的软件安全领域,Return Oriented Programming(ROP)攻击已成为最为广泛使用的利用技术之一。传统的缓冲区溢出攻击因操作系统采用不可执行内存页机制而受到有效遏制,攻击者无法执行注入的恶意代码。这促使他们开始采用代码重用技术,其中Return-to-libc技术通过覆盖栈中的返回地址来劫持程序的控制流,执行选定的库函数,并且通过链式调用多个函数地址,攻击者能够执行复杂的操作。
ROP攻击则更进一步,它执行被称为“gadgets”的短指令序列,而非整个函数。如果在目标进程的内存空间中找到图灵完备的gadget集合,攻击者可以通过精心编排这些gadgets来执行任意操作。尽管Address Space Layout Randomization(ASLR)技术可以在一定程度上缓解ROP攻击,它通过随机化加载库的基地址,使攻击者难以猜测gadget的地址,但由于并非所有程序都支持ASLR,且存在内存泄漏漏洞时攻击者仍可猜测基地址,ROP攻击仍然是最主要的软件利用技术。
为了检测ROP攻击,提出了一种简单的方法,即计算运行时栈中保存的返回地址之间的距离。当ROP攻击发生时,栈中保存的返回地址(即gadget地址)相较于程序的合法控制流更为接近。通过跟踪这些保存地址之间的距离,就可以检测到异常行为。
1.1 ROP攻击的原理与现状
ROP攻击由Sacham首次提出,其基本构建块是短指令序列“gadgets”。当漏洞被触发时,栈指针从ROP有效负载中弹出第一个gadget地址并执行,随后的返回指令会自动弹出下一个gadget的地址,以此维持控制流,直到最后
超级会员免费看
订阅专栏 解锁全文
677

被折叠的 条评论
为什么被折叠?



