win 系统 实施 DEP |
| 发表者:分类:Devops2011-12-18 16:02:51 阅读[3168] |
win 系统 实施 DEP
除了显式包含可执行代码的内存位置外,硬件实施 DEP 将进程中的所有内存位置均标记为不可执行。有一类攻击是尝试在不可执行的内存位置插入代码并运行它。DEP 可通过截获这些攻击并引发一个异常来帮助阻止这些攻击。
硬件实施 DEP 依靠处理器硬件来使用属性标记内存,此属性指明不能从该内存执行代码。DEP 以虚拟内存页面为单位运行,通常情况下更改 Page Table Entry (PTE) 中的位来标记内存页面。
处理器体系结构确定 DEP 在硬件中的实现方式以及 DEP 标记虚拟内存页面的方式。但是,在从使用合适属性集标记的页面执行代码时,支持硬件实施 DEP 的处理器可能引发异常。
Advanced Micro Devices (AMD) 和 Intel 已经定义并发布了与 Windows 兼容的体系结构,该体系结构与 DEP 兼容。
从 Windows XP SP2 开始,Windows 的 32 位版本使用下列功能之一:
- 由 AMD 定义的 No-Execute Page-Protection (NX) 处理器功能。
- 由 Intel 定义的 Execute Disable Bit (XD) 功能。
注意:由于 64 位内核识别地址窗口化扩展插件 (AWE),因此在 Windows 的 64 位版本中没有单独的 PAE 内核。
有关 Windows Server 2003 中 PAE 和 AWE 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 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 仅覆盖 Windows 系统二进制文件。 |
| 选择禁用 | 默认情况下,对所有进程启用 DEP。可以使用“控制面板”中的“系统”对话框手动创建未应用 DEP 的特定程序的列表。信息技术 (IT) 专业人员可以使用应用程序兼容性工具包“选择禁用”DEP 保护的一个或多个程序。用于 DEP 的系统兼容性修补程序和填充程序确实可以发挥作用。 |
| 总是启用 | 此设置将整个系统置于 DEP 保护范围内。所有进程始终在应用 DEP 的情况下运行。使特定程序不受 DEP 保护的例外列表不可用。用于 DEP 的系统兼容性修补程序不起作用。使用应用程序兼容性工具包选择禁用的程序将在应用 DEP 的情况下运行。 |
| 总是禁用 | 无论硬件 DEP 是否支持,此设置都不会为系统的任何部分提供 DEP 保护。除非在 Boot.ini 文件中包括“/PAE”选项,否则处理器不会在 PAE 模式下运行。 |
配置硬件实施和软件实施 DEP 的方式相同。如果系统范围的 DEP 策略设置为“选择启用”,则同一 Windows 核心二进制文件和程序既受硬件实施 DEP 的保护,也受软件实施 DEP 的保护。如果系统无法使用硬件实施 DEP,则 Windows 核心二进制文件和程序将只受软件实施 DEP 的保护。
同样,如果系统范围的 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:
- 单击“开始”,单击“运行”,键入sysdm.cpl,然后单击“确定”。
- 在“高级”选项卡的“性能”下,单击“设置”。
- 在“数据执行保护”选项卡上,执行下列过程之一:
- 单击“只为关键 Windows 程序和服务启用数据执行保护”以选择“选择启用”策略。
- 单击“除所选之外,为所有程序和服务启用数据执行保护”以选择“选择禁用”策略,然后单击“添加”以添加不希望使用 DEP 功能的程序。
- 单击“确定”两次。
要使用 Boot.ini 文件配置 DEP 以切换到“总是启用”策略,请按照下列步骤操作:
- 单击“开始”,右键单击“我的电脑”,然后单击“属性”。
- 单击“高级”选项卡,然后单击“启动和故障恢复”字段下的“设置”。
- 在“系统启动”字段中,单击“编辑”。在记事本中打开 Boot.ini 文件。
- 在记事本中单击“编辑”菜单上的“查找”。
- 在“查找内容”框中键入/noexecute,然后单击“查找下一个”。
- 在“查找”对话框中,单击“取消”。
- 用 AlwaysOn 替换 policy_level。
警告:请确保输入的文本正确无误。现在,Boot.ini 文件开关应显示为:/noexecute=AlwaysOn - 在记事本中单击“文件”菜单上的“保存”。
- 单击“确定”两次。
- 重新启动计算机。
转载请标明出处【win 系统 实施 DEP】。
《www.micoder.cc》
虚拟化云计算,系统运维,安全技术服务.
| Tags: | [阅读全文...] |
最新评论