AppLocker 体系结构和组件

面向 IT 专业人员的本主题介绍了 AppLocker 的基本体系结构及其主要组件。

AppLocker 依赖于应用程序标识服务为文件提供属性,并为文件评估 AppLocker 策略。AppLocker 策略有条件访问控制项 (ACE),而策略是通过使用基于属性的访问控制 SeAccessCheckWithSecurityAttributesAuthzAccessCheck 功能评估的。

AppLocker 提供三种方法截获并验证是否允许文件根据 AppLocker 策略执行。

创建新进程

在创建新进程(如运行一个可执行文件或通用 Windows 应用)时,AppLocker 将调用应用程序标识组件来计算用于创建新进程的主要可执行文件的属性。然后使用这些属性更新新进程的令牌,并检查 AppLocker 策略以验证是否允许运行可执行文件。

将加载 DLL

加载新 DLL 时,将向 AppLocker 发送通知以验证是否允许加载 DLL。AppLocker 调用应用程序标识组件来计算文件属性。它复制现有进程令牌并将重复令牌中的应用程序标识属性替换为加载 DLL 的属性。AppLocker 然后评估此 DLL 的策略,重复的令牌会被丢弃。根据此检查的结果,系统将继续加载 DLL,或者停止此进程。

脚本运行

在脚本文件运行之前,脚本主机(例如:对于 .ps1 文件,脚本主机是 PowerShell)将调用 AppLocker 来验证该脚本。AppLocker 将以用户模式调用带有该文件名或文件句柄的应用程序标识组件以计算文件属性。然后针对 AppLocker 策略评估脚本文件以验证它是否允许运行。在每种情况下,AppLocker 所采取的操作都将写入事件日志。

相关主题

AppLocker 技术参考