# ClamAV

ClamAV (Clam AntiVirus) ist ein unter der GNU General Public License stehendes Virenschutzprogramm – also eine Anwendung gegen Schädlinge wie etwa Viren – mit einem Phishing-Filter, welcher häufig auf E-Mail-Servern zur Ausfilterung sogenannter Computerwürmer und Phishing-E-Mails zum Einsatz kommt. Bei ClamAV handelt es sich um eine Bibliothek, die in eigene Anwendungen eingebunden werden kann, einen im Hintergrund laufenden Dienst (Daemon) und eine Befehlszeilen-Anwendung.
Unter Linux greift ClamAV auf fanotify zurück, um den Zugriff auf das Dateisystem über den Virenscanner umzuleiten, und kann daher als Echtzeitscanner verwendet werden; unter Windows sind für den Einsatz als Echtzeitscanner Zusatztools notwendig.

## Technische Einzelheiten

ClamAV besteht aus mehreren einzelnen Anwendungen. Die wichtigsten sind:
* Der auf der Befehlszeile arbeitende Virenscanner clamscan,
* Der wahlweise nutzbare Daemon clamd. Er lädt die Virensignaturen nur einmal beim Systemstart in den Arbeitsspeicher und nicht wie clamscan bei jedem Aufruf.
* Das vergleichsweise schlanke Frontendprogramm clamdscan übergibt die zu prüfenden Dateien an clamd und wertet dessen Resultate aus.
* freshclam verwaltet die vorhandenen Virensignaturen. Es kann auch Aktualisierungen der Virensignaturen von einem Server von Sourcefire VRT herunterladen.
Für die Einbindung in Mail Transfer Agents existieren weitere Anwendungen wie clamav-milter, amavis, simscan oder qmail-scanner.
Da ClamAV freie Software ist, fand es schnell Einzug in unterschiedliche Linux-Distributionen und wurde auch auf andere Betriebssysteme portiert. Zudem wurden eine Reihe von grafischen Oberflächen entwickelt.

## Beispiel-Sitzung

Bei einer ClamAV-Sitzung wird das Programm clamscan aufgerufen, um das aktuelle Verzeichnis zu durchsuchen. Das folgende Beispiel durchsucht drei Dateien. Die erste Datei wird als Phishing-E-Mail erkannt, die zweite als Virus-E-Mail. Die dritte Datei wird als sauber erkannt:

## Derivate und grafische Benutzeroberflächen
### ClamWin für Windows

ClamWin ist ein unter der GPL stehender Virenscanner für Windows, der von Alex Cherney entwickelt wird und auf ClamAV basiert. Die Portierung des ursprünglichen ClamAV-Quellcodes auf die Windows-Plattform erfolgt ab der Version 0.88.1 und ist nicht mehr von einer Unix-Laufzeitumgebung wie Cygwin abhängig. ClamWin ist in einem Paket als Windows-Installer verfügbar und seit dem 18. April 2006 alternativ ohne Installation als Portable Software nutzbar, welche beispielsweise von einem USB-Stick ausgeführt werden kann.
Zudem gibt es für den Open-Source-Webbrowser Mozilla Firefox die Erweiterungen ClamWin Antivirus Glue for Firefox (mit Unterstützung bis zur Firefox-Version 1.5.0.x) und Fireclam (ab Firefox-Version 3.0), mit der selbstständig alle heruntergeladenen Dateien durch ClamWin überprüft werden können.
In der Anwendung enthalten sind:
* zeitgeplante Scans
* automatische Aktualisierung der Virensignaturen
* Einbindung in das Kontextmenü des Windows-Explorers
* Einbindung in Microsoft Outlook
* POP3-Virenscan
* Alarm, falls ein Virus gefunden wurde
Geplant:
* Echtzeitüberwachung (Echtzeitscanner, englisch on-access scanner)

### Clam Sentinel

Clam Sentinel ist ein Echtzeit-Scanner und setzt auf ClamWin auf. Er läuft unter Windows 98/98 SE/ME/XP/Vista/7/8 und nistet sich als Anwendung im Infobereich der Taskleiste ein. Es erkennt Veränderungen am Dateisystem und prüft diese durch ein im Hintergrund mitlaufendes ClamWin. Auch werden angeschlossene Laufwerke, z. B. USB-Sticks, von Clam Sentinel überwacht. An Funktionen bietet es:
* Erweitert ClamWin mit einem Echtzeitschutz
* Integriertes System zum Erkennen von Angriffen (Intrusion detection)
* Heuristischer Schutz
* Schutz für USB-Sticks und austauschbare Datenträger
* Verwendet das Quarantäneverzeichnis von ClamWin
* Prüft in Echtzeit Logdateien, Laufwerke, Arbeitsspeicher und Nachrichten
* Voreinstellungen sind für die meisten Computer bereits eingerichtet
* Einfache Konfiguration über das Symbol im Informationsbereich (System Tray)
* Unterstützt Betriebssysteme ab Win98 und neuer
* Verfügbar in Englisch, Italienisch, Deutsch und Französisch
* Mehrbenutzerfähig

### ClamAV für Windows

Des Weiteren gibt es verschiedene Portierungen von ClamAV für Windows, welche wie die Linux-Variante über die Netzwerkschnittstelle (über Port 3310) ansprechbar sind – sowohl unmittelbar ausführbare Varianten als auch solche, die die Hilfe von Cygwin benötigen.
Unmittelbar ausführbare Varianten:
* ClamAV Antivirus Native Win32 Port – bildet die Grundlage für ClamWin
* ClamAV for Windows, jetzt Immunet Antivirus – die Basis war der ursprüngliche Quellcode von ClamAV
Portierung auf Cygwin (für Windows):
* ClamAV/SOSDG

### KDE-Oberfläche KlamAV

KlamAV ist ein unter der GPL stehendes KDE-Frontend für ClamAV, das von Robert Hogan entwickelt wird.
In der Anwendung enthalten sind:
* Zeitgeplante Prüfungen
* Automatische Aktualisierung der Virensignaturen
* Plug-in für KMail und Novell Evolution
* POP3-Virenscan
KlamAV schein aber schon bereits seit längerer Zeit nicht mehr gepflegt zu werden. Alterniv kam ClamTK zum Einsatz. Allerdings hat der Entwickler im April 2024 das Projekt eingestellt.
Es existiert noch ein weiteres Projekt, das im Juli 2015 gestartet wurde und 2024 wieder erneut Fahrt aufgenommen hat. Es heißt wie unter OS/2 „ClamAV-GUI“, hat aber nichts mit diesem Projekt zu tun.
Das Programm wurde inzwischen auch von einer ukrainischen Sicherheitsfirma (UALinux) in ihr Portfolio aufgenommen und es wird durch diese Firma auch eine Debian Version (Ubuntu) zum Download angeboten.
Das Programm ist außerdem unter store.kde.org und pling.com als Source-Code, und OpenSuSE RPM Package erhältlich. Zusätzlich existiert ein Repository auf build.opensuse.org. In der aktuellen Version
wird die aktuelle Version von ClamAV (1.4.2) unterstützt und es werden die Sprachen Deutsch, Englisch, Portugiesisch, Dänisch, Italienisch, Spanisch, Französisch und Ukrainisch unterstützt.

### ClamXav für Mac OS X

Mit ClamXav existiert auch für das Betriebssystem macOS eine grafische Benutzeroberfläche, die ClamAV als Basis nutzt und ständig weiter entwickelt wird. Allerdings handelt es sich hierbei ab der Version 2.8 um ein kommerzielles Produkt.

### ClamAV-GUI für OS/2

Auch für das Betriebssystem OS/2 und sein Derivat eComStation existiert eine grafische Benutzeroberfläche, die ClamAV als Basis nutzt und weiter entwickelt wird.

### ClamMail für Windows

ClamMail ist ein E-Mail-Proxy auf Basis von ClamAV. Bevor die Post in den E-Mail-Client kommt, läuft sie durch den Virenscanner. Im Programm enthalten ist eine automatische Aktualisierungs-Funktion.

## Geschichte

ClamAV existiert seit Mai 2002.
Im Juli 2003 zog ClamAV auf SourceForge um. Im Oktober 2003 folgte Round Robin der Spiegelserver seiner Datenbank per Resource Record, im Januar 2004 eine sprunghafte Vergrößerung der Datenbank, und im Februar 2004 ein von Debian inspiriertes Verfahren zur schnellen Aktualisierung aller Spiegelserver.
Im August 2007 verkauften die hauptsächlichen Entwickler von ClamAV das Projekt an Sourcefire.
Im Juli 2013 wurde Sourcefire und damit auch ClamAV von Cisco gekauft.

### Versionsgeschichte

