针对溢出攻击 如何用DEP机制保护
时间 : 2015-12-09 17:00
来源 : 未知
        对于溢出攻击,大家都很熟悉,一直以来,并没有彻底解决。其根源在于现代的计算机的体系结构有着缺陷,就是对数据和代码没有明确区分,然而重新改变计算机体系结构基本上是不可能的。
        现在只能够靠向前兼容的修补来减少溢出带来的损害,DEP(数据执行保护,Data Execution Prevention)就是用来弥补计算机对数据和代码混淆这一天然缺陷的。
        DEP的基本原理是将数据所在内存页标识为不可执行,当程序溢出成功转入shellcode时,程序会尝试在数据页面上执行指令,此时CPU就会抛出异常,而不是去执行恶意指令。
针对溢出攻击 如何用DEP机制保护
        Windows 2003下DEP的工作状态分为四种,改如何选择,那要看具体情况了。
        AlwaysOff:对所有进程都禁用DEP,这种模式下,DEP也不能被动态开启,这种模式一般只有在某种特定场合才使用,如DEP干扰到程序的正常运行。
        AlwaysOn:对所有进程启用DEP 的保护,不存在排序列表,在这种模式下,DEP不可以被关闭,目前只有在64位的操作系统上才工作在AlwaysOn模式。
        Optout:为排除列表程序外的所有程序和服务启用DEP,用户可以手动在排除列表中指定不启用DEP保护的程序和服务。这种模式可以被应用程序动态关闭,它多用于服务器版的           操作系统,如 Windows 2003、Windows 2008。
        Optin:默认仅将DEP保护应用于Windows系统组件和服务,对于其他程序不予保护,但用户可以通过应用程序兼容性工具(ACT,Application Compatibility Toolkit)为选定的程序启用DEP,在Vista下边经过/NXcompat选项编译过的程序将自动应用DEP。这种模式可以被应用程序动态关闭,它多用于普通用户版的操作系统,如Windows XP、Windows Vista、Windows7。
        DEP针对溢出攻击的本源,完善了内存管理机制。通过将内存页设置为不可执行状态,来阻止堆栈中shellcode的执行,这种釜底抽薪的机制给缓冲溢出带来了前所未有的挑战。
 

上一篇:上一篇:站长注意 网站现在主要面临哪些网络攻击 下一篇:下一篇:SYN Flood攻击原理和后果 如何使用防火墙防护

+86 0517-86871020

拨打
电话

客服
咨询

技术
支持

渠道
支持