微软的驱动签名后在加载时会校验文件 hash 吗?换句话说,如果 sys 被意外改动了,是否系统级别会自动拒绝加载这个驱动? win10-win11 系统

15 天前
 a33291
709 次点击
所在节点    微软
5 条回复
proxytoworld
15 天前
你要不试试能不能改,确定不是被占用了?
geelaw
15 天前
技术上正确的说法:不会。因为数字签名不一定伴随抗碰撞散列函数。

实现上准确的说法:Windows 现在使用的数字签名的验证方式的第一步就是计算文件内容(如果是内嵌签名,则删去内置签名部分)的某个散列函数,再继续验证步骤。所以验证签名本身就“验证了散列值”。

如果系统启用了驱动签名校验,且签名后的驱动被修改为不同的文件,且被修改过的驱动没有重新签名,且没有攻破签名方案,那么 Windows 会拒绝加载修改后的那个驱动。
kenvix
15 天前
会拒绝。并且不光是驱动,执行所有带签名的程序都会立即对文件内容计算散列值并与签名比对。
这也是造成巨大文件(通常是安装程序)打开缓慢的原因
a33291
15 天前
@proxytoworld 忘记补充了不好意思,这里不包括被占用这种低级错误
r3a1ex0n0
15 天前
@kenvix windows 默认只拒绝加载带有无效签名的驱动,只有带 IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY 的 3 环程序才会被校验失败阻止,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1071189

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX