简介
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
重要: 安装操作系统时,使用默认出现的“开始”菜单,便可获得本文档中的步骤说明。 如果修改了“开始”菜单,操作步骤会略有不同。
开始之前
本文档提供了关于在 Windows XP SP2 上配置 DEP 的指导。
注:在运行 Microsoft Windows XP 64 位版本并附带 DEP 兼容处理器的计算机上,硬件实施 DEP 已默认启用。 64 位应用程序将不会通过内存的“不可执行”区域来运行。 不能禁用硬件启用的 DEP。
Windows XP SP2 上的软件启用 DEP 以及在任何处理器上运行的 32 位应用程序可以配置为使用内存的“可执行”或“不可执行”区域。
为计算机上的所有程序启用 DEP
硬件和软件 DEP 的默认配置可以保护核心 Windows 组件和服务并对应用程序兼容性产生最小的影响,但是您可以选择将 DEP 配置为保护计算机上的所有应用程序和程序。 如果您将 DEP 配置为保护计算机上的所有应用程序和程序,则可以获得额外的保护,但是也可能会引起其它应用程序兼容性问题。 如果您将 DEP 配置为保护计算机上的所有应用程序和程序,并且某些 32 位应用程序存在兼容性问题,则可以从软件 DEP 保护中豁免这些应用程序。 您不能禁用硬件 DEP,也不能豁免在附带 DEP 兼容处理器的 64 位 Windows XP 系统上运行的 64 位应用程序。
执行此任务的要求
1. 凭据:您必须使用具有本地管理员权限的帐户登录到计算机上。
将 DEP 配置为保护所有应用程序
为所有应用程序启用 DEP
1. 单击“开始”,然后单击“控制面板”。
2. 在“选择一个类别”下单击“性能和维护”。
3. 在“或选择一个控制面板图标”下,单击“系统”。
4. 单击“高级”选项卡。
图 1 “系统属性 - 高级”选项卡
5. 在“性能”区域中单击“设置”。
图 2 性能选项
6. 单击“数据执行保护”选项卡。
图 3 “数据执行保护”选项卡
7. 选择“为除下列选定程序之外的所有程序和服务启用 DEP”。
8. 单击“应用”,然后单击“确定”。 此时将出现一个对话框,并通知您必须重新启动计算机才能使设置生效。 单击“确定”。
验证用于所有程序的 DEP 设置是否已应用
1. 单击“开始”,然后单击“控制面板”。
2. 在“选择一个类别”下单击“性能和维护”。
3. 在“或选择一个控制面板图标”下,单击“系统”。
4. 单击“高级”选项卡。
5. 在“性能”区域中单击“设置”,然后单击“数据执行保护”。
6. 验证是否已选定“为除下列选定程序之外的所有程序和服务启用 DEP”,然后单击“确定”以关闭“性能设置”。
7. 单击“确定”以关闭“系统属性”,然后关闭“性能和维护”。
启用 DEP 例外列表
如果 DEP 导致应用程序出现问题,则会出现一个对话框让您知道。
图 4 应用程序尝试执行并遇到与 DEP 有关的问题时出现的对话框
如果 DEP 导致应用程序出现故障,Microsoft 强烈建议您与应用程序供应商联系,确定是否提供了 DEP 兼容更新。 对于与 DEP 有关的应用程序兼容问题,安装此类更新是首选解决方法。
如果没有为应用程序提供更新,请按照以下步骤访问并配置例外列表。 例外列表是从 DEP 中排除的应用程序的列表。
注:只有在将 DEP 配置设置为保护所有程序和服务时,才能使用 DEP 例外列表功能。 如果您将计算机配置为仅保护主要的 Windows 组件和服务,则不能使用例外列表。
执行此任务的要求
l 凭据:您必须使用具有本地管理员权限的帐户登录到计算机上。
启用 DEP 例外列表
1. 单击“开始”,然后单击“控制面板”。
2. 在“选择一个类别”下单击“性能和维护”。
3. 在“或选择一个控制面板图标”下,单击“系统”。
4. 单击“高级”选项卡。
图 5 “系统属性 - 高级”选项卡
5. 在“性能”区域中单击“设置”。
图 6 性能选项
6. 单击“数据执行保护”选项卡。
图 7 “数据执行保护”选项卡
7. 单击“添加”。
8. 找到并选择出现故障的应用程序的可执行文件,然后单击“打开”。
9. 在警告对话框中,单击“确定”。 选定的程序现在将出现在 DEP 程序区域中。
10. 单击“应用”,然后单击“确定”。 此时将出现一个对话框,并通知您必须重新启动计算机才能使设置生效。 单击“确定”。
验证 DEP 例外列表设置是否已应用
验证内存保护设置是否已应用
1. 单击“开始”,然后单击“控制面板”。
2. 在“选择一个类别”下单击“性能和维护”。
3. 在“或选择一个控制面板图标”下,单击“系统”。
4. 单击“高级”选项卡。
5. 在“性能”区域中单击“设置”,然后单击“数据执行保护”。
6. 验证例外列表中是否包含所需的程序,然后单击“确定”以关闭“性能设置”。
7. 单击“确定”以关闭“系统属性”,然后关闭“性能和维护”。
配置系统范围 DEP 选项
要对计算机的 DEP 进行任何系统范围更改,您必须为当前运行的 Windows 安装修改 boot.ini 配置文件的转换。 boot.ini 转换是:
? /noexecute =Policy_level
表 1 列出了 Policy_level 的选项。
表 1 DEP boot.ini 策略级别选项
重要:在 boot.ini 文件中进行任何更改之后,您必须重新启动计算机。
警告:Microsoft 建议您不要全局禁用软件实施 DEP。 如果这样,可能会降低计算机的安全性。 硬件实施 DEP 不能手动禁用。
执行此任务的要求
l 凭据:您必须使用具有本地管理员权限的帐户登录到计算机上。
使用 boot.ini 在系统范围禁用 DEP
使用 boot.ini 禁用 DEP
1. 单击“开始”,然后单击“控制面板”。
2. 在“选择一个类别”下单击“性能和维护”。
3. 在“或选择一个控制面板图标”下,单击“系统”。
4. 单击“高级”选项卡,然后在“启动和故障恢复”区域中单击“设置”。
图 8 启动和故障恢复设置
5. 在“系统启动”区域中,单击“编辑”。
图 9 在记事本中打开的 Boot.ini 文件
6. 在“记事本”中单击“编辑”,然后单击“查找”。
7. 在“查找内容”字段中键入 /noexecute,然后单击“查找下一个”。