获得可靠的校验和

信息安全 验证 哈希
2021-08-30 13:13:54

更新:最近发布了一个包含恶意软件的传输版本。引用这篇ars technica文章

似乎传输网站可能以某种方式受到损害,因为它是通过 HTTP 而不是主要的 HTTPS 传输提供的


原始问题


我想从这里下载 mac 的传输 bittorrent 应用程序。如果您将鼠标悬停在指向.dmg文件链接的链接上,该页面上有一个 sha1 校验和,但由于该页面不是通过 https 提供的,我无法判断这是否是真实的。我主要担心的是中间人攻击(破坏数据)。不使用 https 的事实似乎很愚蠢,因为他们域上的另一个页面可以与签名证书建立安全连接。

我想知道我是否遗漏了什么,尽管这个问答似乎同意我的看法。我还想知道是否有一种方法可以在这种情况下或在我的特定情况下仍然找出文件是否真实。

2个回答

获得可靠的校验和

校验和本身对于它应该使用的内容是可靠的。但是你的期望是错误的。

给定哈希的目的不是为了检查攻击,而是为了防止意外的文件损坏(位翻转,丢失端......)。它不能用于真实性,因为哈希和文件都由同一个站点提供,黑客可以在入侵站点时简单地替换两者。为了检查真实性,您需要作者签名的数字签名,而不是简单的哈希。

SHA-1 哈希可能不是为了完整性,而是因为在 BitTorrent 文件中是由哈希索引的。我想那些想要下载那个 BitTorrent 客户端的人可能已经在使用一个竞争的实现,并且可能希望通过 BitTorrent 获得新的。

如果您尝试通过 HTTPS 连接到下载页面,它会将您重定向到 HTTP 下载页面。如果您使用文件的直接 URL(带有https://前缀),也会发生同样的情况。这对我来说似乎是一个错误的配置。也许他们打算支持 SSL,但摸不着头脑。也许他们担心 SSL 的“明显的高成本”(没有实际测量过)。也许他们认为,如果您要使用 BitTorrent,您必须已经准备好下载和使用不正当的东西。

您可以在 Google 的搜索请求中使用哈希值,看看您是否可以找到列出哈希的“受信任”位置,并以某种方式保证它是正确的。在这种情况下,它不会产生太多有趣的结果,但一般来说,它是值得尝试的。

就个人而言,我更担心的是 MitM 修改哈希和文件的可能性,而不是编译的二进制文件可能包含恶意软件的想法(你怎么知道源服务器是否没有被黑客入侵?)。SSL 只能防止传输中的更改。(这是我对下载东西的危险所做的一般性评论;我不想对那个特定的软件或其作者做出贬低的断言。)