论文部分内容阅读
在过去的十年中,利用堆栈溢出漏洞进行攻击已成为网络攻击的主要方式之一。堆栈溢出指的是一种系统攻击的手段,通过往程序的堆栈写超出其长度的内容,造成堆栈的溢出,使程序转而执行其它指令,以达到攻击的目的。 在理论上存在三类方法检测堆栈溢出:不允许用超长的输入参数覆盖返回地址;允许返回地址被覆盖,但不允许控制流转向非授权的用户;允许控制流转向非授权的用户,但不允许其可执行代码被运行。 作者提出利用前帧指针检测堆栈溢出的方法即FPW(Frame Pointer Watcher)。FPW用Usu Prefrm和Jmp Prefrm两个不同的监视区来记录两类函数调用所形成的帧的前帧指针。与Stack Guard和RAD相比,FPW具有同样程度的安全性、占用更少的内存空间、减少进程意外终止的可能性和更好的运行效果等优点。