2012-10-25 102 views
5

我正在編寫基於簽名掃描的惡意軟件檢測。據我瞭解,主要想法是比較掃描文件的簽名和黑名單中的簽名。 Here我發現簽名是某種MD5哈希,但我怎麼能從文件中得到它?還有其他類型的簽名嗎?簽名惡意軟件檢測

+0

[簽名掃描](http://stackoverflow.com/questions/13152150/signature-scanning/13197718#13197718) –

回答

1

MD5哈希是文件內容的摘要。如果你有一個MD5哈希表的黑名單,是的,你可以比較一個文件對他們。我認爲這將代表一種非常簡單而脆弱的方式來掃描惡意軟件,但這絕對是一個開始。這將是脆弱的,因爲比較MD5哈希值只會識別兩個文件完全相同。任何引入惡意文件的隨機性都會使這種掃描方法變得毫無用處。

大多數語言都有一些生成MD5哈希的標準方法。 C#,VB和VC++可以使用MD5類,PHP有hash功能(使用「MD5」作爲第一個參數),在Java中,你有MessageDigest

還有一些其他可用hashing algorithms可能是用於此目的。已經證明MD5對於某些應用是缺乏的,因此SHA算法對於這些應用變得非常標準。對於這個應用程序,如果您不希望惡意攻擊嘗試創建匹配項,而與嘗試阻止匹配相反,則任何散列標準算法(包括MD5)都應該足以合理確保沒有誤報可見。

0

對於在java中的消息消息,您可以使用MessageDigest。根據它的javadoc,它支持MD5,SHA-1和SHA-256。