如何验证 ClamAV 是否​​正在检测特定的恶意软件?

如何验证 ClamAV 是否​​正在检测特定的恶意软件?

我已通过 Freshclam 运行和更新 ClamAV。如何确定 ClamAV 的当前签名是否daily.cvd确实检测到了特定的恶意软件项目?

在 ClamAV 用户列表中发现了一个非常相似的问题:如何验证恶意软件签名是否在数据库中并添加哈希值但讨论因“相信我们”的回答而变得毫无意义。

在同一帖子中,项目负责人 Joel Esler 表示“订阅 clamav-virusdb 列表”。 这clamav-virusdb 列出档案不幸的是,所有附件都被清除了,所以无法看到做了什么工作。如果没有被清除,那这些信息正是我要找的;所以我的问题仍然悬而未决。

答案1

如果您有一个恶意软件,并且您想要确保某些防病毒软件的扫描能够检测到它,则需要扫描恶意软件文件并验证它是否被正确检测到。

第二种选择是使用在线扫描仪(例如 VirusTotal)进行扫描,但如果由于某种原因您的本地安装未检测到它(它可能配置不同、具有过时的签名等),则这可能不完全准确。

这假设您确实知道要查找的恶意软件文件。例如,在感染 PC003 后,您发现更新的 ClamAV 可以找到所有内容,然后想要扫描公司的所有计算机/服务器共享以查找该确切文件。

对于 ClamAV,如果公共签名无法检测到,您甚至可以自己使用所需文件的哈希值添加签名。

请注意,如果它是多态恶意软件,则此方法可能无法完全起作用(即,在每台机器上投放的文件都不同,因此检测到一个实例是令人鼓舞的,但不能保证检测到其余实例)。

不太适用于 ClamAV,但有些情况下 AV 不会在文件扫描中直接检测恶意软件,但会启发式地阻止它当执行时,根据其行为,因此您实际上可能比此扫描提供的更安全一些。

最后,一个重要的限制是,你确实需要知道你感兴趣的特定恶意软件项目。如果你知道的不是文件哈希,而是恶意软件名称,那么很可能它实际上是恶意软件家庭,最多可检测数千个样本。希望 AV 能够通过几个特征检测出其中的大部分,但 (a) 检测出一种菌株的特征并不意味着它能够检测出所有菌株(因为它们会不断变化,可能每隔几天/几个月就需要新的特征)和 (b) 没有特定的特征并不意味着它不会检测到它们,因为它可能会被具有通用名称的特征捕获。


编辑:用一个真实的例子来说明上述内容,因为从评论来看,这似乎仍然不清楚。Rich 提到知道 AV 是否​​检测到 Sodinokibi。

我搜索了VirusTotal 中的 Sodinokibi并选择了最新的示例,恰好是8f57dd9eb80974e98bf64a19999db50f

这显示了我提到的签名名称的多个名称:

  • Trojan[Ransom]/Win32.Gen (Antiy-AVL)
  • Win32:特洛伊木马 (AVG)
  • DeepScan:Generic.Ransom.Sodinokibi.DC94C06B(BitDefender)
  • W32.AIDetectVM.malware2 (Bkav)
  • Win.Ransomware.Sodinokibi-7013612-0 (ClamAV)
  • 木马病毒:Trojan.Encoder.30497(DrWeb)
  • W32/Sodinokibi.B!tr.ransom(Fortinet)
  • Ransom.Sodinokibi (Malwarebytes)
  • W32/Kryptik.AKW.gen!Eldorado(Cyren)
  • HEUR:Trojan-Ransom.Win32.Gen.gen(卡巴斯基)
  • Sodinokibi!8F57DD9EB809 (McAfee) 等等

有些病毒明确将签名的目标命名为 Sodinokibi。其他病毒则使用通用名称,甚至名称不明确。例如,“Trojan.Encoder.30497”的名称非常明确。但它使用的是供应商的特定名称。您需要知道 Dr.Web 将勒索软件命名为“Trojan.Encoder”,而 .30497 是 Sodinokibi。

好的,但是这个问题是关于 ClamAV 的,而且它使用明确命名的签名(Win.Ransomware.Sodinokibi-7013612-0)。如果您有命名威胁的签名,那么一切都很好,对吗?

好吧,我安装了 ClamAV (0.102.4) 并运行 freshclam 来下载最新的签名(2020 年 8 月 26 日 09-18 -0400:25911)。

我们可以使用以下命令查看签名sigtool --list-sigs。 grepping 单词 Sodinokibi 在 daily.cvd 上找到两个签名:Win.Ransomware.Sodinokibi-6966152-0 和 Win.Ransomware.Sodinokibi-6996917-1(不是,7013612-0 是不是那里。也许明天的日报上会加上?

因此,您遇到了威胁(Sodinokibi),并想知道您是否得到了适当的保护。您的 AV 有 Sodinokibi 的签名。VirusTotal 扫描显示 AV检测威胁。然而,您没有在云中找到签名。您认为自己受到保护了吗?

真正了解的唯一方法是获取样本并进行实际扫描。

如果你感到好奇,在本地扫描之后,它确实会检测到它,Win.Ransomware.Sodinokibi-7013612-0即使该签名不在 sigtool 列表中。

注意:Win.Ransomware.Sodinokibi-7013612-0 已添加2019 年 7 月 11 日

答案2

订阅clamav-virusdb列表

ClamAV 项目负责人 Joel Esler 建议clamav-users列表中的话题“订阅 clamav-virusdb 列表”

clamav-virusdb 列出档案不幸的是,这些信息都以名为 ; 的附加文本文件形式包含,这使得搜索它们变得很麻烦。通过将几个选项串联成单个文件attachment.ksh即可自动进行搜索。curlgrep

这是一个开始:

for x in \
$(curl https://lists.clamav.net/pipermail/clamav-virusdb/2020-August/thread.html \
|sed -n '/Published/s/.*HREF=.//p'|sed 's/".*//'); do
    curl https://lists.clamav.net/pipermail/clamav-virusdb/2020-August/$x|grep URL:
done

我通过使用wget返回的附件 URL 将它们拉入本地目录来测试这一点。当然,您可以使用镜像,wget但我想控制日期。然后我能够grep在文件中查找几个签名名称,这证实了它们在 Clam 签名中的存在。

感谢@Ángel 提供的线索让我找到答案。

相关内容