评估漏洞保护

适用于:

希望体验 Microsoft Defender for Endpoint? 注册免费试用版

Exploit protection 有助于保护设备免受使用攻击来传播和感染其他设备的恶意软件的危害。 可以将缓解措施应用于操作系统或单个应用。 增强型减灾体验工具包 (EMET) 中的许多功能都包含在 Exploit Protection 中。 (EMET 已终止支持。)

在审核中,可以看到缓解措施如何在测试环境中作用于某些应用。 这显示了如果在生产环境中启用攻击保护, 会发生什么 情况。 通过这种方式,可以验证 Exploit Protection 不会对业务线应用产生负面影响,并查看发生了哪些可疑或恶意事件。

通用准则

攻击防护缓解措施在操作系统中以较低级别工作,执行类似低级别操作的某些类型的软件在配置为使用攻击防护进行保护时可能会出现兼容性问题。

哪些类型的软件不应受到攻击保护?

  • 反恶意软件和入侵防护或检测软件
  • 调试
  • 处理数字版权管理 (DRM 的软件) 技术 (即视频游戏)
  • 使用反调试、模糊处理或挂钩技术的软件

应考虑启用攻击保护的类型应用程序?

接收或处理不受信任的数据的应用程序。

哪些类型的进程在攻击保护范围外?

服务

  • 系统服务
  • 网络服务

默认情况下启用的漏洞保护缓解措施

缓解 默认情况下启用
数据执行保护(DEP) 64 位和 32 位应用程序
验证异常链(SEHOP) 64 位应用程序
验证堆完整性 64 位和 32 位应用程序

已弃用的“程序设置”缓解措施

“程序设置”缓解措施 Reason
导出地址筛选(EAF) 应用程序兼容性问题
导入地址筛选(IAF) 应用程序兼容性问题
模拟执行(SimExec) 已替换为任意代码防护 (ACG)
验证 API 调用(CallerCheck) 已替换为任意代码防护 (ACG)
验证堆栈完整性(StackPivot) 已替换为任意代码防护 (ACG)

Office 应用程序最佳做法

不要对 Outlook、Word、Excel、PowerPoint 和 OneNote 等 Office 应用程序使用 Exploit Protection,而是考虑使用更现代的方法来防止其滥用:攻击 Surface 减少规则 (ASR 规则) :

对于 Adobe Reader,请使用以下 ASR 规则:

阻止 Adobe Reader 创建子进程

应用程序兼容性列表

下表列出了与攻击保护中包含的缓解措施存在兼容性问题的特定产品。 如果要使用攻击保护来保护产品,则必须禁用特定的不兼容缓解措施。 请注意,此列表考虑了产品的最新版本的默认设置。 将某些加载项或其他组件应用于标准软件时,可能会引入兼容性问题。

产品 攻击防护缓解
.NET 2.0/3.5 EAF/IAF
7-Zip控制台/GUI/文件管理器 EAF
AMD 62xx 处理器 EAF
Avecto (超出信任) Power Broker EAF、EAF+、Stack Pivot
某些 AMD (ATI) 视频驱动程序 System ASLR=AlwaysOn
DropBox EAF
Excel Power Query、Power View、Power Map 和 PowerPivot EAF
Google Chrome EAF+
Immidio Flex+ EAF
Microsoft Office Web 组件 (OWC) System DEP=AlwaysOn
Microsoft PowerPoint EAF
Microsoft Teams EAF+
Oracle Javaǂ Heapspray
Pitney Bowes Print Audit 6 SimExecFlow
Siebel CRM 版本为 8.1.1.9 SEHOP
Skype EAF
SolarWinds Syslogd Manager EAF
Windows Media Player MandatoryASLR、EAF

ǂ EMET 缓解措施在使用为虚拟机保留大块内存的设置(即使用 -Xms 选项 () )运行时可能与 Oracle Java 不兼容。

启用 Exploit Protection 系统设置以进行测试

默认情况下,除了在 Windows 10 及更高版本、Windows Server 2019 及更高版本以及 Windows Server 版本 1803 核心版本及更高版本上启用强制地址空间布局随机化 (ASLR) 之外,这些攻击防护系统设置默认启用。

系统设置 Setting
控制流保护 (CFG) 使用默认 (on)
数据执行保护(DEP) 使用默认 (on)
强制随机化图像 (强制 ASRL) 使用默认 (关)
(自下而上 ASRL) 随机分配内存 使用默认 (on)
高 entropy ASRL 使用默认 (on)
验证异常链(SEHOP) 使用默认 (on)

下面提供了 xml 示例

<?xml version="1.0" encoding="UTF-8"?>
<MitigationPolicy>
  <SystemConfig>
    <DEP Enable="true" EmulateAtlThunks="false" />
    <ASLR ForceRelocateImages="false" RequireInfo="false" BottomUp="true" HighEntropy="true" />
    <ControlFlowGuard Enable="true" SuppressExports="false" />
    <SEHOP Enable="true" TelemetryOnly="false" />
    <Heap TerminateOnError="true" />
  </SystemConfig>
</MitigationPolicy>

启用 Exploit Protection 计划设置以进行测试

提示

强烈建议查看漏洞缓解的新式方法,即使用 攻击面减少规则 (ASR 规则)

可以通过使用 Windows 安全应用或 Windows PowerShell 在特定程序的测试模式下设置缓解措施。

Windows 安全应用

  1. 打开 Windows 安全应用。 选择任务栏中的防护图标,或在开始菜单中搜索“Windows 安全”。

  2. 选择 应用和浏览器控制 磁贴(或左侧菜单栏上的应用图标),然后选择 漏洞保护

  3. 转到“程序设置”,然后选择要对其应用保护的应用:

    1. 如果已列出要配置的应用,请选择它,然后选择 “编辑”。

    2. 如果应用未在列表顶部列出,请选择 “添加要自定义的程序”。 然后,选择要添加应用的方式。

      • 使用“按程序添加名称”将缓解措施应用于具有该名称的任何正在运行的进程。 指定具有扩展名的文件。 可以输入完整路径,以仅将缓解措施限制为该位置中具有该名称的应用。
      • 使用“选择确切的文件路径”,以使用标准 Windows 资源管理器文件选取器窗口查找并选择所需的文件。
  4. 选择应用后,你将看到可采取的所有缓解措施的列表。 选择 “审核 ”仅在测试模式下应用缓解措施。 如果需要重启进程、应用或 Windows,系统会通知你。

  5. 对要配置的所有应用和缓解措施重复此过程。 设置完配置后,选择“应用”。

PowerShell

若要将应用级缓解设置为测试模式,请使用 Set-ProcessMitigation 审核 模式 cmdlet。

按照以下格式配置每个缓解措施:

Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>

其中:

  • <范围>:
    • -Name 表示应将缓解措施应用于特定应用。 在此标志之后指定应用的可执行文件。
  • <操作>:
    • -Enable 以启用缓解措施
      • -Disable 以禁用缓解措施
  • <缓解措施>:
    • 按照下表定义缓解的 cmdlet。 每个缓解措施用逗号隔开。
缓解 测试模式 cmdlet
任意代码防护 (ACG) AuditDynamicCode
阻止低完整性图像 AuditImageLoad
阻止不受信任的字体 AuditFont, FontAuditOnly
代码完整性防护 AuditMicrosoftSigned, AuditStoreSigned
禁用 Win32k 系统调用 AuditSystemCall
不允许子进程 AuditChildProcess

例如,若要在测试模式下为名为testing.exe的应用启用任意代码防护 (ACG ) ,请运行以下命令:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable AuditDynamicCode

可以通过将 -Enable 替换为 -Disable 来禁用 审核模式

查看 Exploit Protection 审核事件

若要查看哪些应用会被阻止,请打开事件查看器,并在 Security-Mitigations 日志中筛选以下事件。

功能 提供程序/源 事件 ID 描述
漏洞保护 安全缓解(内核模式/用户模式) 1 ACG 审核
漏洞保护 安全缓解(内核模式/用户模式) 3 不允许子进程审核
漏洞保护 安全缓解(内核模式/用户模式) 5 阻止低完整性图像审核
漏洞保护 安全缓解(内核模式/用户模式) 7 阻止远程图像审核
漏洞保护 安全缓解(内核模式/用户模式) 9 禁用 win32k 系统调用审核
漏洞保护 安全缓解(内核模式/用户模式) 11 代码完整性防护审核

另请参阅

提示

想要了解更多信息? Engage技术社区中的Microsoft安全社区:Microsoft Defender for Endpoint技术社区