一、Windows内核的进程令牌完整性检查机制现状
1、基础机制的存在性
Windows自Vista起已引入 强制性完整性控制(MIC) ,通过进程令牌中的完整性级别(低、中、高、系统)和对象(如文件、注册表)的完整性标签进行访问控制。核心策略包括:
- NO_WRITE_UP:禁止低完整性进程写入高完整性对象(默认启用)。
- NEW_PROCESS_MIN:子进程继承父进程与可执行文件中较低的完整性级别。
- 访问资源时,内核在DACL检查前优先执行完整性检查,若令牌完整性低于对象要求则直接阻断操作。
2、内核实时阻断的实现方式
- 当进程尝试访问对象时,内核安全参考监视器(Kernel Security Reference Monitor)会比对令牌完整性SID与对象SYSTEM_MANDATORY_LABEL_ACE标志。若违反策略(如低完整性进程写高完整性对象),立即返回访问拒绝。
- 调试工具(如WinDbg)可通过!token命令查看进程令牌的完整性级别,验证阻断逻辑。
二、SMB客户端权限异常提升(CVE-2025-33073)的修复方案
1、漏洞原理与利用条件
攻击者通过恶意SMB服务器在Kerberos认证阶段注入伪造票据,诱骗客户端将进程令牌提升至SYSTEM权限,前提是目标未启用SMB签名。
2、修复措施分析
根据2025年6月补丁(KB5058392等)和漏洞通报:
- 补丁核心修改:增强SMB客户端对Kerberos票据的验证逻辑,阻断伪造票据的注入路径。
- 未新增内核令牌检查:修复聚焦于协议层认证漏洞,而非在内核新增通用令牌监控机制。微软建议通过强制启用SMB签名(组策略)或安装补丁缓解。
- 与PrintNightmare修复对比:后者通过修改RpcAddPrinterDriverEx API加入管理员权限校验,属应用层加固,与内核令牌机制无直接关联。
三、与PrintNightmare修复方案的异同
1、相似性
- 二者均涉及权限绕过:PrintNightmare利用打印驱动加载漏洞提权,SMB漏洞利用协议认证缺陷。
- 修复均采用精准漏洞修补(非通用机制),通过更新特定组件阻断攻击路径。
2、差异性
四、技术演进与局限性
1、内核防护的局限性
- 现有MIC机制仅能阻断显式违规操作(如低完整性写高对象),但无法识别令牌被非法篡改(如CVE-2025-33073的票据伪造)。
- 实时阻断依赖对象完整性标签的预设,若对象未标记(默认中完整性)或标签错误,防护可能失效。
2、未来改进方向
- 令牌行为监控:可借鉴EDR的异常检测思路(如监测令牌突变事件),但需权衡性能开销。
- 驱动层加固:如ACG(任意代码保护)阻断内存篡改,但尚未覆盖令牌伪造场景。
结论
- 否,Windows内核未新增针对SMB客户端权限提升的专用“进程令牌完整性检查”机制。CVE-2025-33073的修复依赖协议层补丁和SMB签名强制启用,而非内核级通用阻断。
- 现有MIC机制虽提供基础完整性防护,但无法实时检测令牌非法提升。此类漏洞仍需针对性修补,反映出内核安全模型对协议层攻击的局限性。
- 与PrintNightmare修复逻辑一致:二者均属漏洞特异性修复,非内核架构革新。用户应优先安装补丁并启用SMB签名,而非依赖未实现的通用阻断机制。