5

我正在编写基于签名扫描的恶意软件检测。据我了解,主要思想是将扫描文件的签名与黑名单中的签名进行比较。 在这里我发现签名是某种 MD5 哈希,但是我怎样才能从文件中获取它呢?还有其他类型的签名吗?

4

2 回答 2

1

MD5 哈希是文件内容的摘要。如果您有 MD5 哈希的黑名单,是的,您可以将文件与它们进行比较。我认为这代表了一种非常简单和脆弱的恶意软件扫描方式,但这绝对是一个开始。这将是脆弱的,因为比较 MD5 哈希只能识别两个文件何时完全相同。任何类型的随机性引入恶意文件都会使这种扫描方法失效。

大多数语言都有一些标准的方法来生成 MD5 哈希。C#、VB 和 VC++ 可以使用MD5类,PHP 有散列函数(使用“MD5”作为第一个参数),在 java 中有MessageDigest等。

有许多其他可用的散列算法可用于此目的。MD5 已被证明缺乏某些应用程序,因此 SHA 算法正成为这些应用程序的标准。对于此应用程序,您不会期望恶意攻击会尝试创建匹配,而是尝试阻止匹配的相反,任何散列标准算法,包括 MD5 应该足以合理地确保不会出现误报可见。

于 2012-10-25T15:23:23.543 回答
0

要在 java 中挖掘消息,您可以使用MessageDigest。根据其 javadoc,它支持 MD5、SHA-1 和 SHA-256。

于 2012-10-25T15:07:42.200 回答