Windows XP SP2 中的数据执行保护功能的详细说明
2008-08-22 09:55:23 来源:WEB开发网概要
MicrosoftWindowsXPServicePack2使用一项新的数据执行保护(DEP)功能,可禁止执行数据页中的代码。当尝试运行标记的数据页中的代码时,就会立即发生异常并禁止执行代码。这可以防止攻击者使用代码致使数据缓冲区溢出,然后执行该代码。
简介
数据执行保护(DEP)是MicrosoftWindowsXPServicePack2(SP2)支持的一种处理器功能,它禁止在标记为数据存储的内存区域中执行代码。此功能也称作“不执行”和“执行保护”。当尝试运行标记的数据页中的代码时,就会立即发生异常并禁止执行代码。这可以防止攻击者使用代码致使数据缓冲区溢出,然后执行该代码
更多信息
数据执行保护(DEP)有助于防止病毒和其他安全威胁造成破坏,它们的攻击方法是从只有Windows和其他程序可以使用的内存位置执行恶意代码。此类威胁使用以下方法造成破坏:它接管某个程序正在使用的一个或多个内存位置,然后进行传播并破坏其他程序、文件甚至您的电子邮件联系方式
与防火墙或防病毒程序不同,DEP不能阻止在您的计算机上安装有害程序。但是,它会监视您的程序,以确定它们是否安全地使用系统内存。为此,DEP软件会单独或与兼容的微处理器一起将某些内存位置标记为“不可执行”。如果某个程序尝试从受保护的位置运行代码,DEP将关闭该程序并通知您。即使该代码不是恶意代码,也会执行此操作
64位Windows版本上的DEP
64位处理器上的64位Windows版本可以在64位模式下运行程序。无论处理器的结构如何,64位Windows版本的内核模式DEP均适用于堆栈、页面缓冲池和会话池
默认情况下,在WindowsXPSP2中启用DEP,并且无法将其禁用。64位应用程序将无法从堆栈或默认进程堆中运行。对于需要分配可执行内存的应用程序,可使用带有某个PAGE_EXECUTE*内存属性的VirtualAlloc()来运行
赞助商链接