Open Source im professionellen Einsatz

Antispam-Appliances und -Services im Test

E-Mail-Baldrian

Spam nervt. Für Entspannung in den Mailboxen sorgen Spamfilter - vorausgesetzt sie wirken zuverlässig und verschonen die Empfänger mit Nebenwirkungen. Das Linux-Magazin hat fünf Appliances, zwei Service-Anbieter sowie die Filter von GMX und Web.de einem aufwändigen Langzeittest unterzogen.

Laut Spam-o-Meter [1] sind derzeit 89 Prozent aller versandten Mails Spam - T-Online bezeichnet gar 97 Prozent aller eingehenden Nachrichten als Spam [2]. Wie stark sich diese Werte unterscheiden, fällt bei der umgekehrten Betrachtung auf: Einmal sind elf, einmal nur drei Prozent aller Mails kein Spam. Egal was stimmt, die Flut ist mehr als lästig und verlangt nach Gegenmaßnahmen, am besten schon im Netzwerk, bevor der Müll den Mailclient erreicht.

Eingeladen, um an einem sehr aufwändigen Test teilzunehmen, waren zahlreiche Hersteller von Antispam-Appliances. Nicht alle haben sich getraut, sodass das Testfeld (Tabelle 1) letztlich Geräte von Symantec, McAfee, Ironport, Canit (Pyramid) und IKU umfasste (Abbildung 1). Dazu kamen zwei Application Service Provider (Expurgate und Spam Stops Here). Als Vergleich dienten GMX und Web.de mit je einem ihrer Spam-gefilterten E-Mail-Accounts.

Tabelle 1: Testfeld

Abbildung 1: Am Test nahmen unter anderem fünf Appliances teil. Von oben nach unten: Canit Anti-Spam, IKU Sponts-Box, McAfee Secure Content Management Appliance 3200, Ironport C10 Email Security Appliance und Symantec Mail Security 8260.

Abbildung 1: Am Test nahmen unter anderem fünf Appliances teil. Von oben nach unten: Canit Anti-Spam, IKU Sponts-Box, McAfee Secure Content Management Appliance 3200, Ironport C10 Email Security Appliance und Symantec Mail Security 8260.

Dabei ist nicht einmal klar, was genau der Begriff Spam meint: Ursprünglich stammt er aus dem Usenet, wo er die unerwünschten Werbepostings bezeichnete. Als dieses Phänomen auch die E-Mail erreichte, war es bald üblich, auch UCE (Unsolicited Commercial E-Mail) als Spam zu bezeichnen. Doch der Volksmund ist faul, heute meinen viele mit Spam schon jede unerwünschte Mail und differenzieren nicht weiter.

Je nach der Begriffsdefinition schwankt daher auch die Spam-Menge. Der vorliegende Test konzentriert sich auf klassischen Spam. Viren und Wurm-Mails durften die Systeme zwar filtern, in der Auswertung schlägt sich das aber nicht gesondert nieder.

Testaufbau

Im Vorfeld diskutierten Redaktion und Autor lange, wie der Test ablaufen sollte. Der verbreitete Ansatz nimmt bekannten Spam aus den großen Archiven [3] und setzt die Filter darauf an (siehe Kasten "Filtertechniken"). Das zeigt aber bestenfalls, ob die Hersteller ihre Hausaufgaben gemacht und ihre Filter gegen bekannten Spam getestet und optimiert haben. Die Spammer versuchen mit ihren Tarnmethoden aber immer erneut, die bestehenden Filter gezielt zu überlisten, und testen ihren Werbemüll gegen die bekannten Filter.

Filtertechniken

E-Mail-Black- und Whitelists: Diese Listen verzeichnen E-Mail-Adressen bekannter Spammer (Blacklist) sowie bekannter, guter Mailversender (Whitelist). Letztere senkt vor allem die Wahrscheinlichkeit von False-Positives und ist daher sehr sinnvoll. Die Blacklists bleiben wegen üblicherweise gefälschter Absenderadressen weitgehend unwirksam.

IP-White- und Blacklists: Analog lassen sich schwarze Liste von spammenden IP-Adressen anlegen. Das war gut, als Open Relays noch die Hauptverteiler von Spam waren. Heutzutage arbeiten viele Blacklists sehr aggressiv und blockieren generell alle dynamischen IP-Adressen und gerne auch etliche asiatische Länder. Sie treffen damit aber viele Unschuldige.

URL-Blacklisting: Viele Spam-Mails bewerben Webseiten. Taucht eine einschlägige URL in der Mail auf, ist sie wahrscheinlich Spam.

Contentfilter suchen im Mailinhalt nach typischen Spam-Formulierungen. Beliebt sind Ausdrücke wie "click here" und "unsubscribe", aber auch "Viagra". Spammer wehren sich und tarnen die verräterischen Wörter kreativ, etwa als »/1@6R/-«.

Lazy-HTML/Webbug: Diese spezielle Ausprägung eines Contentfilters fahndet nach Mails mit Bildern, die der Mailclient aus dem Internet herunterladen soll. Meist liefert ein Server-seitiges Skript diese Bilder und wertet nebenbei einen eindeutigen GET-Parameter aus. Spammer setzen diese Technik ein, um zu erkennen, ob die Mail gelesen wurde und um ihre Mailadressen zu verifizieren.

