启用漏洞保护

适用于:

提示

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

漏洞保护 有助于防止恶意软件利用漏洞来感染设备和传播。 漏洞保护包含多种可应用于操作系统或单个应用的缓解措施。

重要

.NET 2.0 与某些漏洞保护功能不兼容,具体而言,与导出地址筛选 (EAF) 和导入地址筛选 (IAF) 不兼容。 如果已启用 .NET 2.0,则不支持使用 EAF 和 IAF。

增强型减灾体验工具包 (EMET) 中的许多功能都包含在漏洞保护中。

可以使用以下任一方法单独启用每个缓解措施:

在 Windows 10 和 Windows 11 中默认配置漏洞保护。 可以将每个缓解设置为打开、关闭或设置为其默认值。 某些缓解措施具有更多选项。 可以将 这些设置导出为 XML 文件,并将其部署到其他设备。

还可以将缓解设置为 审核模式。 审核模式允许你测试缓解措施的工作原理(并查看事件),且不会影响设备的正常使用。

Windows 安全应用

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

  2. 选择 应用 & 浏览器控 件磁贴 (或左侧菜单栏) 上的应用图标,然后选择 “攻击保护”设置

  3. 转到 “程序”设置,然后选择要向其采取缓解措施的应用。

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

  5. 对要配置的所有应用和缓解措施重复步骤 3-4。

  6. 在“系统设置”部分下,找到要配置的缓解措施,然后指定以下设置之一。 未在“程序设置”部分单独配置的应用使用此处配置的设置。

    • 默认启用:对未在特定于应用的“程序设置”部分中设置此缓解措施的应用启用缓解措施
    • 默认关闭:对未在特定于应用的“程序设置”部分中设置此缓解措施的应用关闭缓解措施
    • 使用默认值:根据 Windows 10 或 Windows 11 安装设置的默认配置,启用或禁用缓解;默认值(打开关闭)始终在每个缓解措施的“使用默认”标签旁边指定
  7. 对要配置的所有系统级缓解措施重复步骤 6。 设置完配置后,选择“应用”。

如果将应用添加到“程序设置”部分并在其中配置单个缓解设置,则系统设置部分中指定的相同缓解措施的配置上方将采用这些应用。 以下矩阵和示例有助于说明默认值的工作原理:

程序设置中启用 系统设置中启用 行为
程序设置中所定义
程序设置中所定义
系统设置中所定义
默认如使用默认选项中所定义

示例 1:Mikael 将系统设置部分中的数据执行防护配置为默认关闭

Mikael 将应用 test.exe 添加到程序设置部分。 在该应用的选项中,在“数据执行防护 (DEP)”下,Mikael 启用“替代系统设置”选项,并将开关设置为“”。 “ 程序设置 ”部分中未列出其他应用。

结果是仅为 test.exe 启用 DEP。 所有其他应用将不会应用 DEP。

示例 2:Josie 在系统设置中将数据执行防护配置为默认关闭

Josie 将应用 test.exe 添加到 “程序设置” 部分。 在该应用的选项中,在“数据执行防护 (DEP)”下,Josie 启用“替代系统设置”选项,并将开关设置为“”。

Josie 还会将应用 miles.exe 添加到“程序设置”部分,并将 控制流防护 (CFG) 配置为“”。 Josie 不会为 DEP 启用 替代系统设置 选项,也不会为该应用启用任何其他缓解措施。

结果是为 test.exe 启用了 DEP。 将不会为任何其他应用(包括 miles.exe)启用 DEP。 将对 miles.exe 启用 CFG。

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

  2. 选择 应用 & 浏览器控 件磁贴 (或左侧菜单栏) 上的应用图标,然后选择 “攻击保护”。

  3. 转到 “程序”设置,然后选择要向其采取缓解措施的应用。

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

  5. 对要配置的所有应用和缓解措施重复步骤 3-4。 设置完配置后,选择“应用”。

Intune

  1. 登录到 Azure 门户 并打开 Intune。

  2. 转到 “设备配置>文件>创建配置文件”。

  3. 命名配置文件,选择 Windows 10 及更高版本以及Endpoint Protection

    创建 Endpoint Protection 配置文件

  4. 选择“配置>Windows Defender攻击防护>攻击保护

  5. 上传具有漏洞保护设置的 XML 文件

    Intune 中的“启用网络保护”设置

  6. 选择“确定”以保存每个打开的边栏选项卡,然后选择“创建”。

  7. 选择“配置文件 分配” 选项卡,将策略分配给 所有用户 & 所有设备,然后选择 “保存”。

MDM

使用 ./Vendor/MSFT/Policy/Config/ExploitGuard/ExploitProtectionSettings 配置服务提供程序 (CSP) 启用或禁用攻击保护缓解或使用审核模式。

Microsoft Endpoint Manager

  1. 在 Microsoft Endpoint Manager中,转到 Endpoint Security>Attack surface reduction

  2. 选择 “创建策略>平台”,对于 配置文件,选择 “攻击保护”。 然后选择“创建”

  3. 指定名称和说明,然后选择“下一 步”。

  4. 选择“选择 XML 文件”,然后浏览到漏洞保护 XML 文件的位置。 选择该文件,然后选择“下一步”。

  5. 如有必要,请配置“作用域标记”和“分配”。

  6. 在“查看 + 创建”下,查看配置设置,然后选择“创建”。

