2011-11-25 46 views
1

我想開始檢查在我的應用程序中使用的開源項目是開發人員發佈的。我注意到許多項目都有一個SHA1和MD5摘要,據推測這些可能很容易被篡改,例如如果黑客替換鏡像上的原始zip文件,他們也可以替換.md5和.sha1。如何檢查下載的開源文件的完整性?

如何檢查我所依賴的第三方開放源代碼庫的完整性?

回答

1

通常是一個開源項目,雖然向所有人開放下載和修改自己,但實際更改上傳文件的能力僅限於由項目所有者管理的某些個人。

一個很好的例子是https://github.com/thecodemine/formwizard,您可以在其中看到一個只讀鏈接,但不能直接修改,除非經過授權。

但是你可以用叉子叉項目,以自己的帳戶,並修改如你所願,例如https://github.com/AlexKey/formwizard

我也guessig大型開源項目,例如Linux發行版,例如,即使代碼/上傳的文件由授權個人也將在正式發佈之前通過嚴格的評論。

黑客當然會對系統進行壓縮,可以隨意更改文件,但這不是開源模型的弱點,而是可能成爲任何項目的問題。

類似代碼簽名這樣的事情可以幫助檢測未經授權的修改。

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

代碼簽名是數字簽名的可執行文件和 腳本來確認軟件作者和保證代碼 沒有被更改或損壞的過程,因爲它是由使用 加密的簽署哈希值。

+0

我的主要目標是檢查像tomcat,spring等開放源碼的基於Java的項目的完整性? – ams

+0

嗨@ams,看看http://tomcat.apache.org/download-70.cgi#Release_Integrity它看起來像tomcat是signedigned(我認爲),所以你不僅可以驗證使用MD5的校驗和。但也要驗證他們的公鑰。他們將保持私密密鑰鎖定,因此這將是驗證完整性的可靠方法。我不是專家(我總是在學習),但對我來說這足夠可靠,但我相信一些研究將顯示代碼簽名的for和againt。 –

0

你還沒有谷歌搜索你的問題。如果你這樣做,你會得到很多關於它的內容。下面的鏈接將教你如何檢查下載文件的完整性。

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

您還可以查看以下鏈接,這表明它是非常困難的修改或替換.md5.sh1文件。

Here's the link.

+0

嗨himanshu,我不認爲@ams問如何使用Md5等,但我認爲ams認爲有人可以輕易僞造md5文件本身。 –

2

我想,有這個沒有信任的方式,因爲黑客可能更改源文件和它的(MD5或SH1)文件。他可能只是用另一個替換整個項目。 ,請從信任網站(如sourceforg和code.google.com)以及這些網站推薦的代碼項目和鏡像下載源代碼。