互联网 频道

MD5值校检可伪造 办公文件校检不再安全

    【IT168 资讯】随着网络安全形势的日趋严峻,很多软件作者在发布软件的时候都会公布软件的MD5值,用户下载软件后可以通过MD5值校检工具进行验证,以避免下载到经过黑客修改的软件。这种MD5校检的形式现在非常流行。可让人意想不到的是,这种被业界普遍认为安全的校检方式,却存在严重的漏洞,黑客可以通过软件伪造MD5值,病毒木马就能很轻松的躲过MD5校检。

    MD5校检原理

    MD5值就好像是软件的指纹,每一个软件只能有唯一一个MD5值,因此我们可以通过MD5值来判断该程序或代码的完整性。使用方法是:例如某个游戏的运行文件的MD5值是X,而用HashX校验器检验出来的结果是Y,那么就有理由怀疑这个文件被加入了木马或者病毒。

    MD5校检是目前公认最安全的校检软件安全性的方法,但最近,国外的科学家研究出了新的MD5碰撞破解方法,可以让两个不同文件的MD5值完全一样,而之前我们一直认为一个文件的MD5值在世界上是少有的,这就像一个人克隆了你的指纹然后冒充你一样恐怖!

    为什么MD5值对于软件来说是少有的呢?我们可以先来做一个实验:

    我们随意挑选一个WinRAR压缩包作为测试的目标,将其拖动到MD5校检工具HashX的主界面中,可以看到,该WinRAR压缩包的MD5值为696C09ED812F3689E1C1AB15765F1D93。

    然后我们将一个文本文件放入压缩包中,再次进行监测,发现该WinRAR压缩包的MD5值已经变为925D37094991A642EAD0271DD4ABA730。可见,只要文件发生一丁点的变化,那么其MD5值就会完全不同。


文件不同MD5值不同

    那么我们能让两个程序文件的MD5一致,却又都能正常运行吗?答案是:“可以1。要让两个不同文件的MD5值相同,可以通过一款名为fastcoll的小工具来完成。我们同样以刚才的WinRAR压缩包来做试验:


用工具生成两个文件

    把解压出来的fastcoll_v1.0.0.5.exe与test.rar放在同一目录,然后在“命令提示符”中输入:“fastcoll_v1.0.0.5.exe -i test.rar -p test.rar -o test.exe test2.exe”并回车,在同目录中会生成名为test.exe和test2.exe文件,我们用HashX校检他们的MD5值,可以发现是完全一样的.

    但是在HashX中查看两者“SHA-1”值的时候,结果竟然是不同的(SHA-1加密算法生成的结果也是少有的)!可见这是完全不同的两个文件,但是它们的MD5值竟然完全相同。


MD5值相同SHA-1值不同

    如果黑客从网上下载一个工具,给其捆绑上木马,然后通过工具让其MD5值和原文件一样。那么当用户下载了文件后用MD5校检工具进行校检时就会发现带毒文件和原文件MD5值完全一样,就会去放心地去运行,结果可想而知。所以,MD5校检已经不再可信了,以后大家下载软件的时候尽量去软件官方网站或大型的软件站下载。

1
相关文章