Windows本地安全策略不支持内核态细粒度审计,需通过gpedit.msc启用高级审核策略,配置对象访问、特权使用、详细跟踪等子类,并结合SACL、事件日志扩容及注册表设置(如ProcessCreationIncludeCmdLine_Enabled),方可审计驱动加载、进程创建(ID 4688)、句柄操作(ID 4694)等内核行为。
windows 本地安全策略本身不直接提供内核态(kernel-mode)级别的细粒度审计能力,它主要管理账户策略、本地策略和公钥策略等用户态与系统基础策略。真正的内核态安全审计——比如驱动加载、对象句柄操作、特权服务调用、进程创建/注入等——需依赖更底层的机制,如高级审核策略配置(advanced audit policy configuration)结合事件日志系统,并配合 windows 审核子系统(lsass + security log + etw)协同工作。
启用内核相关行为的可审计项
虽然“本地安全策略”界面(secpol.msc)功能有限,但可通过其上级入口——组策略编辑器(gpedit.msc)——启用真正影响内核行为的审核策略。这些策略最终由内核中的 audit.dll 和 ci.dll 等组件响应,记录到安全事件日志中:
-
打开组策略编辑器:按
Win + R,输入gpedit.msc(专业版/企业版可用;家庭版需先启用本地组策略) -
导航至审核策略路径:
计算机配置 → Windows 设置 → 安全设置 → 高级审核策略配置 → 系统审核策略 -
关键内核态相关策略建议启用:
- 对象访问 → 细粒度对象访问审核(需提前在注册表或 PowerShell 中启用并配置 SACL)
- 特权使用 → 认证服务、非交互式登录、敏感特权提升(覆盖 SeDebugPrivilege、SeLoadDriverPrivilege 等)
- 详细跟踪 → 进程创建、DPAPI 操作、Plug and Play 事件(进程创建日志含映像路径、命令行、签名状态,是检测恶意注入的关键)
-
系统 → 安全系统扩展、驱动程序加载、内核模式代码完整性事件(如
Event ID 1149表示内核驱动被加载,Event ID 1639表示 HVCI 或 DMAP 拒绝加载)
补充必要前提条件
仅开启策略不够,还需确保底层审计基础设施就绪:
- 启用安全事件日志自动归档与足够容量:默认日志大小常为 20MB,易被覆盖;建议设为 512MB 以上,并启用“日志满时覆盖旧事件”
-
赋予审计所需权限:确保
LOCAL SERVICE和NT AUTHORITY\SYSTEM账户拥有对%SystemRoot%\System32\Winevt\Logs\Security.evtx的读写权限 - 启用内核驱动签名强制(KMCS)与 HVCI(基于虚拟化的安全性):它们本身不是审计策略,但会触发更多可审计的内核保护事件(如拒绝未签名驱动),增强审计上下文完整性
-
使用 PowerShell 补充配置(部分策略无 GUI):
auditpol /set /category:"Detailed Tracking" /success:enable /failure:enableauditpol /set /subcategory:"Process Creation" /success:enable
验证与查看内核级审计日志
生效后,关键内核行为将出现在“事件查看器 → 安全日志”中,重点关注以下事件 ID:
- 4688:新进程创建(含父进程、命令行、签名状态、完整性级别)
- 4697:计划任务创建(常用于持久化)
- 4694:对象句柄创建(如打开进程/线程/节对象,反映调试或注入意图)
- 4662:对象访问(需配合 SACL 设置,可审计注册表、文件、内核对象操作)
- 1149 / 1150 / 1639:内核驱动加载、签名验证失败、HVCI 拒绝事件
注意:4688 默认不记录命令行参数,需额外启用注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Audit\ProcessCreationIncludeCmdLine_Enabled = 1(DWORD)。

















