在通过virustotal 服务在线分析二进制文件时,我发现不同的 AV 对二进制文件的命名不同。例如,对于同一个二进制文件,诺曼将其命名为 Obfuscated_A,赛门铁克将其命名为 WS.Reputation.1,另一个 AV 将其命名为 Malware-Cryptor。 General.2 . AV 是否采用了任何特定的命名约定?
防病毒软件如何命名恶意软件
不同的 AV 供应商使用不同的命名约定。他们中的许多人在他们的网站上描述了这些约定。例如:
- http://www.microsoft.com/security/portal/mmpc/shared/malwarenaming.aspx
- http://www.symantec.com/security_response/virusnaming.jsp
- http://www.avira.com/en/support-malware-naming-conventions
AV 供应商有时会尝试对知名恶意软件系列使用与其他 AV 供应商相同的名称,但这并不能保证并且越来越不常见。例如,Microsoft、Sophos、CA 和 McAfee 都将著名的 Conficker 家族称为“Conficker”,而赛门铁克将其称为“Downadup”。
即使 AV 供应商就姓氏达成一致,他们也几乎不会在变体名称上保持同步。例如,Microsoft 检测为 Conficker.B 的文件可能会被 CA 检测为 Conficker.C。
这就是为什么每当您想引用特定的恶意软件变体时,最好总是提供检测名称和AV 引擎名称。或者更好的是,只需提供文件哈希值,让人们在 VirusTotal 等网站上查找即可。
需要考虑的是通用检测名称。通用检测旨在捕获尽可能多的恶意软件样本,同时避免误报。它们可用于触发加壳程序或混淆、非正统行为等。虽然这提高了覆盖范围,但最终结果是您可以检测到多个不相关的同名恶意软件样本。这使得识别您面临的特定恶意软件变得更加困难。Microsoft 通常会很好地检测具有特定名称的样本,因此我通常会先查看它们的检测名称。
在示例中,您给出的所有名称都是通用的:Obfuscated_A 可能在混淆代码上触发,WS.Reputation.1 很可能基于文件信誉,而 Malware-Cryptor.General.2 可能检测到加壳程序。
我想补充一点,恶意软件是以检测到的内容命名的。例如我的末日
Schmugar 在注意到一行程序代码中的文本“mydom”后选择了这个名字。他指出:“很早就很明显,这将是非常大的。我认为在名称中使用 'doom' 是合适的。” (来源:维基百科)
而Flamer的程序代码中有很多名为“Flame”的函数。当我在一家反病毒公司工作时,我总是对命名实践感到非常有趣。命名的原因是为了确保您谈论的是同一个恶意软件(md5 哈希很难说清楚)。还可以装饰家庭(“只是”有点不同但基本相同的恶意软件)。这就是为什么你会得到 Conficker.A 和 Conficker.B(就像@JasonGeffer 说的)。微软的 B 是 Sophos A 的原因是因为微软首先在它的蜜罐中发现了一个不同的家庭样本:)
您可能感兴趣的其他网站:http : //www.caro.org/和http://www.eicar.com
一般来说,防病毒公司遵循 CARO(计算机防病毒研究组织)提出的命名约定。
恶意软件通常根据在其中找到的字符串来命名。在某些情况下,基于互斥锁/文件名/服务器名/注册表项,很少基于其操作。
在一些 AV 公司中,他们给出了某些名称来跟踪通过通用/启发式检测方法进行的检测(例如:Obfuscated_A、WS.Reputation.1)