Bayes-Filter: Im Gegensatz zum manuell konfigurierten Contentfilter, der statische Listen einschlägiger Wörter enthält, setzt der Bayes-Filter zum Füllen dieser Wortlisten Wahrscheinlichkeitsberechnungen ein. Er analysiert Spam- und Ham-Mails und bestimmt anhand des Vorkommens bestimmter Ausdrücke die Wahrscheinlichkeit, dass eine vorliegende Mail unerwünschte Werbung ist. Spammer versuchen diese Filter zu verwirren, indem sie zufällige Wortlisten in ihre Ergüsse integrieren. Das erklärt den Wortsalat, der sich heutzutage oft in Spams tummelt.

Bildfilter versuchen den Inhalt von Bildern zu analysieren. Frühe Exemplare beschränkten sich mit einer einfachen Logik auf das Erkennen von Rosatönen: Rosa könnte Haut sein, viel Haut könnte Porno sein und damit Spam. Ungünstig ist das für Menschen mit einer Glatze, die ihre Bewerbungsmappe mit Foto per E-Mail einsenden.

Prüfsummenfilter und kollaborative Filter vergleichen eintreffende Mails vieler Anwender und versuchen Ähnlichkeiten zu erkennen. Die Logik ist bestechend: Empfangen viele Nutzer die gleiche Mail, ist sie wahrscheinlich Spam. Gefährdet sind Newsletter. Gegen deren Falsch-Klassifikation helfen Whitelists. Vorsichtigere Filter warten, bis einzelne Nutzer eine Mail gezielt als Spam markieren. Zudem kommen alle anderen Filterkriterien zum Einsatz, um Spam von Ham zu unterscheiden. Aus Datenschutzgründen erhält der zentrale Filter nur Prüfsummen über die Nachrichten. Der Prüfsummenalgorithmus muss gegen kleine Änderungen der Mail aber unempfindlich sein, denn Spammer kennen das Verfahren und ergänzen Mails mit individuellem Zufallstext.

Greylisting verzögert die Annahme der Mail, indem der Empfänger zunächst einen temporären Fehler im SMTP-Dialog vortäuscht. Bis dahin hat der Sender bereits seine IP, Absenderadresse und die Zieladresse übermittelt. Diese Informationen speichert der Mailserver. Beim nächsten Verbindungsversuch akzeptiert er die Mail dann. Die Idee: Die Würmer der Spammer haben keine vollständigen SMTP-Engines und halten den temporären Fehler für einen Dauerfehler. Daher geben sie es auf, die Nachricht zuzustellen. Auch hier haben die Spammer nach zwei Jahren das System verstanden, zum Beispiel berichtet Charly Kühnast im Linux-Magazin [7], dass Spammer sein Greylisting munter unterlaufen.

SPF, Caller-ID, DK: Sender Permitted From oder Sender Policy Framework sowie Caller-ID oder auch Yahoos Domain-Key hinterlegen im DNS, von welchen Rechnern E-Mails für eine bestimmte Domain stammen dürfen. Neben der teilweise unklaren Patentlage haben diese Verfahren einen gravierenden Nachteil, denn mittlerweile wird ein Großteil der Spam-Mails von Rechnern verschickt, die im DNS als zuständig für die Domain eingetragen sind. Domains zu registrieren und DNS-Einträge zu erzeugen ist für Spammer sowieso Tagesgeschäft, schließlich müssen sie URL-Filtern und Abuse-Beschwerden ausweichen.

In Spammer-Kreisen ist es üblich, dazu bei großen Mailprovidern Accounts zu registrieren und die eigenen Müllbotschaften zunächst dorthin zuzustellen. Das zeigt, ob der gewählte Text den Filter überwindet. Manche Bulkmail-Programme integrieren sogar Spamassassin [4] und testen und bewerten die Massenmails noch vor dem Versand mit den Regeln dieses Antispam-Programms. Klar dass die Sender ihre Texte so lange variieren, bis sie an den marktgängigen Filtern vorbeischlüpfen.

Damit sagt die Erkennungsrate für alten Spam wenig über die Qualität der Heuristiken des Filters aus. Aus diesen Daten ist die Leistung mit täglich frischem Spam kaum vorhersagbar. Damit stand für den Test fest, dass die Filter nur mit aktuellem Spam arbeiten dürfen, der frisch aus dem Internet eintrifft. Einfach einen bestehenden Mailaccount umzuleiten genügt nicht, weil der Spam-Kampf bereits im SMTP-Dialog beginnt. Das bedeutet, dass jedes Testsystem eine eigene Domäne mit eigenem MX-Eintrag im DNS erfordert (siehe Kasten "Mail Exchange im DNS").

Mail Exchange im DNS

