HVCI 与 Secure Boot 双重拦截下,为什么你的内核驱动必须通过 WHQL 认证才能正常加载?
前阵子帮一个做安全软件的团队排查问题。他们的过滤驱动在自家测试机上一切正常,发给客户后设备管理器直接黄叹号,事件查看器 System 日志刷出 Event ID 219,应用层拿到的错误是 0xC0000428(STATUS_INVALID_IMAGE_HASH)。客户那台机器开着 Secure Boot,组策略又把 VBS / HVCI 打开了。团队负责人第一句话是"可我都用 EV 代码签名证书签过了啊"。问题就在这儿:在 64 位 Windows 上,内核驱动真不是你签了名就能跑,得微软签过、还得 HVCI 认,缺一样都白搭。