ClamAV (Clam AntiVirus) is a free software, cross-platform antimalware toolkit able to detect many types of malware, including viruses. It was developed for Unix and has third party versions available for AIX, BSD, HP-UX, Linux, macOS, OpenVMS, OSF (Tru64), Solaris and Haiku. As of version 0.97.5, ClamAV builds and runs on Microsoft Windows. Both ClamAV and its updates are made available free of charge. One of its main uses is on mail servers as a server-side email virus scanner.

History

ClamAV was initially released with version 0.10 on 8 May 2002, by Polish university student Tomasz Kojm. In 2007, it was acquired by Sourcefire, which in turn was acquired by Cisco in 2013 and now operates under its Talos cybersecurity division.

Patent lawsuit

In 2008, Barracuda Networks was sued by Trend Micro for its distribution of ClamAV as part of a security package. Trend Micro claimed that Barracuda's utilization of ClamAV infringes on a software patent for filtering viruses on an Internet gateway. The free software community responded in part by calling for a boycott against Trend Micro. The boycott was also endorsed by the Free Software Foundation. Barracuda Networks counter-sued with IBM-obtained patents in July 2008. On 19 May 2011, the U.S. Patent and Trademark Office issued a Final Rejection (a determination by the patent examiner that the claims in a patent application are unpatentable, which is followed by the closure of the application) in the reexamination of Trend Micro's U.S. patent 5623600.

Features

ClamAV includes a command-line scanner, automatic database updater, and a scalable multi-threaded daemon running on an anti-virus engine from a shared library. with the daily update Virus DB number at 23040.

Real-time file scanning

In older Linux application versions, ClamAV did support real-time protection via the Fanotify add-on for the Linux kernel (version 3.8 and later.) Alternatively, one could use ClamFS (for any Unix-like operating system supporting FUSE).

Nowadays, the Real-Time Protection in Linux Systems, is provided through ClamAV's ClamOnAcc application (under the name of "On-Access Scanning") – which uses Clamd to provide real-time protection by scanning files when they are accessed.

In other words, the On-Access Scanner can detect and prevent access to malicious files based on the verdict received from Clamd. It did work with Windows 98 and later. In addition to on-access scanning, it used to feature optional system change messages and proactive heuristic protection.

Effectiveness

In the 2008 AV-TEST comparison of antivirus tools, ClamAV scored poorly in on-demand detection, avoiding false positives, and rootkit detection.

In a Shadowserver six-month test between June and December 2011, ClamAV detected over 75.45% of all viruses tested, putting it in fifth place behind AhnLab, Avira, BitDefender and Avast. AhnLab, the top antivirus, detected 80.28%.

In 2022 Splunk conducted an efficacy study involving 416,561 malware samples sourced from MalwareBazaar, bucketed as follows: 106135 Banking Trojans (trojans targeted towards stealing financial information); 26875 Botnets (malware for making the victim a part of a botnet); 190371 Information Stealers (programs designed to steal client information. E.g. Keyloggers); 52422 Loaders (program that loads one or more other malicious programs – that is, a stager that fetches harmful things directly into memory); 1321 Miners (crypto currency miners); 30251 RATs (Remote access tools. E.g. Backdoors); and 8273 Trojans (a generic multipurpose malware that harms the user in different ways – generally disguises itself and delivered by tricking the user). Splunk's study concluded ClamAV was 59.94% effective overall at detecting commodity malware – being able to detect 249,696/416,561 samples.

In that same study, ClamAV performed relatively well at detecting certain types of malware in certain types of files (E.g. DOCX files, DIL files, ELF files, DOC files and EXE files), but was less effective in detecting malware in JAR files, JS files, VBS files, Z files, RAR files, and XLSB files. In addition, ClamAV performed well in detecting a few top level categories of malware like Trojans & Botnets but performed poorly on other malware types like Crypto Miners, RATs and Info Stealers.

Unofficial databases

The ClamAV engine can be reliably used to detect several kinds of malicious files. In particular, some phishing emails can be detected using antivirus techniques. However, false positive rates are inherently higher than those of traditional malware detection.

There are several unofficial databases for ClamAV:

  • Sanesecurity is an organization that maintains a number of such databases; in addition, they distribute and classify a number of similar databases from other parties, such as Porcupine, Julian Field, MalwarePatrol.
  • SecuriteInfo.com also provides additional signatures for ClamAV.

ClamAV Unofficial Signatures are mainly used by system administrators to filter email messages. Detections of these groups should be scored, rather than causing an outright block of the "infected" message. in the form of ClamXav. Additionally, Fink, Homebrew and MacPorts have ported ClamAV.

Another program which uses the ClamAV engine on macOS is Counteragent. Working alongside the Eudora Internet Mail Server program, Counteragent scans emails for viruses using ClamAV and also optionally provides spam filtering through SpamAssassin.

OpenVMS

ClamAV for OpenVMS is available for DEC Alpha and Itanium platforms. The build process is simple and provides basic functionality, including library, the <code>clamscan</code> utility, the <code>clamd</code> daemon, and <code>freshclam</code> for update.

Windows

There are IA-32 and x64 variants of ClamAV available for Windows; additionally, Cisco's Immunet uses ClamAV as its engine.

OS/2

A port of ClamAV is available for OS/2 (including eComStation and ArcaOS) with a native UI written in REXX.

Graphical interfaces

Since ClamAV does not include a graphical user interface (GUI) but instead is run from the command line, a number of third-party developers have written GUIs for the application for various platforms and uses.

These include:

thumb|[[ClamTk 6.18 running on openSUSE]]

  • Linux
  • ClamTk using gtk3-perl; project is named for the Tk libraries that were used when it began
  • KlamAV for TDE (development of the original KDE version was discontinued in 2009)
  • wbmclamav is a webmin module to manage Clam AntiVirus
  • macOS
  • ClamXav is a port which includes a graphical user interfaces and has a "sentry" service which can watch for changes or new files in many cases. There is also an update and scanning scheduler through a cron job facilitated by the graphical interface. ClamXav can detect malware specific to macOS, Unix, or Windows. The ClamXav application and the ClamAV engine are updated regularly. ClamXav is written and sold by Canimaan Software Ltd.
  • Clam Sentinel
  • OS/2
  • ClamAV-GUI