Ein Mail Transfer Agent (MTA) ermittelt zunächst die IP, an die er eine E-Mail zustellen darf [5]. Er extrahiert dazu den Domänennamen aus der Mailadresse und schickt eine MX-Query (Mail Exchange) an seinen DNS-Server. Der antwortet mit der IP-Adresse des zuständigen Mailservers. Um für Ausfallsicherheit zu sorgen, darf jede Domäne mehrere MX-Einträge angeben. Die dürfen unterschiedlich priorisiert sein, wobei ein niedrigerer numerischer Wert zu höherer Priorität führt.

Der sendende MTA verbindet sich zum MX höchster Priorität und versucht dort seine Mail abzuliefern. Ist er erfolglos, wendet er sich an den nächsten in der Rangfolge. Die sekundären Mailserver versuchen daraufhin, intern dem jeweils höchst priorisierten Kollegen alle Mails weiterzureichen.

In der Praxis steht der MX höchster Priorität meist auf dem Firmengelände, die lokale IT-Abteilung betreut ihn. Dort sind häufig strenge Spamfilter aktiviert. Meist gehören ein zweiter und eventuelle weitere MX-Server dem Leitungsprovider. Der hat kaum Filter installiert und weiß eigentlich nur, dass er für eine bestimmte Domain zuständig ist. Für den Spammer ist dieses Ziel viel lohnender. Liefert er hier seinen Werbemüll ein, hat er ihn erfolgreich an den Mann gebracht - oder zumindest schon einige Filter umgangen, zum Beispiel IP-basierte Blacklists. Die sehen als Quelle den legitimierten, niedriger priorisierten MX des Providers statt den wahren Übeltäter.

Eine weitere Methode, Ausfallsicherheit und Load Balancing zu erreichen, nutzt aus, dass MX-Einträge nur Rechnernamen nennen. Einem Rechnernamen im DNS dürfen mehrere A-Records zugeordnet sein, also Einträge, die den Namen in IP-Adressen auflösen. Die Einträge kommen abwechselnd zum Zuge, so entsteht ein simples Load Balancing, auch DNS-Round-Robin genannt.

Vier Monate frischer Spam

Als Nächstes galt es, bei jeder Domäne für kontinuierliches Spam-Aufkommen auf mehreren Adressen zu sorgen. Die Tester meldeten zehn Domains an und veröffentlichten pro Domain je eine Webseite, die je vier Mailadressen bewarb. Die Domains waren ein halbes Jahr vor dem eigentlichen Test aktiv und intensiv von anderen Seiten aus verlinkt. Gezielt gewählte Schlagwörter machten es den Harvestern besonders schmackhaft, die Seiten zu beglücken. Nach einem halben Jahr waren die Domains und die beiden Webmailer-Accounts bestens aufgepäppelt, sie empfingen ausreichend viel und gleichmäßig Spam. Wie schnell das gehen kann, beschreibt der Artikel zur Spam-Prävention in diesem Heft. Während der heißen Phase des Tests erhielt jede Opferadresse täglich zwischen 50 und 100 taufrische Spam-Mails.

Als Mailserver für die Domains lief ein Rechner, der auf zehn IP-Adressen hörte. Jede der zehn IPs war als MX für jeweils eine der angemeldeten Domains eingetragen. Sendmail nahm die Mails entgegen. Nachrichten von GMX und Web.de holte der Agent via Fetchmail und reichte sie anschließend direkt unter Nennung der Envelope-to-Adresse an ein kleines Perl-Skript weiter, das die Mails in Body und Header zerlegte und in eine Datenbank eintrug.

Als dann die Appliances kamen - manche mit Techniker, manche einfach per Post (siehe auch den Einführungsartikel) -, bekam jedes Gerät eine Domain zugewiesen und übernahm die IP des MX (Abbildung 2). Damit war keine DNS-Änderung notwendig, die vielleicht die Testergebnisse verfälscht hätte. So behauptet zum Beispiel Sponts-Box-Hersteller IKU, dass weniger Spam ankäme, wenn man nur ausreichend oft und ausdauernd »User unkown« zurücksendet (siehe den Artikel über Spam-Prävention in diesem Heft).

Abbildung 2: Während der Harvester-Phase (oben) sammelte ein Mailserver auf zehn IP-Adressen für zehn Domänen Spam ein. Beim Test übernahmen Appliances als SMTP-Proxy diese Adressen und leiteten den gefilterten Mailverkehr an den gemeinsamen internen Mailserver.

Abbildung 2: Während der Harvester-Phase (oben) sammelte ein Mailserver auf zehn IP-Adressen für zehn Domänen Spam ein. Beim Test übernahmen Appliances als SMTP-Proxy diese Adressen und leiteten den gefilterten Mailverkehr an den gemeinsamen internen Mailserver.

Bei den Service-Anbietern Expurgate und Spam Stops Here ging es nicht ohne Änderung des MX-Eintrags. Der Dienst dieser Firmen muss als MX für die eigene Domain eingetragen sein. Expurgate und Spam Stops Here analysieren und filtern die Mails und reichen sie durch zum Ziel-Mailserver. Das Verfahren verlagert den kompletten Wartungsaufwand des Spamfilters hin zum Anbieter. Allerdings ist ein kräftiger Vertrauensbonus notwendig, um alle Mails einem externen Unternehmen zu überlassen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 9 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook