可以给驱动签名吗?
Windows系统中的数字签名模式有两种,分别是应用模式(普通模式)和内核模式。除了少数驱动如打印机驱动可以用普通模式签名外,大部分驱动都需要用内核模式签名,否则Windows将拒绝加载此驱动。
微软规定从2021年4月开始,所有新发布的证书都不可以使用内核模式给驱动签名。由于证书的有效期最长为三年(极少数为三年半),因此至今为止所有可以用内核模式签驱动的证书(即“内核证书”)都已过期。
那么如何用内核模式签驱动呢?
对于驱动程序的sys文件,可以用已过期的内核证书对其进行内核模式的签名且不必添加时间戳(暂时需要找我手动签名),因为Windows不会检查sys签名证书的有效期,只需确保sys签名证书是内核证书就行。当然,对于最新版的Win10/11系统,需要关闭“内核隔离”功能,否则可能无法加载过期证书签名的sys文件。
对于驱动程序的cat文件,只能用未过期的非内核证书(比如我这个证书)对其进行普通模式的签名,因为Windows将检查cat签名证书的有效期,一旦检测到证书过期就会弹出警告甚至拒绝加载驱动。
当然,如果你有钱,也可以将驱动提交给微软进行WHQL认证,认证通过后微软会给驱动加上WHQL签名。WHQL签名的作用等同于内核签名,但是WHQL认证巨贵,而且流程相当繁琐。
什么是驱动程序的sys和cat文件?它们应该如何签名?
在Windows系统中,驱动程序大体上可以分为两大类,一类是功能性驱动(又称NT驱动),另一类是设备驱动(又称WDM驱动)。
功能性驱动比较简单,只包含一个sys文件,不与硬件设备相对应(即“设备管理器”中永远找不到其对应的设备),它能够以服务的形式在系统启动阶段被加载。因此,对于这类驱动,正如上条所说,只需用过期的内核证书签名其sys文件即可。
设备驱动相对而言更复杂些,一个设备驱动除了包含一个或多个sys文件外,还包含了一个inf文件和一个cat文件,有的驱动可能还会包含EXE、DLL等其他格式的二进制文件。其中,INF文件记录了必要的硬件安装信息,包括设备类型、设备生产厂商、适用产品等信息,Windows可以据此自动安装驱动程序,而CAT文件则是记录了该驱动所包含的其他所有文件的校验值,包括inf/sys/exe/dll以及其他文件类型,用于确保驱动文件未被修改。设备驱动通常与硬件设备相对应,在“设备管理器”能够找到其对应的设备(包括系统设备)。
Windows在验证设备驱动的签名时,会同时检查其sys和cat文件的签名,只要二者中的任意一个具有内核签名或WHQL签名,就允许加载此驱动。如上条所述,由于Windows只会检查cat签名证书的有效期而不会检查sys的,因此可以用过期内核证书签名sys配合未过期非内核证书签名cat的方式对设备驱动进行签名。
当你需要修改设备驱动时,如果修改了sys文件;或者未修改sys文件、只修改了inf文件,但原先的sys文件没有内核签名或WHQL签名,则需要根据修改后的文件重新生成一个cat,并且按上述方法对sys和cat文件分别进行签名。如果你只修改了inf文件而未修改sys文件,且原先的sys文件已经具有内核签名或WHQL签名,则只需重新生成cat并对该cat文件进行签名即可。
数字签名可以解决杀毒软件误报问题吗?
有效果,但是不能彻底解决。
可以降低杀软误报概率,但是不能完全防止杀软误报。
杀毒软件误报原因有很多。
首先你要了解杀毒软件杀毒原理是匹配特征值。
比如,某个病毒用了一个模块,杀毒软件会记下模块特征值,并且认为有这个模块特征值的就是病毒,如果你的exe也刚好还用了模块,那么你的软件就会可能误报。
一个典型例子是有一个客户用了 mini 钩子模块,误报很严重,换了微软的钩子就全绿通过。
匹配特征值只是杀软的一个原理,其他还有很多。
另外我们我们发现:
签名之后普遍降低误报率。
但是不能完全避免误报。
误报跟下面原因有关系
– 你的开发环境(易语言误报重灾区)
– 有没有申请管理员权限(高权限易误报)
– 有没有调用高危模块 或者 DLL
– 有没有数字签名
包年套餐如何签名?
自助签名。
我们开发了自助签名软件。
你可以在你电脑上自助签名,任何时间,都可以签名(需要网络)。
购买包年套餐后会得到一张1年有效期的许可证,在有效期内不限制签名次数。
许可证过期不会影响已经签名的文件有效性,已签名的文件是永久有效的。
签名有效期是多久?
永久有效。
许可证过期不影响已签名文件的有效性。
证书过期也不影响已签名文件的有效性。
因为签名的时候会带上时间戳,所以永久有效。
共享签名安全吗?
当然,安全是共享的基石。
严格的安全审查
- 只签名正规软件
- 严格的病毒扫描
- 恶意软件不予合作
上传签名记录
- 签名自动上传签名记录
- 预防证书滥用风险
不定期核查文件安全性
- 后台不定期核查
- 确保安全 100%
- 违规者会被取消合作并追究责任
你这个证书等级怎么样?
证书分 3 个等级
- 个人证书
- 企业证书 OV
- 企业拓展证书 EV
此共享证书是最高信任等级 EV 证书。
大家选购证书的时候也要擦亮眼睛,很多人拿 OV 证书来冒充 EV 证书。
如何区分 EV 证书?
- 证书路径有 EV 字样,比如本证书颁布机构 Certum Extended Validation Code Signing 2021 CA
- 证书详细信息 > 使用者 参数中一定有 SERIALNUMBER 字段
注意:
个人/企业OV/企业EV证书与驱动签名的内核/非内核证书是两套不同的分类标准,未过期的个人/OV/EV证书都可以给驱动程序的cat文件签名,效果完全一样。EV证书相比于个人和OV证书的最大优势在于它可以完全消除SmartScreen的拦截。另外,若要进行WHQL认证,也必须先用EV证书签名一个测试文件提交给微软,否则微软将拒绝后续的认证流程。
包年套餐你跑路了怎么办?
完全不必担心。
项目最大的成本支出是 数字证书。
现在数字证书已经买了,证书有效期还有 2年+,不能退的。
我完全没有理由跑路啊。
我更期望的是服务满意来年续签,不是么?