如何在启用安全启动的Windows 10版本1607中允许交叉签名的内核驱动程序?


13

Windows 10版本1607(又名周年更新)现在正在强制执行严格的内核驱动程序认证,该证书已于2015年作为Windows 10的要求发布。新规则是,所有Windows 10驱动程序必须由Microsoft数字签名,不再需要交叉签名!内核驱动程序开发人员现在必须使用扩展验证(EV)代码签名证书,并将其驱动程序提交给Windows硬件开发人员中心仪表板门户,在通过某些测试后,Microsoft将在该门户中对驱动程序进行签名。

但是,该规则也有例外。如果满足以下任一条件,则 Windows 10 1607版仍接受交叉签名的内核驱动程序:

  • 该驱动程序已使用2015年7月29日之前签发的证书进行签名
  • 该驱动程序是启动驱动程序
  • 安全启动已关闭
  • Windows 10版本1607系统已升级且未直接安装
  • 设置了秘密注册表项,即使在启用了安全启动的系统上,交叉注册表驱动程序也可以加载

在我的公司中,确实存在一个问题,即在收到干净的Windows 10版本1607安装的系统上,现在已禁用了多个驱动程序,甚至某些Intel驱动程序也受到影响。此外,由于数字签名错误,使用启用了安全启动的TianoCore UEFI BIOS的高度安全的KVM虚拟机现在不会加载VirtIO网络和气球驱动程序。

而且我可以确认驱动程序在禁用了安全启动的系统上以及在已启用(就地)升级到版本1607的Windows 10系统上都能正常工作,即使启用了安全启动也是如此。

现在,我想知道该秘密注册表的名称和价值是Microsoft在以下视频中于00 h 11 m 00 s宣布

通道9-Plugfest28-Windows客户端和服务器上的驱动程序认证

...然后最终我们实际上将拥有一个注册表项...而该注册表项是...您知道...仅用于测试,因此我们绝对不希望您...设置此注册表在安装驱动程序时选择...注册表项,并且...注册表项本质上模仿了与已升级系统相同的行为...

微软从未宣布过该密钥,并且由于OSR的ntdev列表中的以下消息,我相信这永远不会发生:

我不想这么说,但是由于您询问:注册表项信息仅在NDA下可用。这意味着最终它可能会在很多地方出现在网上,但是直到那时我们才会在这里进行讨论

这让我留在了我真正的超级用户问题:

告诉Windows 10版本1607它已从先前版本升级的秘密注册表项是什么?


如果我有冒险的猜测。从Windows的早期版本升级到Windows的较新版本时,始终使用相同的密钥。
Ramhound,

1
@Ramhound ...那会是什么?
gollum

是否有人在使用该密钥?它的存在表明它已提供给外部各方以在某些情况下使用。如果是真的,请微软要求成为其中一员是没有道理的吗?

@Will Microsoft正在使用该密钥,以便在执行就地周年更新的Windows 10系统上不应用更严格的驱动程序签名策略(它们不想禁用在更新之前已运行的系统)。另一方面,此密钥的存在可能被认为是安全风险,因为它可能破坏人们最终希望采用的更严格的策略。
gollum

你试过这个吗?[HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Windows NT \ Driver签名]将BehaviorOnFailedVerify密钥值更改为“ 0”。
HackSlash

Answers:


0

您可以尝试TESTSIGNING引导配置选项

Bcdedit.exe -set TESTSIGNING ON

Make sure to disable the Secure Boot and boot to OS to execute bcedit commands, once done you can reboot to OS with secure boot enabled

TESTSIGNING引导配置选项确定Windows Vista和Windows的更高版本是否将加载任何类型的测试签名的内核模式代码。默认情况下未设置此选项,这意味着默认情况下,不会在64位版本的Windows Vista和更高版本的Windows上加载测试签名的内核模式驱动程序。

注意更改TESTSIGNING引导配置选项后,重新启动计算机以使更改生效。


由于内核将加载由任何证书签名的驱动程序,并且不需要验证就可以链接到受信任的根证书颁发机构,因此TestSigning模式不是一种选择。基本上,问题在于关于驱动程序签名验证策略,使全新安装的系统的行为像升级的系统一样。
gollum
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.