了解应用程序控制事件标记

Windows Defender应用程序控制 (WDAC) 事件包括许多字段,这些字段提供了有用的故障排除信息来准确了解事件的含义。 本文介绍一些有用的事件标记的值和含义。

SignatureType

表示验证映像的签名类型。

SignatureType 值 说明
0 未尝试未签名或验证
1 嵌入签名
2 缓存签名;CI EA 的存在意味着该文件以前已验证
3 通过目录数据库验证或直接搜索目录的缓存目录
4 通过目录数据库验证的未缓存目录或直接搜索目录
5 使用 EA 成功验证,该 EA 通知 CI 先尝试该目录
6 已验证 AppX/MSIX 包目录
7 文件已验证

请求和验证签名级别

表示验证代码的签名级别。

SigningLevel 值 说明
0 尚未检查签名级别
1 文件未签名或没有通过活动策略的签名
2 受Windows Defender应用程序控制策略信任
3 开发人员签名的代码
4 验证码已签名
5 Microsoft Store 签名的应用 PPL (受保护的 Process Light)
6 Microsoft Store 签名
7 由产品使用 AMPPL 的反恶意软件供应商签名
8 Microsoft 已签名
11 仅用于对 .NET NGEN 编译器进行签名
12 Windows 已签名
14 已签名的 Windows 受信任计算库

VerificationError

表示验证失败的原因,或者验证是否成功。

VerificationError 值 说明
0 已成功验证签名。
1 文件的哈希无效。
2 文件包含共享的可写节。
3 文件未签名。
4 吊销的签名。
5 签名已过期。
6 使用弱哈希算法对文件进行签名,该算法不符合最低策略。
7 根证书无效。
8 无法验证签名;泛型错误。
9 签名时间不受信任。
10 对于此方案,必须使用页哈希对文件进行签名。
11 页面哈希不匹配。
12 对于 PPL (受保护的流程浅色) 无效。
13 对于 PP (受保护的进程) 无效。
14 签名缺少所需的 ARM 处理器 EKU。
15 WHQL 检查失败。
16 不符合默认策略签名级别。
17 未满足自定义策略签名级别;当签名未针对 SBCP 定义的证书集进行验证时返回。
18 未满足自定义签名级别;如果签名在 UMCI 中不匹配, CISigners 则返回 。
19 二进制文件根据其文件哈希进行撤销。
20 SHA1 证书哈希的时间戳缺失或在弱加密策略定义的有效截止之后。
21 无法传递Windows Defender应用程序控制策略。
22 未独立用户模式 (IUM) ) 签名;指示尝试将标准 Windows 二进制文件加载到基于虚拟化的安全性 (VBS) trustlet。
23 无效的图像哈希。 此错误可能指示文件损坏或文件签名有问题。 使用椭圆曲线加密 (ECC) 的签名(例如 ECDSA)返回此 VerificationError。
24 不允许外部测试根;指示尝试在生产 OS 上运行外部测试版签名的代码。
25 违反反作弊策略。
26 WADC 策略显式拒绝。
27 签名链似乎被篡改/无效。
28 资源页哈希不匹配。

策略激活事件选项

应用程序控制策略规则选项值可以从成功 策略激活事件的“详细信息”部分中的“选项”字段派生。 若要分析值,请先将十六进制值转换为二进制值。 若要派生和分析这些值,请遵循以下工作流。

  • 访问事件查看器。
  • 访问代码完整性 3099 事件。
  • 访问详细信息窗格。
  • 标识“选项”字段中列出的十六进制代码。
  • 将十六进制代码转换为二进制文件。

事件 3099 策略规则选项。

有关将十六进制转换为二进制的简单解决方案,请执行以下步骤:

  1. 打开“计算器”应用。
  2. 选择菜单图标。
  3. 选择“ 程序员 模式”。
  4. 选择“ 十六进制”。
  5. 输入十六进制代码。 例如,80881000
  6. 切换到 位切换键盘

程序员模式下的计算器应用示例,其中十六进制代码已转换为二进制。

此视图以二进制形式提供十六进制代码,每个位地址分别显示。 位地址从右下角的 0 开始。 每个位地址都与特定的事件策略规则选项相关联。 如果位地址的值为 1,则设置位于策略中。

接下来,使用下表中的位地址及其值来确定每个 策略规则选项的状态。 例如,如果位地址 16 的值为 1,则策略中为 “启用:审核模式 (默认) 选项。 此设置意味着策略处于审核模式。

位地址 策略规则选项
2 Enabled:UMCI
3 Enabled:Boot Menu Protection
4 Enabled:Intelligent Security Graph Authorization
5 Enabled:Invalidate EAs on Reboot
7 Required:WHQL
10 Enabled:Allow Supplemental Policies
11 Disabled:Runtime FilePath Rule Protection
13 Enabled:Revoked Expired As Unsigned
16 Enabled:Audit Mode (Default)
17 Disabled:Flight Signing
18 Enabled:Inherit Default Policy
19 Enabled:Unsigned System Integrity Policy (Default)
20 Enabled:Dynamic Code Security
21 Required:EV Signers
22 Enabled:Boot Audit on Failure
23 Enabled:Advanced Boot Options Menu
24 Disabled:Script Enforcement
25 Required:Enforce Store Applications
27 Enabled:Managed Installer
28 Enabled:Update Policy No Reboot

Windows 信任的 Microsoft 根 CA

规则表示信任链接到此根 CA 的证书签名的任何内容。

根 ID 根名称
0
1 Unknown
2 Self-Signed
3 Microsoft Authenticode (tm) 根颁发机构
4 Microsoft 产品根 1997
5 Microsoft 产品根 2001
6 Microsoft 产品根 2010
7 Microsoft 标准根 2011
8 Microsoft 代码验证根 2006
9 Microsoft 测试根 1999
10 Microsoft 测试根 2010
11 Microsoft DMD 测试根 2005
12 Microsoft DMDRoot 2005
13 Microsoft DMD 预览版根 2005
14 Microsoft 外部测试版根 2014
15 Microsoft 第三方市场根
16 Microsoft ECC 测试根 CA 2017
17 Microsoft ECC 开发根 CA 2018
18 Microsoft ECC 产品根 CA 2018
19 Microsoft ECC 设备根 CA 2017

对于已知根,证书的 TBS 哈希将转换为Windows Defender应用程序控制的代码中。 例如,无需在策略文件中将其列为 TBS 哈希。

状态值

表示用于传达系统信息的值。 它们有四种类型:成功值、信息值、警告值和错误值。 有关常见用法详细信息的信息 ,请参阅 NTSATUS