gpt4 book ai didi

security - 可以在保持签名完整性的同时篡改签名的可执行文件吗?

转载 作者:行者123 更新时间:2023-12-03 23:19:20 24 4
gpt4 key购买 nike

我想知道在确定文件是否被篡改时,我可以在多大程度上依赖文件上的数字签名(又名来自 Verisign、Simantec 等的数字证书)。

假设我想下载一个不再在原始开发者网站上但在第三方网站(如 cnet、oldapps.com 或 filehippo)上可用的应用程序版本。我通常会使用列出 MD5 或 SHA1 哈希签名的人搜索旧论坛条目,以查看它们是否与我下载的哈希匹配。这仅适用于软件广泛的真正大型开发人员。

我想知道验证文件的数字签名是否是确保文件来自开发人员并且未被第三方更改的另一种可靠方法?

我要问的是:如果黑客使用恶意代码注入(inject)已经签名的 DLL 或 EXE,有效地更改文件的哈希,它会破坏数字签名,因为签名嵌入了某种摘要吗?还是签名完全不受影响?

最佳答案

我决定使用经验方法来回答我自己的问题,而不是接受数字认证机构的话。

我设计了一个实验,使用十六进制编辑器修改 wdksetup.exe(来自 Microsoft 网站的签名 WDK Web 安装程序)的副本,并研究了数字签名是如何受到影响的。我将 1byte 一直替换为 25KB,并在每次进行替换时制作一个新副本。我还使用 ResourceHacker 向其中添加了一个图标组,从而为文件添加了额外的 400KB。

结果:

  • 替换 1 个单字节将更改文件的 SHA1 摘要,但也会导致其签名检查失败。签名将仍然存在,但它将无法通过任何检查。如果您将文件发送到 VirusTotal,如果您转到属性并单击签名上的详细信息,或者如果您尝试运行它并查看 Publisher 行,您将收到签名无效的通知。 1 个单字节。杰出的!
  • 话虽如此,我强调签名并没有丢失(即使我做了高达 25KB 的替换),所以当你转到文件属性时,仍然会有一个数字签名选项卡,它仍然会显示 Microsoft。这是非常具有误导性的,您必须小心不要在那里结束检查,因为无论签名是否有效,该选项卡仍然存在。为确保您有一个好的签名,您必须选择签名并单击详细信息。然后,您将获得一个对话框,告诉您该签名是否有效。这描述了我在 Windows 7 中观察到的行为,我没有 8 或 10 的副本方便查看属性对话框在那里的行为。
  • 对文件进行大量更改大小的修改将导致签名被完全破坏。

  • ( 编辑 : 我很想知道大小的影响。我在一个 250mb 的文件上重复了 1 字节替换实验,结果相同。我也很好奇大小是否会影响发生碰撞的可能性计算摘要。我在 3.5GB DVD iso 中进行了 1 字节替换,这导致了不同的 MD5 和 SHA1 哈希值。)

    关于security - 可以在保持签名完整性的同时篡改签名的可执行文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41668872/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com