如何检查下载的开源文件的完整性?

时间:2011-11-25 04:37:37

标签: security open-source digital-signature

我想开始检查我在我的应用程序中使用的开源项目是开发人员发布的内容。我注意到许多项目都有SHA1和MD5摘要,大概这些可以很容易被篡改,例如,如果黑客替换镜像上的orginial zip文件,他们也可以替换.md5和.sha1。

如何检查我依赖的第三方开源库的完整性?

3 个答案:

答案 0 :(得分:2)

我认为,没有可靠的方法,因为黑客可能会更改源文件及其(md5或sh1)文件。他只是可以用另一个项目取代整个项目。 因此,请从可信站点(如sourceforg和code.google.com)以及这些站点推荐的代码项目和镜像下载源。

答案 1 :(得分:1)

通常是一个开源项目,虽然所有人都可以自行下载和修改,但实际更改上传文件的能力仅限于由项目所有者管理的某些人。

一个很好的例子是https://github.com/thecodemine/formwizard,您可以在其中看到只读链接,但除非获得授权,否则无法直接修改。

但是,您可以将项目分叉到您自己的帐户并根据需要进行修改,例如https://github.com/AlexKey/formwizard

我也猜测像Linux发行版这样的大型开源项目,即使是经过授权的个人上传的代码/文件也会在官方发布之前经过严格的审核。

黑客当然会对系统进行压缩,可以随意更改文件,但这不是开源模型的弱点,而是任何项目的问题。

代码签名也可以帮助检测未经授权的修改。

http://en.wikipedia.org/wiki/Code_signing

  

代码签名是对可执行文件进行数字签名的过程   用于确认软件作者并保证代码具有的脚本   自从使用a签名后未被更改或损坏   加密哈希。

答案 2 :(得分:0)

你没有用Google搜索你的问题。如果你这样做,你会得到很多关于它的内容。下面的链接将教您如何检查下载文件的完整性。

https://help.ubuntu.com/community/HowToMD5SUM

您还可以查看以下链接,该链接显示修改或替换.md5.sh1文件非常困难。

Here's the link.