下载应用程序时MD5哈希的目的是什么?

时间:2009-04-18 21:02:41

标签: download md5

我从未检查过并将MD5哈希值与程序主页上的真实MD5哈希值进行比较。 我下载的程序一直都有效。

有人可以在下载过程中放置​​自己的代码吗?

9 个答案:

答案 0 :(得分:9)

哈希根据文件的内容为文件提供(某种)唯一标识符。由于有损连接和差的传输方法以及漂浮的恶意文件副本,哈希提供了一种证明文件与您尝试从服务器下载的文件相同的方法。

您通过散列所获文件的副本来验证它,并查看散列是否相同。

人们可以注入令人讨厌的代码,更改正在下载的文件,或者你可能会损坏下载。

答案 1 :(得分:3)

就下载损坏而言,这种情况非常罕见。我不认为我曾经有一个损坏的下载,除非它以某种方式被截断并且没有报告错误(旧的FTP客户端在当天回来)。

如果您从镜像下载,可能会有一些安全优势,并且您信任真实网站(发布MD5)比您信任镜像(可能是过时的,或者邪恶的,或者错误的,或pwned,或其他东西,所以它和你之间的缓存Web代理可能是如此)。但是,这种情况非常不可能,因为通常没有理由认为主站点比镜子更可靠或更安全。不过,这是第二种意见。

我通常不会费心检查已发布的校验和,除非有特别的理由认为它们是正确的并且下载不安全(例如校验和位于https URL而下载不是)。如果你担心邪恶的行为者,那么你需要签名,而不仅仅是一个不安全的校验和。

我偶尔会在virustotal上使用基于哈希的病毒扫描报告。我想发布的MD5sum可以让你在下载之前对文件进行病毒检查,然后你必须在下载后检查总和,以确认你检测到的病毒值确实是你下载的文件。

请注意,如果恶意程序生成正版文件以及恶意病毒加载的文件,则MD5校验和不安全。虽然还没有完整的前映像攻击,但可能会产生MD5冲突。任何认真对待安全问题的人都尽可能切换到SHA256总和。由于遗产和资源原因,这比您希望的要少。

答案 2 :(得分:2)

  

有人可以放   在下载过程中他们自己的代码?

是。如果下载是通过未加密的HTTP完成的,那么它将通过许多网络进行路由,并且绝对是人们操纵它并插入木马或病毒的机会。

这正是下载MD5校验和的目标,尽管这当然不是完美的安全性,因为校验和可能以相同的方式被操纵。但是,攻击者需要更多的努力和协调。

总而言之,这不是一个非常常见的问题,因为还有其他攻击媒介,目前对坏人(主要是webbrowser漏洞)更有用。

答案 3 :(得分:1)

如果文件已损坏,可以检查该文件。多数民众赞成我认为。

答案 4 :(得分:1)

MD5哈希是一种验证形式。如果文件中的单个位不同,则提供的散列将与您下载的文件生成的散列不匹配。这会提醒您传输或犯规错误(罕见)。

答案 5 :(得分:1)

除了让你确定你得到了你试图下载的代码(它没有被故意或意外地破坏),如果你检查哈希,在发布代码时包含哈希的做法是良好的社会卫生。由于共享或销售软件的人通常会在其代码中包含哈希值,并且我们认为有些人会定期检查它们(因为某些下载工具会自动执行此操作),因此破解程序会发现这是一种传播恶意软件的不太有用的方法。因此,那些只检查安全关键软件的哈希,或那些从不检查的人可以更有信心该软件是它所声称的。如果破解者试图开始将病毒或特洛伊木马注入经常使用的下载站点,那么很快就会检测到它们,并且攻击会被修复并公布。

所以,你可以通过偶尔检查来帮助每个人,即使你不这样做,哈希的存在应该可以让人放心,代码可能就像作者想要的那样,而且许多其他人下载了相同的代码

答案 6 :(得分:0)

它基本上回答了与身份验证相同的问题 - 是否一个人说他就是那个人。它可以帮助您确保您下载的程序实际上是首先提供的作者,并且在从供应商一直到迷宫般的互联网进入桌面的过程中没有被篡改。

答案 7 :(得分:0)

我大部分时间检查md5。虽然可能只有一两次,是的,我确实得到了损坏的下载。

如果你下载的东西,检查它的md5并与文件一起存储,也可以稍后检查发布者是否秘密更改了文件而不告诉任何人。

答案 8 :(得分:-3)

完全浪费时间。

黑客会改变哈希以及二进制文件,因此它只是针对无能黑客的安全措施。

大多数下载的二进制文件都是通过内置的错误检查进行压缩的,因此哈希没有达到任何原因,这就是为什么我从未见过除了极客以外的人实际使用它们。

现在,软件包安装程序使用的数字签名哈希是不同的,也是值得的。