关于Windows驱动签名认证的大致总结
ANY_LNK
2022年07月29日 04:31

此文用于向开发者或安全测试人员提供驱动签名参考,以辅助辨别目标驱动是否能在对应的环境条件下加载。


一、Windows 10 1607 版本及更新的 Windows 开启Secure Boot,全新安装

(1)签署微软WHQL签名(建议:同时签署表明自身企业/组织的由CA签署的第三方签名)

示例:英特尔的驱动签名

(2)签署2015.7.29前颁布的签名(黑名单外)。这种情况不需要WHQL签名,但此种情况经常被各种Rootkit利用。可使用无效签名,但在内核隔离开启的情况下可能无法加载。

示例:processhacker的驱动没有WHQL

但其具有2015.7.29前颁布的证书(有效期开始),因而可以加载

二、Windows 10 1607 及更新版本 不开启Secure Boot

(1)WHQL同上

(2)SHA1或SHA256证书(不一定要求有效,被盗用的无效签名只要不在黑名单里就能加载)

三、Windows 10 1607 之前的版本(至Vista)

SHA1或SHA256签名,对于某些旧版Win7及之前的版本,可能不支持SHA256。也可能没有黑名单机制,某些使用盗用被拉黑的签名(例如上海域联之类的签名可以运行起来)


参考:

看雪论坛:https://bbs.pediy.com/thread-272998.htm

卡饭论坛:https://bbs.kafan.cn/forum.php?mod=redirect&goto=findpost&ptid=2240242&pid=51412526&fromuid=1275892等讨论

知乎:https://zhuanlan.zhihu.com/p/465297248

微软官方文档:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/install/driver-signing

https://docs.microsoft.com/zh-cn/windows-hardware/drivers/install/kernel-mode-code-signing-policy--windows-vista-and-later-

如有错误或其他问题,欢迎指正。