如何在 Windows 操作系统中 (SEHOP) 中启用结构化异常处理覆盖保护

对 Windows Vista Service Pack 1 (SP1) 的支持已于 2011 年 7 月 12 日结束。 若要继续接收 Windows 安全更新,请确保你运行的是 Windows XP Service Pack 2 (SP2)。 有关更多信息,请参阅此 Microsoft 网页: 对 Windows 某些版本的支持即将结束。

简介

Windows Vista Service Pack 1、Windows 7 Windows Server 2008 和 Windows Server 2008 R2 现在包括对结构化异常处理覆盖保护 (SEHOP) 的支持。 此功能旨在阻止使用结构化异常处理程序 (SEH) 覆盖技术的攻击。 此保护机制在运行时提供。 因此,它有助于保护应用程序,无论这些应用程序是否已使用最新的改进(例如 /SAFESEH 选项)进行编译。 我们建议运行上述任何操作系统的 Windows 用户启用此功能,以提高其系统的安全性配置文件。

本文可帮助你启用此功能。

 若要让我们为你启用此功能,请转到“为我启用”部分。 如果更想自己启用此功能,请转到“让我自己启用它”部分。

注意:如果运行的是 Windows 7 或 Windows Server 2008 R2,请转到“让我自己启用它”部分,因为 Windows 7 和 Windows Server 2008 R2 的自动向导尚不可用。

为我启用

若要自动启用此功能,请单击“修复此问题”链接。 然后,在“文件下载”对话框中单击“运行”,并按照此向导中的步骤操作。

        
便笺

  • 此向导仅适用于 Windows Vista Service Pack 1 和 Windows Server 2008。
  • 此向导可能只提供英文版本;但是,自动修复功能同样适用于其他语言版本的 Windows。
  • 如果操作的计算机中并未出现此问题,则可以将自动修复保存到闪存驱动器或 CD 中,然后在出现此问题的计算机上运行该程序。

欢迎提供反馈。 若要提供反馈或报告此解决方案的任何问题,请在以下问题上留言
“帮我修复此问题”博客,或向我们发送
电子邮件 。

让我自己启用

重要:本节、方法或任务包含如何修改注册表的步骤。 但如果注册表修改不当,可能造成严重问题。 因此,请务必仔细遵循以下步骤。 为增强保护,请在修改前备份注册表。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的更多信息,请单击下面的文章编号查看 Microsoft 知识库中相应的文章:

322756 如何在 Windows 中备份和还原注册表默认情况下,SEHOP 在 Windows Server 2008 R2 和 Windows Server 2008 中处于启用状态。 默认情况下,SEHOP 在 Windows 7 和 Windows Vista 中处于禁用状态。 若要手动启用 SEHOP,请按照下列步骤操作:

  1. 单击 “开始”,单击 “运行”,键入 regedit,然后按 Enter。

  2. 找到以下注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\DisableExceptionChainValidation注意 如果在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ 子项下找不到 DisableExceptionChainValidation 注册表项,请按照下列步骤创建它:

    1. 右键单击 内核,指向
      新建,然后单击 DWORD 值 。
    2. 类型
       DisableExceptionChainValidation,然后按 Enter。
  3. 双击
    DisableExceptionChainValidation.

  4. 将 DisableExceptionChainValidation 注册表项的值更改为 0 以启用它,然后单击 “确定”。

    注意:值为 1 将禁用注册表项。 值为 0 时启用它。

  5. 退出注册表编辑器。

已知问题

启用 SEHOP 后,受 Cygwin、Skype 和 Armadillo 保护的应用程序的现有版本可能无法正常工作。

注意 要解决此问题,请联系软件供应商以获取更新。

参考资料

防止利用 SEH 覆盖

有关可用于帮助防止利用 SEH 覆盖的技术的更多信息,请访问下面的 Uninformed 网站:

http://www.uninformed.org/?v=5&a=2&t=txt 本文讨论的第三方产品是由独立于 Microsoft 的公司制造的。 Microsoft 不对这些产品的性能或可靠性作任何默示或明示的担保。

 为了方便你获取技术支持,Microsoft 提供了第三方联系信息。 该联系信息如有更改,恕不另行通知。 Microsoft 不保证此第三方联系信息的准确性。