如何在 Windows XP SP2 中配置内存保护
发布日期: 2005年03月09日
简介
开始之前
为计算机上的所有程序启用 DEP
启用 DEP 例外列表
配置系统范围 DEP 选项
相关信息
Microsoft Windows XP Service Pack 2 (SP2) 通过实施一系列称为数据执行保护 (DEP) 的硬件和软件实施技术,帮助避免计算机在保留用于不可执行代码的计算机内存区域中插入恶意代码。 硬件实施 DEP 是某些处理器的功能,可以防止在已标记为数据存储区的内存区域中执行代码。 此功能也称为非执行和执行保护。 Windows XP SP2 还包括软件实施 DEP,其目的在于减少利用 Windows 中的例外处理机制的情况。
与防病毒程序不同,硬件和软件实施 DEP 技术的目的并不是防止在计算机上安装有害程序。 而是监视您的已安装程序,帮助确定它们是否正在安全地使用系统内存。 为监视您的程序,硬件实施 DEP 将跟踪已指定为“不可执行”的内存区域。 如果已将内存指定为“不可执行”,但是某个程序试图通过内存执行代码,Windows 将关闭该程序以防止恶意代码。 无论代码是不是恶意,都会执行此操作。
**注:**基于软件的 DEP 是 Windows XP SP2 的一部分并默认启用,不考虑处理器的硬件实施 DEP 功能。 默认情况下,软件实施 DEP 应用于核心操作系统组件和服务。
DEP 默认配置的目的在于保护您的计算机,并尽量减小对应用程序兼容性的影响。 但是某些程序也可能无法正确运行,视您的 DEP 配置而定。 您可以使用本文档中介绍的任务在计算机上配置 DEP:
为计算机上的所有程序启用 DEP
将程序添加到 DEP 例外列表
为整个计算机禁用 DEP
重要: 安装操作系统时,使用默认出现的“开始”菜单,便可获得本文档中的步骤说明。 如果修改了“开始”菜单,操作步骤会略有不同。
有关安全相关术语的定义,请参阅下面的资源:
- Microsoft 网站 https://go.microsoft.com/fwlink/?LinkId=35468 上的“Microsoft Security Glossary”
有关 DEP 的更多信息,请参阅下面的资源:
- Microsoft 帮助和支持网站 https://go.microsoft.com/fwlink/?linkid=35494 上的 Microsoft 知识库文章 875352
本文档提供了关于在 Windows XP SP2 上配置 DEP 的指导。
**注:**在运行 Microsoft Windows XP 64 位版本并附带 DEP 兼容处理器的计算机上,硬件实施 DEP 已默认启用。 64 位应用程序将不会通过内存的“不可执行”区域来运行。 不能禁用硬件启用的 DEP。
Windows XP SP2 上的软件启用 DEP 以及在任何处理器上运行的 32 位应用程序可以配置为使用内存的“可执行”或“不可执行”区域。
硬件和软件 DEP 的默认配置可以保护核心 Windows 组件和服务并对应用程序兼容性产生最小的影响,但是您可以选择将 DEP 配置为保护计算机上的所有应用程序和程序。 如果您将 DEP 配置为保护计算机上的所有应用程序和程序,则可以获得额外的保护,但是也可能会引起其它应用程序兼容性问题。 如果您将 DEP 配置为保护计算机上的所有应用程序和程序,并且某些 32 位应用程序存在兼容性问题,则可以从软件 DEP 保护中豁免这些应用程序。 您不能禁用硬件 DEP,也不能豁免在附带 DEP 兼容处理器的 64 位 Windows XP 系统上运行的 64 位应用程序。
- 凭据:您必须使用具有本地管理员权限的帐户登录到计算机上。
为所有应用程序启用 DEP
单击**“开始”,然后单击“控制** 面板”。
在**“选择** 一个 类别”下单击“性能 和 维护”。
在**“或选择一个控制面板图标”下,单击“系统”**。
单击“高级”选项卡。
图 1 “系统属性 - 高级”选项卡
在**“性能”区域中单击“设置”**。
图 2 性能选项
单击**“数据** 执行 **保护”**选项卡。
图 3 “数据执行保护”选项卡
选择**“为除下列选定程序之外的所有程序和服务启用 DEP”**。
单击**“应用”,然后单击“确定”。 此时将出现一个对话框,并通知您必须重新启动计算机才能使设置生效。 单击“确定”**。
验证用于所有程序的 DEP 设置是否已应用
单击**“开始”,然后单击“控制** 面板”。
在**“选择** 一个 类别”下单击“性能 和 维护”。
在**“或选择一个控制面板图标”下,单击“系统”**。
单击“高级”选项卡。
在**“性能”区域中单击“设置”,然后单击“数据** 执行 保护”。
验证是否已选定**“为除下列选定程序之外的所有程序和服务启用 DEP”,然后单击“确定”以关闭“性能设置”**。
单击**“确定”以关闭“系统** 属性”,然后关闭**“性能** 和 维护”。
如果 DEP 导致应用程序出现问题,则会出现一个对话框让您知道。
图 4 应用程序尝试执行并遇到与 DEP 有关的问题时出现的对话框
如果 DEP 导致应用程序出现故障,Microsoft 强烈建议您与应用程序供应商联系,确定是否提供了 DEP 兼容更新。 对于与 DEP 有关的应用程序兼容问题,安装此类更新是首选解决方法。
如果没有为应用程序提供更新,请按照以下步骤访问并配置例外列表。 例外列表是从 DEP 中排除的应用程序的列表。
**注:**只有在将 DEP 配置设置为保护所有程序和服务时,才能使用 DEP 例外列表功能。 如果您将计算机配置为仅保护主要的 Windows 组件和服务,则不能使用例外列表。
- 凭据:您必须使用具有本地管理员权限的帐户登录到计算机上。
启用 DEP 例外列表
单击**“开始”,然后单击“控制** 面板”。
在**“选择** 一个 类别”下单击“性能 和 维护”。
在**“或选择一个控制面板图标”下,单击“系统”**。
单击“高级”选项卡。
图 5 “系统属性 - 高级”选项卡
在**“性能”区域中单击“设置”**。
图 6 性能选项
单击**“数据** 执行 **保护”**选项卡。
图 7 “数据执行保护”选项卡
单击**“添加”**。
找到并选择出现故障的应用程序的可执行文件,然后单击**“打开”**。
在警告对话框中,单击**“确定”**。 选定的程序现在将出现在 DEP 程序区域中。
单击**“应用”,然后单击“确定”。 此时将出现一个对话框,并通知您必须重新启动计算机才能使设置生效。 单击“确定”**。
验证内存保护设置是否已应用
单击**“开始”,然后单击“控制** 面板”。
在**“选择** 一个 类别”下单击“性能 和 维护”。
在**“或选择一个控制面板图标”下,单击“系统”**。
单击“高级”选项卡。
在**“性能”区域中单击“设置”,然后单击“数据** 执行 保护”。
验证例外列表中是否包含所需的程序,然后单击**“确定”以关闭“性能** 设置”。
单击**“确定”以关闭“系统** 属性”,然后关闭**“性能** 和 维护”。
要对计算机的 DEP 进行任何系统范围更改,您必须为当前运行的 Windows 安装修改 boot.ini 配置文件的转换。 boot.ini 转换是:
- /noexecute = Policy_level
表 1 列出了 Policy_level 的选项。
表 1 DEP boot.ini 策略级别选项
策略级别 |
描述 |
---|---|
OptIn (默认配置) |
仅将 DEP 保护应用于 Windows 系统组件和服务 |
OptOut |
为所有过程启用 DEP。 管理员可以为不应用 DEP 的特定应用程序手动创建一个列表 |
AlwaysOn |
为所有过程启用 DEP |
AlwaysOff |
不为任何过程启用 DEP |
**重要:**在 boot.ini 文件中进行任何更改之后,您必须重新启动计算机。
**警告:**Microsoft 建议您不要全局禁用软件实施 DEP。 如果这样,可能会降低计算机的安全性。 硬件实施 DEP 不能手动禁用。
- 凭据:您必须使用具有本地管理员权限的帐户登录到计算机上。
使用 boot.ini 禁用 DEP
单击**“开始”,然后单击“控制** 面板”。
在**“选择** 一个 类别”下单击“性能 和 维护”。
在**“或选择一个控制面板图标”下,单击“系统”**。
单击**“高级”选项卡,然后在“启动和故障恢复”区域中单击“设置”**。
图 8 启动和故障恢复设置
在**“系统** 启动”区域中,单击“编辑”。
图 9 在记事本中打开的 Boot.ini 文件
在**“记事本”中单击“编辑”,然后单击“查找”**。
在**“查找** 内容”字段中键入 /noexecute,然后单击“查找 下一个”。
在**“查找”对话框中,单击“取消”**。
将 policy_level(例如“OptOut”)更换为“AlwaysOff”(不带引号)。
**警告:**请务必小心输入文字。
**注:**您的 boot.ini 文件转换现在应该是:
/noexecute=AlwaysOff
在**“记事本”中单击“文件”,然后单击“保存”**。
单击**“确定”以关闭“启动** 和 故障恢复”。
单击**“确定”以关闭“系统** 属性”,然后重新启动计算机。
验证内存保护设置是否已应用
单击**“开始”,然后单击“控制** 面板”。
在**“选择** 一个 类别”下单击“性能 和 维护”。
在**“或选择一个控制面板图标”下,单击“系统”**。
单击“高级”选项卡。
在**“性能”区域中单击“设置”,然后单击“数据** 执行 保护”。
验证 DEP 设置是否不能使用,然后单击**“确定”以关闭“性能** 设置”。
单击**“确定”以关闭“系统** 属性”,然后关闭**“性能** 和 维护”。
有关 Windows XP SP2 内存保护的更多信息,请参阅下面的资源:
- Microsoft TechNet 网站 https://go.microsoft.com/fwlink/?linkid=35495 上的“Microsoft Windows XP Service Pack 2 中的功能变更 - 第 3 部分:内存保护技术”
有关 Windows XP SP2 安全性的更多信息,请参阅下面的资源:
Microsoft 下载中心网站 https://go.microsoft.com/fwlink/?linkid=35309 上的“Windows XP Security Guide v2 updated for Service Pack 2”
Microsoft TechNet 网站 https://go.microsoft.com/fwlink/?linkid=35465 上的“Windows XP Security Guide Appendix A: Additional Guidance for Windows XP Service Pack 2”
有关安全相关术语的定义,请参阅下面的资源:
- Microsoft 网站 https://go.microsoft.com/fwlink/?LinkId=35468 上的“Microsoft Security Glossary”