| Version | veröffentlicht am | Anmerkungen und wichtigste Änderungen |
| Ältere Version; nicht mehr unterstützt: 0.60 | 29. Juli 2003 | Unterstützung bis 1. September 2004 |
| Ältere Version; nicht mehr unterstützt: 0.65 | 12. November 2003 | nun mit komprimierter und digital signierter Datenbank |
| Ältere Version; nicht mehr unterstützt: 0.70 | 15. März 2004 | Robusterer Daemon und auf VBA-Makros für MS Office erweitert. Es folgten 6 weitere Versionen der 0.7er-Reihe von 0.71 bis 0.75.1 am 30. Juli 2004. |
| Ältere Version; nicht mehr unterstützt: 0.80 | 17. Oktober 2004 | Es folgten 19 weitere Versionen in der 0.80er-Reihe (nach 0.80 von 0.81 bis 0.88.7) Letzte Version: 0.88.7 am 11. Dezember 2006 |
| Ältere Version; nicht mehr unterstützt: 0.90 | 13. Februar 2007 | Es folgten 14 weitere Versionen in der 0.90er-Reihe bis zum Ende der 0.94er-Reihe (nach 0.90 von 0.90.1 bis 0.94.2) Letzte Version: 0.94.2 am 26. November 2008 |
| Ältere Version; nicht mehr unterstützt: 0.95 | 23. März 2009 | Neu: Unterstützung für Windows-Systeme; es folgten 3 weitere Versionen in der 0.95er-Reihe (nach 0.95 von 0.95.1 bis 0.95.3) mit Sicherheits- und Stabilitätsaktualisierungen Letzte Version: 0.95.3 am 28. Oktober 2009 |
| Ältere Version; nicht mehr unterstützt: 0.96 | 31. März 2010 | Neu: Heuristik zur Windows-Malware-Erkennung; Unterstützung der Dateiformate für 7-Zip, InstallShield, cpio und weitere; neu in Version 0.96.2: neuer Parser für PDF-Dateien, sowie Optimierung der Ausführungsgeschwindigkeit und des Speicherverbrauches; gemeinschaftlich-basierte Nachweisverfahren (mit Cloud Computing und Unterstützung der Internetgemeinschaft); es folgten fünf Versionen in der 0.96er-Reihe (nach 0.96 von 0.96.1 bis 0.96.5), unter anderem mit Sicherheits- und Stabilitätsaktualisierungen Letzte Version: 0.96.5 am 30. November 2010 |
| Ältere Version; nicht mehr unterstützt: 0.97 | 7. Februar 2011 | Neu: Unterstützung von Windows, Unterstützung von Signaturen, die auf SHA1 und SHA256 basieren, verbesserte Fehlererkennung, Geschwindigkeits- und Speicheroptimierungen Es folgten vier Versionen in der 0.97er-Reihe (nach 0.97 von 0.97.1 bis 0.97.6) Letzte Version: 0.97.8 am 23. April 2013 |
| Ältere Version; nicht mehr unterstützt: 0.98 | 19. September 2013 | neben der Unterstützung weiterer Dateiformate (wie ISO-9660-Abbilder und selbst entpackende 7z-Archive) wurde unter anderem für Echtzeitüberwachung das Modul Clamuko/Dazuko durch fanotify ersetzt; Letzte Version: 0.98.7 am 28. April 2015 |
| Ältere Version; nicht mehr unterstützt: 0.99 | 1. Dezember 2015 | u. a. Erweiterung mit der Malware-Beschreibungssprache YARA, zudem eine neue Echtzeitüberwachung für Linux Letzte Version: 0.99.4 am 1. März 2018 |
| Ältere Version; nicht mehr unterstützt: 0.100 | 9. April 2018 | Unterstützung von OpenSSL, hingegen keine Unterstützung mehr für Windows XP (und Vista) Letzte Version: 0.100.3 am 26. März 2019 |
| Ältere Version; nicht mehr unterstützt: 0.101 | 3. Dezember 2018 | es werden nun u. a. auch sogenannte Rar-Archive in der Version 5 unterstützt Letzte Version: 0.101.5 am 20. November 2019 |
| Ältere Version; nicht mehr unterstützt: 0.102 | 2. Oktober 2019 | u. a. mit Verbesserungen beim Prüfen ausführbarer Dateien im PE-Format Letzte Version: 0.102.4 am 16. Juli 2020 |
| Ältere Version; nicht mehr unterstützt: 0.103 | 14. September 2020 | u. a. können Datenbanken nun auch während des Scannens geladen werden; wurde am 3. September 2021 zum LTS-Zweig erklärt; Letzte Version: 0.103.12 vom 4. September 2024 |
| Ältere Version; nicht mehr unterstützt: 0.104 | 3. September 2021 | Letzte Version: 0.104.4 am 26. Juli 2022 |
| Ältere Version; nicht mehr unterstützt: 0.105 | 3. Mai 2022 | Letzte Version: 0.105.2 am 15. Februar 2023 |
| Ältere Version; noch unterstützt: 1.0 LTS | 28. November 2022 | Als LTS-Version mit Unterstützung bis zum 28. November 2025 herausgegeben. |
| Ältere Version; nicht mehr unterstützt: 1.1 | 1. Mai 2023 | Letzte Version: 1.1.3 vom 25. Oktober 2023 |
| Ältere Version; nicht mehr unterstützt: 1.2 | 28. August 2023 | Letzte Version: 1.2.3 vom 4. April 2024 |
| Ältere Version; nicht mehr unterstützt: 1.3 | 7. Februar 2024 | Letzte Version: 1.3.2 vom 4. September 2024 |
| Aktuelle Version: 1.4 LTS | 15. August 2024 | Scans von ALZ- und LHA/LZH-Archiven aktivierbar; Scans auf verräterische Bilder deaktivierbar. |
| Legende:Ältere Version; nicht mehr unterstütztÄltere Version; noch unterstütztAktuelle VersionAktuelle VorabversionZukünftige Version |||

## Erweiterbarkeit

Das unter Linux optional zu installierende Open-Source-Projekt clamav-unofficial-sigs soll dazu dienen, eine große Menge an weiteren Virendefinitionen einzubinden und die Erkennungsrate von ClamAV zu steigern.
ClamAV selbst ist (unter Windows) kein Echtzeit-Scanner, kann aber zusammen mit Programmen wie ClamFS, Spyware Terminator, Clam Sentinel oder Winpooch als Echtzeit-Scanner genutzt werden.