ClamAV

<image>

Clam AntiVirus（常简称为ClamAV）是一款自由且开放源代码的杀毒软件，其软件程式与病毒码的更新皆由开源社群共同维护发布。目前 ClamAV 主要被应用于由 Linux、FreeBSD 等类Unix系统架设的邮件服务器上，以提供电子邮件的病毒扫描服务。

ClamAV 本身在命令行界面下运作，但社群也开发了许多提供图形用户界面的前端工具（GUI front-end）。此外，得益于其开放源代码的特性，ClamAV 在 Windows 与 macOS 等操作系统平台上都有相应的移植版本。

## 功能

ClamAV 的工具集包含命令列扫描器、数据库自动更新器，以及基于共享函式库、可扩展并支援多执行绪的防毒引擎守护进程。

该应用程序亦内建支援了针对邮件过滤的 Milter 界面以及手动执行扫描的功能。

它支援解析的档案格式包括：

- ZIP、RAR、tar、gzip、bzip2、OLE2、CAB、CHM、BinHex、SIS 格式
- 大部分的电子邮件格式
- 经 UPX、FSG、Petite、NsPack、WWpack32、MEW、Upack 进行数据压缩，或经 SUE、Y0da Cryptor 进行代码混淆的可执行与可链接（ELF）和可移植可执行（PE）格式
- Office Open XML、HTML、RTF 和 PDF 文档格式

ClamAV 的病毒数据库更新十分频繁（至少每4小时更新一次）。截至2014年12月25日，其每日更新数据库（daily update Virus DB）版本号为19837，已包含至少370万个病毒特征码；随着恶意软件的增长，近年来其特征库规模仍在持续大幅扩充。

## 效果

在早期的防毒软件评测中，ClamAV 曾与其他商业杀毒软件进行过对比测试。Shadowserver基金会曾持续针对各大防毒软件进行每日测试。2011年，Shadowserver 基金会使用了约两千五百万个恶意软件样本进行测试，结果显示 ClamAV 的侦测率达到了 78.27％，在19项产品中排名第9，其表现优于部分知名的商业防毒产品。

在 AV-Test 于 2008 年进行的评测中，ClamAV 正确识别了约一百万个样本中的 77.3%，其各项指标评级为：

- 手动扫描：很差（very poor）
- 伪阳误判：差（poor）
- 即时扫描：差（poor）
- 反应时间：很好（very good）
- rootkits：很差（very poor）

在 2011 年 6 月至 12 月间 Shadowserver 基金会的进一步评测中，ClamAV 的 Windows 版本侦测率超过 75.45％，在 40 项产品中排名第六，仅次于AhnLab（Windows）、Avira（Linux）、Eset（Windows）、Avast（Windows）和 Bitdefender（Linux），而 ClamAV 的 Linux 版则排名第十。

## 非官方数据库

ClamAV 的防毒引擎可用来侦测多种不同的档案类型，尤其对于某些网络钓鱼邮件具有较好的防护效果。然而，相较于传统的病毒特征码检测，其预设启发式扫描的误判率可能会稍高一些。

Sanesecurity 是提供 ClamAV 非官方病毒数据库的知名组织之一。他们从 CRDF 威胁中心、Porcupine、Julian Field、MalwarePatrol 等其他资安机构取得资料，进行分类并建立成自订的特征数据库。此外，SecuriteInfo.com 也为 ClamAV 提供额外的病毒特征码补充。

这些非官方数据库主要被系统管理员用于加强邮件过滤。为了降低误挡正常邮件的风险，建议在使用这些数据库时配合“垃圾邮件评分机制”来综合判断，而非直接封锁被标记为“受感染”的邮件。

## 各平台版本

### Linux

- ClamTk - 使用 gtk2-Perl 开发的 ClamAV 图形化前端。
- KlamAV - 早期为 KDE 桌面环境开发的 ClamAV 前端（已停止维护）。
- Copfilter - 内建 ClamAV 防护功能的 IPCop 扩充套件。

### macOS

- Mac OS X Server 10.4 - 苹果早期服务器系统曾内建 ClamAV。
- ClamXAV - 采用 ClamAV 作为扫描引擎的 macOS 防毒软件（早期为免费软件，自 2015 年起已转为商业付费软件）。
- Tiger Cache Cleaner - 内附 ClamAV 功能的系统维护工具。

### Windows

- ClamAV for Windows - 官方现已直接提供适用于 Windows 平台的二进制执行档。
- ClamWin - ClamAV 的 Windows 开源移植版，支援扫描 Microsoft Outlook、Internet Explorer 与 Mozilla Firefox 下载的档案，但其原生不具备即时扫描能力。
- Spyware Terminator - 一款免费的电脑安全软件，内部整合了 ClamAV 引擎。
- Moon Secure Antivirus - 早期的一款开源防毒软件，曾基于 ClamAV 提供即时防护功能（realtime protection，已停止维护）。
- Immunet - 曾是一套基于云端的免费防毒软件，结合了 ClamAV 引擎，后被思科收购，已于 2024 年 1 月 1 日正式停止营运。
- CS Antivirus
- Clam Sentinel - 一款免费软件，常驻在系统匣（通知区域）中，透过监控档案系统的变化并呼叫 ClamWin 进行扫描，从而为 ClamWin 提供即时防护能力。它同时支援主动启发式防护功能，适用于 Windows 98 至 Windows 8 等多种旧版操作系统。

## 即时档案扫描

在早期版本中，ClamAV 核心程式原生并不包含即时扫描功能（即在档案被读取或写入时自动触发扫描），依赖第三方应用程序（如支援 FUSE 的 ClamFS、Linux 下的 DazukoFS、Windows 下的 Clam Sentinel 和 Winpooch 等）来实现即时检查。

不过，自 0.102.0 版本起，ClamAV 官方为 Linux 系统引入了名为 `clamonacc` 的常驻程式，取代了旧有的 `clamdscan` 即时监控方案，使得 ClamAV 得以在 Linux 平台上原生支援即时扫描（On-Access Scanning）防护。

## 专利诉讼

2008年，安全厂商 Barracuda Networks 因将 ClamAV 作为其安全套装的一部分进行散布，遭到了趋势科技的起诉。趋势科技宣称 Barracuda Networks 使用 ClamAV 作为网关病毒过滤的行为侵犯了他们的第 5,623,600 号软件专利，此举引发了自由软件社群的强烈抗议，并呼吁大众抵制趋势科技。

2008年7月，Barracuda Networks 利用从 IBM 获得的专利授权提起反诉。最终于2011年5月19日，美国专利及商标局（USPTO）在针对第 5,623,600 号专利的再审查中，做出了终审驳回趋势科技专利声明的决定。

## 延伸阅读

- 访谈ClamAV的创始者 - Tomasz Kojm 封存版本

## 基本资料

- 日语原文：Clam AntiVirus
- 作者：Tomasz Kojm
- 开发者：思科系统Cisco Talos
- 发行日期：2002年5月8日
- 编程语言：C，C++
- 操作系统：类Unix系统、Microsoft Windows
- 类型：杀毒软件
- 许可协议：GPLv2