Microsoft Endpoint Configuration Manager

  1. 在 Microsoft Endpoint Configuration Manager中,转到资产和合规性>终结点保护>Windows Defender Exploit Guard

  2. 选择 “主>创建攻击防护策略”。

  3. 指定名称和说明,选择 Exploit Protection,然后选择“下一步”。

  4. 浏览到漏洞保护 XML 文件的位置,然后选择“下一步”。

  5. 查看设置,然后选择“下一步”以创建策略。

  6. 创建策略后,选择“关闭”。

组策略

  1. 在组策略管理设备上,打开组策略管理控制台,右键单击要配置的组策略对象,然后点击编辑

  2. 策略管理编辑器中,转到 计算机配置 并选择 管理模板

  3. 将树扩展到 Windows 组件>Windows Defender Exploit Guard>Exploit Protection>使用一组常见的攻击保护设置

  4. 选择“已启用 ”并键入 XML 文件 的位置,然后选择“确定”。

PowerShell

可以将 PowerShell 谓词 GetSet 与 cmdlet ProcessMitigation 一起使用。 使用 Get 将列出设备上已启用的任何缓解措施的当前配置状态 - 添加 -Name cmdlet 和应用 exe 以仅查看该应用的缓解措施:

Get-ProcessMitigation -Name processName.exe

重要

尚未配置的系统级缓解措施将显示 NOTSET 状态。

  • 对于系统级别设置,NOTSET 表示已应用该缓解措施的默认设置。
  • 对于应用级别设置,NOTSET 表示将应用缓解措施的系统级别设置。 每个系统级缓解措施的默认设置都可在 Windows 安全中心查看。

使用 Set 以以下格式配置每个缓解措施:

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

其中:

  • <范围>:
    • -Name 表示应将缓解措施应用于特定应用。 在此标志之后指定应用的可执行文件。
      • -System 表示应在系统级别应用缓解措施
  • <操作>:
    • -Enable 以启用缓解措施
    • -Disable 以禁用缓解措施
  • <缓解>措施:
    • 缓解措施的 cmdlet 以及任何子选项(首尾加空格)。 每个缓解措施用逗号隔开。

例如,若要在文件夹 C:\Apps\LOB\tests 中使用 ATL thunk 仿真和名为 testing.exe 的可执行文件启用数据执行防护 (DEP) 缓解,并防止该可执行文件创建子进程,可以使用以下命令:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable DEP, EmulateAtlThunks, DisallowChildProcessCreation

重要

用逗号隔开每个缓解措施选项。

如果要在系统级别应用 DEP,请使用以下命令:

Set-Processmitigation -System -Enable DEP

若要禁用缓解,可以将 -Enable 替换为 -Disable。 但是,对于应用级缓解措施,此操作强制仅对该应用禁用缓解。

如果需要将缓解还原回系统默认值,则还需要包括 -Remove cmdlet,如以下示例所示:

Set-Processmitigation -Name test.exe -Remove -Disable DEP

下表列出了要与 -Enable-Disable cmdlet 参数一起使用的各个 缓解措施(以及可用的审核)。

缓解措施类型 适用对象 缓解措施 cmdlet 参数关键字 审核模式 cmdlet 参数
控制流保护 (CFG) 系统和应用级别 CFG, StrictCFG, SuppressExports 审核不可用
数据执行保护(DEP) 系统和应用级别 DEP, EmulateAtlThunks 审核不可用
强制图像随机化(强制 ASLR) 系统和应用级别 ForceRelocateImages 审核不可用
随机内存分配(由下而上 ASLR) 系统和应用级别 BottomUp, HighEntropy 审核不可用
验证异常链(SEHOP) 系统和应用级别 SEHOP, SEHOPTelemetry 审核不可用
验证堆完整性 系统和应用级别 TerminateOnError 审核不可用
任意代码防护(ACG) 仅限应用级别 DynamicCode AuditDynamicCode
阻止低完整性图像 仅限应用级别 BlockLowLabel AuditImageLoad
阻止远程图像 仅限应用级别 BlockRemoteImages 审核不可用
阻止不受信任的字体 仅限应用级别 DisableNonSystemFonts AuditFont, FontAuditOnly
代码完整性防护 仅限应用级别 BlockNonMicrosoftSigned, AllowStoreSigned AuditMicrosoftSigned, AuditStoreSigned
禁用扩展点 仅限应用级别 ExtensionPoint 审核不可用
禁用 Win32k 系统调用 仅限应用级别 DisableWin32kSystemCalls AuditSystemCall
不允许子进程 仅限应用级别 DisallowChildProcessCreation AuditChildProcess
导出地址筛选(EAF) 仅限应用级别 EnableExportAddressFilterPlusEnableExportAddressFilter[1] 审核不可用 [2]
导入地址筛选(IAF) 仅限应用级别 EnableImportAddressFilter 审核不可用 [2]
模拟执行(SimExec) 仅限应用级别 EnableRopSimExec 审核不可用 [2]
验证 API 调用(CallerCheck) 仅限应用级别 EnableRopCallerCheck 审核不可用 [2]
验证处理使用情况 仅限应用级别 StrictHandle 审核不可用
验证映像依赖项完整性 仅限应用级别 EnforceModuleDepencySigning 审核不可用
验证堆栈完整性(StackPivot) 仅限应用级别 EnableRopStackPivot 审核不可用 [2]

[1]:使用以下格式为进程的 DLL 启用 EAF 模块:

Set-ProcessMitigation -Name processName.exe -Enable EnableExportAddressFilterPlus -EAFModules dllName1.dll,dllName2.dll

[2]:无法通过 PowerShell cmdlet 审核此缓解措施。

自定义通知

有关在触发规则并阻止应用或文件时自定义通知的信息,请参阅 Windows 安全中心

另请参阅