托管安装程序和 ISG 技术参考及疑难解答指南
注意
适用于企业的 App Control 的某些功能仅适用于特定 Windows 版本。 详细了解 应用控制功能可用性。
启用托管安装程序和 Intelligent Security Graph (ISG) 日志记录事件
有关启用可选托管安装程序诊断事件的信息,请参阅 了解应用控制 事件。
使用 fsutil 查询托管安装程序的扩展属性 (MI)
使用启用了托管安装程序 (MI) 的应用程序控制企业版的客户可以使用 fsutil.exe 来确定文件是否由托管安装程序进程创建。 此验证是通过使用 fsutil.exe 查询文件中的扩展属性 (CA) 并查找内核来完成的。SMARTLOCKER。ORIGINCLAIM EA。 然后,可以使用第一行输出中的数据来确定文件是否由托管安装程序创建。 例如,我们来看看名为 application.exe 的文件的 fsutil.exe 输出:
示例:
fsutil.exe file queryEA C:\Users\Temp\Downloads\application.exe
Extended Attributes (EA) information for file C:\Users\Temp\Downloads\application.exe:
Ea Buffer Offset: 410
Ea Name: $KERNEL.SMARTLOCKER.ORIGINCLAIM
Ea Value Length: 7e
0000: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 ................
0010: b2 ff 10 66 bc a8 47 c7 00 d9 56 9d 3d d4 20 2a ...f..G...V.=. *
0020: 63 a3 80 e2 d8 33 8e 77 e9 5c 8d b0 d5 a7 a3 11 c....3.w.\......
0030: 83 00 00 00 00 00 00 00 5c 00 00 00 43 00 3a 00 ........\...C.:.
0040: 5c 00 55 00 73 00 65 00 72 00 73 00 5c 00 6a 00 \.U.s.e.r.s.\.T.
0050: 6f 00 67 00 65 00 75 00 72 00 74 00 65 00 2e 00 e.m.p..\D.o.w.n...
0060: 52 00 45 00 44 00 4d 00 4f 00 4e 00 44 00 5c 00 l.o.a.d.\a.p.p.l.
0070: 44 00 6f 00 77 00 6e 00 6c 00 6f 00 61 00 64 i.c.a.t.i.o.n..e.x.e
从上面显示的输出中,找到标记为“0000:”的第一行数据,然后是 16 个双字符集。 每四个集构成一个名为 ULONG 的组。 第一个 ULONG 前面的两个字符集将始终为“01”,如下所示:
0000: 01
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
如果输出的第五个位置 (第二个 ULONG) 的开头有“00”,则表示 EA 与托管安装程序相关:
0000:01 00 00 00 00
00 00 00 00 00 00 00 00 01 00 00 00
最后,第九个输出位置的两个字符集 (第三个 ULONG) 的开头指示文件是否由作为托管安装程序运行的进程创建。 值为“00”表示文件直接由托管安装程序进程写入,如果应用控制策略信任托管安装程序,该文件将运行。
0000:01 00 00 00 00 00 00 00 00
00 00 00 00 01 00 00 00
如果第三个 ULONG 的起始值为“02”,则表示“子级”。 “子级”在由托管安装程序安装的内容创建的任何文件上设置。 但是,该文件是在托管安装程序完成其工作 后 创建的。 因此,除非策略中有其他规则允许此文件,否则 不允许 此文件运行。
在极少数情况下,你可能会在此位置看到其他值,但如果策略信任托管安装程序,该值也会运行。
使用 fsutil 查询 Intelligent Security Graph (ISG) 的扩展属性
当根据 ISG 运行具有良好信誉的安装程序时,安装程序写入磁盘的文件将从安装程序继承信誉。 这些具有 ISG 继承信任的文件也将具有 KERNEL。SMARTLOCKER。如上文所述,为托管安装程序设置 ORIGINCLAIM EA。 可以通过在输出的第五个位置查找值“01”来标识 EA 是由 ISG 创建的, (fsutil 中的第二个 ULONG) 的开头:
0000:01 00 00 00 01
00 00 00 00 00 00 00 00 01 00 00 00
托管安装程序和 ISG 的更多故障排除步骤
托管安装程序和 ISG 都依赖于 AppLocker 来提供某些功能。 使用以下步骤确认 AppLocker 已正确配置并运行。
检查 AppLocker 服务是否正在运行。 在提升的 PowerShell 窗口中运行以下命令,并确认 appidsvc 和 AppLockerFltr 的状态显示为“正在运行”:
sc.exe query appidsvc SERVICE_NAME: appidsvc TYPE : 30 WIN32 STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 sc.exe query AppLockerFltr SERVICE_NAME: applockerfltr TYPE : 1 KERNEL_DRIVER STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0
如果没有,请从提升的 PowerShell 窗口运行 appidtel start,然后再次检查。
对于托管安装程序,AppCache.dat 和其他 *检查。在 %windir%\System32\AppLocker 下创建的 AppLocker 文件。 应至少存在 “ 。为每个 EXE、DLL 和 MANAGEDINSTALLER 规则集合创建的 AppLocker“文件。 如果未看到这些文件已创建,请继续执行下一步,确认已正确应用 AppLocker 策略。
对于托管安装程序故障排除,检查 AppLocker 有效策略是正确的。 从提升的 PowerShell 窗口:
Get-AppLockerPolicy -Effective -XML > $env:USERPROFILE\Desktop\AppLocker.xml
然后打开创建的 XML 文件,并确认其中包含所需的规则。 具体而言,策略应为每个 EXE、DLL 和 MANAGEDINSTALLER RuleCollections 包含至少一个规则。 RuleCollections 可以设置为 AuditOnly 或 Enabled。 此外,EXE 和 DLL RuleCollections 必须包括 RuleCollectionExtensions 配置,如 使用适用于企业的 App Control 自动允许托管安装程序部署的应用中所示。