论文部分内容阅读
为防范缓冲区溢出攻击,在Intel 32位CPU及Windows系统下实现了不可执行堆栈。设计了一个内核驱动程序,将应用程序的堆栈移动到代码区的上部,并修改代码段的限长将堆栈区排除在代码段之外。堆栈中的攻击代码被执行时,CPU就会触发一个保护异常,攻击代码不能继续执行。这种方法能够防范各种已知及未知的堆栈溢出攻击,性能开销低于基于页的防护方式。