...

Spamassassin – Der kostenlose AntiSpam Schutz

Pro Tag werden 28 Milliarden SPAM-Mails versendet. Das ist ein Großteil des gesamten E-Mail-Verkehrs und kaum ein E-Mail-Konto bleibt von den unerwünschten Werbemails verschont. Die bisher einzige Möglichkeit, sein Postfach vor ihnen zu schützen, ist ein guter und funktionierender Spam-Filter. Auch SpamAssassin ist ein solcher Spam-Filter, jedoch macht ihn vor allem sein buchstäblich handverlesener Algorithmus und seine hohe Flexibilität zu einem ganz besonderen Stück Software.

Ein kurzer Überblick

Zwar arbeitet heute ein ganzes Team an der Software, den Grundstein für SpamAssassin legte jedoch Justin Mason, der vorher verantwortlich war für ein ähnliches Programm mit dem Namen filter.plx. 2001 wurden die Programmteile adaptiert sowie umgeschrieben und als neues Projekt „Spamassassin“ umbenannt. Seit 2004 gehört es zur Apache Software Foundation und wird quelloffen weitergeführt. Abgesehen von der Quelloffenheit gibt es zudem eine Lizenzierung, die das Programm zur freien Software macht, dessen sowohl privater als auch kommerzieller Gebrauch, beispielsweise als Modul einer anderen kostenpflichtigen Software, völlig kostenlos ist.

Ein großer Vorteil der Software ist die hohe Flexibilität im Bezug auf die Nutzungsebene, denn SpamAssassin kann entweder als eigene Applikation, als Unterprogramm (Modul) einer anderen Software, als Client-Programm eines Mailer-Daemons oder als Aufruf eines MDA (Mail Delivery Agent) wie Procmail genutzt werden. Wichtig dabei: Selbst wenn verschiedene Instanzen der Software in die Distributionskette eingebunden sind wird aufgrund des Flags keine E-Mail zwei Mal analysiert, was die Prozessredundanz verhindert und die Ressourcennutzung vermindert.

So funktioniert die Aussortierung

SpamAssassin arbeitet nach einem Punktesystem. Jede ankommende E-Mail wird nach bestimmten Gesichtspunkten anaylsiert und mit Punkten versehen, die angeben wie hoch die Wahrscheinlichkeit ist, dass es sich um Spam handelt. Ein vom Nutzer einstellbarer Threshold (Schwellenwert) definiert den Punkt, an dem die E-Mail als Spam behandelt und aussortiert wird. Um eine möglichst akkurate Punktzahl zu erreichen, stehen dem Programm eine ganze Reihe verschiedener Methoden zur Verfügung wie:

– DNS-basiertes White- und Blacklisting
– Prüfsummenfilter von Open-Source und kommerziellen Anbietern wie DCC oder Vipul’s Razor
– Ausdrucksfilter anhand von Keywords oder Keyphrases
– Das Hashcash-System (Proof-of-Work)
– DIM und SPF
– URL-Listings wie sie von Trackern wie uribl.com ausgegeben werden

Bayes-Filter

Zusätzlich zu den mehr oder weniger statischen Filtersystemen verfügt SpamAssassin über einen an den Bayes-Filter angelegten Algorithmus, der in der Lage ist, bestimmte Heuristika, also wiederkehrende, markante Elemente, aus bereits versendeten Spam-E-Mails zu „erlernen“ und sich so an das Verhalten des Nutzers anzupassen. Das System beruht auf dem byessschen Wahrscheinlichkeitsbegriff, wurde aber häufig kritisiert, da ein ungelerntes Filtersystem oft False-Positives herbeiführt.

Um dies zu verhindern, wird zunächst eine genauere Überprüfung der als Spam eingestuften E-Mails empfohlen. Der Bayes-Filter enthält, aufrufbar über den Kommandozeilenbefehl sa-learn, ein Tool, mit dessen Hilfe entweder einzelne E-Mails oder ganze Postfächer nach Heuristika durchsucht werden können. Wurde dieser Prozess ein paar Mal durchgeführt, sinkt das Aufkommen von False-Positives deutlich.

Aktuelle Entwicklung

Im Zuge der letzten Updates auf Version 3.3 bzw. 3.4 wurde SpamAssassin vor allem ein großes neues Feature spendiert, das sich vor allem auf die Ressourcennutzung auswirken soll. Zwar wurden schon im Vorfeld immer wieder Optimierungen an der Performance vorgenommen, neu ist aber, dass sich das Programm nun wie ein deterministischer endlicher Automat (Englisch: Deterministic Finite Automation) verhält. Im Grunde genommen kann sich die Hardware besser auf DEAs einstellen, weil die möglichen Zustände immer deterministisch, also vorbestimmt ablaufen. Ein entsprechend programmiertes System – wie die heutige Serverhardware – kann dadurch Ressourcen zeitkritisch reservieren und freiräumen.

Unterstützung von Programmen

Wie bereits erwähnt ist die hohe Flexibilität des Programmcodes ein Alleinstellungsmerkmal, doch verfügt SpamAssassin darüber hinaus auch über eine gelungene API, welche den Datenaustausch mit vielen anderen Programmen ermöglicht. Bei den Open-Source-Projekten sind dies unter anderem die häufig benutzten E-Mail-Clients Mozilla Thunderbird, KMail sowie Novell Evolution oder Exoten wie Citadel oder Claws Mail. Bei den kommerziellen Produkten ist SpamAssassin bereits in den Programmcode integriert. Dies ist beispielsweise beim Icewarp-Server, McAfee SpamKiller, dem Mac OS X Server oder Sophos PureMessage der Fall.

Aktuelle Artikel