Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 如何检查下载的开源文件的完整性?_Security_Open Source_Digital Signature - Fatal编程技术网

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

Security 如何检查下载的开源文件的完整性?,security,open-source,digital-signature,Security,Open Source,Digital Signature,我想开始检查我在我的应用程序中使用的开源项目是否是开发者发布的。我注意到很多项目都有一个SHA1和MD5摘要,它们可能很容易被篡改,例如,如果黑客替换镜像上的原始zip文件,它们也可以替换.MD5和.SHA1 如何检查我所依赖的第三方开源库的完整性?您还没有用谷歌搜索您的问题。如果你这样做,你会得到很多关于它的内容。下面的链接将教您如何检查下载文件的完整性 您还可以检查以下链接,该链接显示修改或替换.md5和.sh1文件非常困难 我认为,没有可靠的方法可以做到这一点,因为黑客可能会更改源文件及

我想开始检查我在我的应用程序中使用的开源项目是否是开发者发布的。我注意到很多项目都有一个SHA1和MD5摘要,它们可能很容易被篡改,例如,如果黑客替换镜像上的原始zip文件,它们也可以替换.MD5和.SHA1


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

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

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


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

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

一个很好的例子是,您可以看到一个只读链接,但除非得到授权,否则无法直接修改

但是,例如,您可以将项目转移到自己的帐户,并根据自己的意愿进行修改

我还猜测大型开源项目,比如linux发行版,即使是授权个人上传的代码/文件,在正式发布之前也会经过严格审查

当然,黑客在压缩系统时可以随意更改文件,但这不是开源模型的弱点,而是任何项目都可能遇到的问题

此外,代码签名等功能还有助于检测未经授权的修改

代码签名是对可执行文件和 脚本,以确认软件作者并保证代码 自使用签名后未被更改或损坏 加密散列


Hi himanshu,我不认为@ams在问如何使用Md5等。但我认为ams认为有人可以轻松伪造Md5文件本身。我的主要目标是检查基于java的开源项目的完整性,如tomcat、spring。。。等等?您好@ams,看看tomcat看起来是代码签名的(我想),所以您不仅可以使用MD5验证校验和。但也要根据它们的公钥进行验证。他们将保持私钥锁紧,因此这将是验证完整性的可靠方法。我不是专家(我一直在学习),但对我来说这已经足够可靠了,但我相信一些研究会显示代码签名的for和againt。