V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
a33291
V2EX  ›  微软

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

  •  
  •   a33291 · 67 天前 · 1006 次点击
    这是一个创建于 67 天前的主题,其中的信息可能已经有所发展或是发生改变。
    5 条回复    2024-09-09 11:10:16 +08:00
    proxytoworld
        1
    proxytoworld  
       67 天前   ❤️ 1
    你要不试试能不能改,确定不是被占用了?
    geelaw
        2
    geelaw  
       67 天前 via iPhone   ❤️ 1
    技术上正确的说法:不会。因为数字签名不一定伴随抗碰撞散列函数。

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

    如果系统启用了驱动签名校验,且签名后的驱动被修改为不同的文件,且被修改过的驱动没有重新签名,且没有攻破签名方案,那么 Windows 会拒绝加载修改后的那个驱动。
    kenvix
        3
    kenvix  
       67 天前 via Android   ❤️ 1
    会拒绝。并且不光是驱动,执行所有带签名的程序都会立即对文件内容计算散列值并与签名比对。
    这也是造成巨大文件(通常是安装程序)打开缓慢的原因
    a33291
        4
    a33291  
    OP
       67 天前
    @proxytoworld 忘记补充了不好意思,这里不包括被占用这种低级错误
    r3a1ex0n0
        5
    r3a1ex0n0  
       67 天前   ❤️ 1
    @kenvix windows 默认只拒绝加载带有无效签名的驱动,只有带 IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY 的 3 环程序才会被校验失败阻止,
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1133 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 19:05 · PVG 03:05 · LAX 11:05 · JFK 14:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.