评估漏洞保护
适用于:
希望体验 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 规则) :
- 阻止来自电子邮件客户端和 Webmail 的可执行内容
- 阻止 Office 应用程序创建可执行内容
- 阻止所有 Office 应用程序创建子进程
- 阻止 Office 通信应用程序创建子进程
- 阻止 Office 应用程序将代码注入其他进程
- 阻止执行可能已模糊处理的脚本
- 阻止来自 Office 宏的 Win32 API 调用
对于 Adobe Reader,请使用以下 ASR 规则:
应用程序兼容性列表
下表列出了与攻击保护中包含的缓解措施存在兼容性问题的特定产品。 如果要使用攻击保护来保护产品,则必须禁用特定的不兼容缓解措施。 请注意,此列表考虑了产品的最新版本的默认设置。 将某些加载项或其他组件应用于标准软件时,可能会引入兼容性问题。
产品 | 攻击防护缓解 |
---|---|
.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 安全应用
打开 Windows 安全应用。 选择任务栏中的防护图标,或在开始菜单中搜索“Windows 安全”。
选择 应用和浏览器控制 磁贴(或左侧菜单栏上的应用图标),然后选择 漏洞保护。
转到“程序设置”,然后选择要对其应用保护的应用:
如果已列出要配置的应用,请选择它,然后选择 “编辑”。
如果应用未在列表顶部列出,请选择 “添加要自定义的程序”。 然后,选择要添加应用的方式。
- 使用“按程序添加名称”将缓解措施应用于具有该名称的任何正在运行的进程。 指定具有扩展名的文件。 可以输入完整路径,以仅将缓解措施限制为该位置中具有该名称的应用。
- 使用“选择确切的文件路径”,以使用标准 Windows 资源管理器文件选取器窗口查找并选择所需的文件。
选择应用后,你将看到可采取的所有缓解措施的列表。 选择 “审核 ”仅在测试模式下应用缓解措施。 如果需要重启进程、应用或 Windows,系统会通知你。
对要配置的所有应用和缓解措施重复此过程。 设置完配置后,选择“应用”。
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技术社区。