Windows XP Service Pack 2、Windows XP Tablet PC Edition 2005 以及 Windows Server 2003 中数据执行保护 (DEP) 功能的详细说明
本页概要数据执行保护 (DEP) 是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。在 Microsoft Windows XP Service Pack 2 (SP2) 和 Microsoft Windows XP Tablet PC Edition 2005 中,由硬件和软件一起强制实施 DEP。 DEP 的主要优点是可以帮助防止数据页执行代码。通常情况下,不从默认堆和堆栈执行代码。硬件实施 DEP 检测从这些位置运行的代码,并在发现执行情况时引发异常。软件实施 DEP 可帮助阻止恶意代码利用 Windows 中的异常处理机制进行破坏。 简介本文介绍 Windows
XP SP2 以及 Microsoft Windows Server 2003 Service Pack 1 (SP1) 中的 DEP 功能,并讨论以下主题:
更多信息硬件实施 DEP除了显式包含可执行代码的内存位置外,硬件实施 DEP 将进程中的所有内存位置均标记为不可执行。有一类攻击是尝试在不可执行的内存位置插入代码并运行它。DEP 可通过截获这些攻击并引发一个异常来帮助阻止这些攻击。硬件实施 DEP 依靠处理器硬件来使用属性标记内存,此属性指明不能从该内存执行代码。DEP 以虚拟内存页面为单位运行,通常情况下更改 Page Table Entry (PTE) 中的位来标记内存页面。 处理器体系结构确定 DEP 在硬件中的实现方式以及 DEP 标记虚拟内存页面的方式。但是,在从使用合适属性集标记的页面执行代码时,支持硬件实施 DEP 的处理器可能引发异常。 Advanced Micro Devices (AMD) 和 Intel 已经定义并发布了与 Windows 兼容的体系结构,该体系结构与 DEP 兼容。 从 Windows XP SP2 开始,Windows 的 32 位版本使用下列功能之一:
注意:由于 64 位内核识别地址窗口化扩展插件 (AWE),因此在 Windows 的 64 位版本中没有单独的 PAE 内核。 有关 Windows Server 2003 中 PAE 和 AWE 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 283037 (http://support.microsoft.com/kb/283037/)
Windows Server 2003 和 Windows 2000 提供大内存支持
软件实施 DEPWindows XP SP2 中已添加另一套数据执行保护安全检查。这些称为软件实施 DEP 的检查旨在阻止利用 Windows 中异常处理机制的恶意代码。软件实施 DEP 运行在可以运行 Windows XP SP2 的任意处理器上。默认情况下,不管处理器的硬件实施 DEP 功能如何,软件实施 DEP 都是只帮助保护受限的系统二进制文件。优点DEP 的主要优点是帮助阻止数据页(如默认的堆页、各种堆栈页以及内存池页)执行代码。通常情况下,不从默认堆和堆栈执行代码。硬件实施 DEP 检测从这些位置运行的代码,并在发现执行情况时引发异常。如果异常未得到处理,进程将停止。在内核模式下从受保护的内存执行代码会导致“停止”错误。DEP 可帮助阻止某类安全入侵。具体而言就是,DEP 可帮助阻止某种恶意程序,在这种恶意程序中,病毒或其他类型的攻击会在进程中插入一段附加代码,并试图运行此插入代码。在带有 DEP 的系统上,执行插入代码会导致发生异常。软件实施 DEP 可帮助阻止利用 Windows 中异常处理机制的程序。 DEP 的系统范围配置系统的 DEP 配置由 Boot.ini 文件中的开关控制。如果以管理员身份登录,则可立即使用“控制面板”中的“系统”对话框轻松配置 DEP 设置。对于硬件实施和软件实施 DEP,Windows 支持四种系统范围配置。
同样,如果系统范围的 DEP 策略设置为“选择禁用”,则不受 DEP 保护的程序既不受硬件实施 DEP 的保护,也不受软件实施 DEP 的保护。 Boot.ini 文件设置如下所示: /noexecute=policy_level 注意:policy_level
可定义为“总是启用”、“总是禁用”、“选择启用”或“选择禁用”。安装 Windows XP SP2 后,Boot.ini 文件中的现有 /noexecute 设置不会更改。在计算机上移动 Windows 操作系统映像后,无论计算机是否有硬件实施 DEP 支持,这些设置也都不会变化。 在安装 Windows XP SP2 和 Windows Server 2003 SP1 或更高版本的过程中,除非在无人参与安装中指定不同的策略级别,否则默认情况下启用“选择启用”策略级别。对于支持 DEP 的 Windows 版本,如果 Boot.ini 文件中不包括 /noexecute=policy_level 设置,其行为将与包括 /noexecute=OptIn 设置时的行为相同。 如果以管理员身份登录,则可使用“系统属性”中的“数据执行保护”选项卡,手动将 DEP 配置为在“选择启用”和“选择禁用”策略之间切换。以下过程说明如何在计算机上手动配置 DEP:
要使用 Boot.ini 文件配置 DEP 以切换到“总是启用”策略,请按照下列步骤操作:
按程序进行 DEP 配置为使程序能够兼容,如果 DEP 设置为“选择禁用”策略级别,则可以有选择地为单个 32 位程序禁用 DEP。具体方法是,使用“系统属性”中的“数据执行保护”选项卡,有选择地为程序禁用 DEP。对于 IT 专业人员,可以使用 Windows XP SP2 中包含的名为 DisableNX 的新程序兼容性修补程序。DisableNX 兼容性修补程序为其应用到的程序禁用数据执行保护。可使用应用程序兼容性工具包将 DisableNX 兼容性修补程序应用于程序中。有关 Windows 应用程序兼容性的更多信息,请参见以下 Microsoft 网站上的 Windows 应用程序兼容性: http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/default.mspx (http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/default.mspx) 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 912923 (http://support.microsoft.com/kb/912923/)
如何确定硬件 DEP 可用且已在计算机上配置
参考这篇文章中的信息适用于:
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。 | 文章翻译
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

回到顶端
