Die fiesen Tricks der Spammer
Artikel erschienen in Swiss IT Magazine 2004/16
Gegen das Spam-Übel ist kein Kraut gewachsen, scheint es. Immer mehr Firmen, Free-Mailer und private Anwender installieren zwar Spam-Filter auf ihren Mailservern und -clients, und doch gelangt die unerwünschte Post immer wieder in die Mailbox. Offenbar gilt für die Spammer dasselbe, was auch auf die Virenautoren zutrifft: Sie sind auch den ausgeklügeltsten Abwehrstrategien stets einen Schritt voraus (oder benötigen nie lange, um sie zu umgehen). Wir zeigen, mit welchen Methoden moderne Spam-Filter arbeiten und mit welchen Tricks die Spammer sie immer wieder aushebeln.
Die auch heute noch am weitesten verbreitete Anti-Spam-Methode ist das klassische Content-Filtering. Diese Technologie arbeitet ähnlich wie ein Anti-Viren-Tool auf einem Server oder in einer Appliance: Eine eintreffende Nachricht wird analysiert, wobei nach einer sogenannten Spam-Signatur gesucht wird – einem typischen Muster (beispielsweise ein bestimmtes Wort oder eine Wortfolge, bekannt als «Hash»), das in vielen Spam-Mails vorkommt. Zusätzlich werden weitere Listen mit Schlüsselwörtern und sogenannte Blacklists mit IP-Adressen von Spam-Servern beigezogen. Auf diese Weise identifizierte Spam-Nachrichten werden automatisch blockiert, gelöscht oder in einen speziellen Ordner verschoben.
Diese Methode hat einige gravierende Nachteile: So steht und fällt der Erfolg der Filterung mit der Aktualität und Akkuratesse der grundlegenden Listen – sie müssen überaus häufig aufdatiert werden und möglichst viele Schreibweisen von Wörtern beinhalten. Das wissen auch die Spammer, weshalb schon früh Kunstwörter wie Vi@gr@ kreiert und die Spam-Nachrichten mit Zufallszahlen und -buchstaben dekoriert wurden, worauf die Filter ins Leere liefen. Auf dieses sogenannte «Hash Busting» haben die Hersteller von Anti-Spam-Software mit der Entwicklung von «Fuzzy-Hash»-Erkennung reagiert, also sogenannt unscharfen Algorithmen, die auch kreative Wortschreibweisen erkennen sollten. Diese Fuzzy-Technologien arbeiten allerdings mit wechselhaftem und vor allem unvorhersehbarem Erfolg.
Ebenfalls in den meisten Spam-Filtern integriert ist die Bayesianische Filterung. Dieser Filter nutzt komplexe statistische Methoden, um den Inhalt einer Nachricht zu analysieren und im Vergleich mit früheren Mails zu errechnen, mit welcher Wahrscheinlichkeit eine Mail Spam ist oder nicht.
Es liegt auf der Hand, dass der Bayesianische Filter erst nach einem aufwendigen Training akzeptabel funktionieren kann, schliesslich muss er zunächst über eine Datenbasis für seine Wahrscheinlichkeitsberechnungen verfügen. Aber auch wenn er bereits produktiv arbeitet, muss er ständig überwacht und weiter trainiert werden. Andererseits wird die Filterung stets besser, je grösser die Datenbasis wird – müsste man meinen.
Denn natürlich haben die Spammer auch zum Aushebeln von Bayesianischen Filtern probate Mittel entwickelt, bekannt als «Bayesian Poisoning». Nach dieser Methode werden legitime Sätze und Wörter in die Spam-Nachricht eingestreut, was natürlich die Mail noch nicht erwünscht werden lässt, aber immerhin den Filter genügend verwirrt, so dass er die Spam-Wahrscheinlichkeit entsprechend niedrig ansetzt und die Nachricht schliesslich in die Mailbox gelangt.
Und dies führt zur besonderen Problematik des «Bayesian Poisoning»: Wird diese Mail nun nämlich als Spam gekennzeichnet und der Filter entsprechend trainiert, dass er auch die legitimen Sätze und Wörter als Spam taxiert, führt dies über die Zeit zu einer unakzeptabel hohen Zahl von falschen Positiven (erwünschte Mails, die als Spam identifiziert werden). Glücklicherweise ist dieses Problem im deutschsprachigen Mailverkehr noch nicht so akut, da die meisten Spam-Mails englisch geschrieben sind und entsprechend auch die Filter auf englische Wörter reagieren.
Ein weiterer Trick der Spammer, mit dem sich Content-Filtering-Mechanismen überlisten lassen, ist die Personalisierung von Nachrichten. Mit automatischen Tools werden Nachrichten generiert, die über eine Anrede, Grussworte und einen zumindest teilweise unverfänglichen Inhalt verfügen; ausserdem werden solche Nachrichten jeweils nur an einen Empfänger geschickt. Ziel dieser Methode ist der Versand von möglichst echt wirkenden Mails, die den Filtern wenig Angriffsfläche bieten und die deshalb nicht als Spam erkannt werden. Dasselbe wird auch über eine Minimierung des Nachrichteninhalts erreicht, denn je weniger Kontext zur Verfügung steht, desto schwieriger ist es für den Filter, den Inhalt zu analysieren.
Auch die Hersteller von Anti-Spam-Software haben aus diesen Tricks gelernt und ihre Tools entsprechend hochgezüchtet. Für die Spammer wird die Verbreitung ihres Mail-Mülls immer schwieriger, wenn sie nur auf die Aushebelung des Content-Filtering vertrauen. In den letzten Monaten wurden deshalb einige neue Spam-Taktiken entwickelt, die auf der Nutzung von Schwächen der Mail-Protokolle beruhen und zum Zweck haben, den Spam-Empfänger direkter zu erreichen.
Eine dieser Techniken ist die sogenannte Directory-Harvest-Attacke (DHA). Dabei wird die Tatsache ausgenutzt, dass ein Mail-Server eine eingehende Mail an einen bestimmten Adressaten entweder akzeptiert (wenn der Adressat bekannt ist) oder eben nicht. Im letzteren Fall wird eine Antwort erzeugt, dass die Nachricht nicht geliefert werden kann. Spammer nutzen dies, indem sie Hunderttausende von Mails mit verschiedenen Empfängeradressen (z.B. ottomeier, omeier und ottom@xyz.ch) an dieselbe Domäne schicken und die Antworten sammeln. Jede Adresse, für die keine Antwort eingeht, wird als gültige Adresse und damit als künftiges Spam-Ziel genommen. So gesammelte Adressen werden in Listen zusammengetragen und mitunter auch verkauft.
Ein unerfreulicher Nebeneffekt der DHA ist, dass ähnlich wie bei einer DoS-Attacke der Mail-Server unter der Last der Anfragen und durch die Generierung der Non-Delivery-Reports stark ausgebremst wird oder sogar zusammenbrechen kann.
Traditionelle Methoden zur Spam-Bekämpfung greifen gegen die jüngsten Tricks der Spammer nicht mehr. Mit Content-Filtering lassen sich DHA nicht abfangen, weil es keinen Inhalt gibt – und überhaupt müsste die Abwehr bereits vor dem Mail-Server oder -Gateway erfolgen, auf dem typische Anti-Spam-Lösungen arbeiten.
Auch die zur Blockierung von als Spam-Server bekannten IP-Adressen durch schwarze Listen nützt nichts mehr, weil die Spammer heutzutage meist über zahlreiche (gekaperte) Server verfügen, diese aber jeweils nur für kurze Zeit benutzen. Selbst wenn regelmässige Black-List-Updates verfügbar sind, nutzt der Spammer bis zur Implementierung derselben oft bereits den übernächsten Server.
Wirksame Massnahmen gegen diese aktuellen Bedrohungen aus dem Internet sind derzeit noch rar. Klassische Spam-Filter, die auf Mail-Servern und -Gateways laufen, können dafür kaum eingesetzt werden. Gute Resultate versprechen dagegen Managed Services, wie sie etwa Postini oder in der Schweiz CleanMail anbieten, da bei diesen Systemen die Spam-Nachrichten gar nicht erst aufs eigene System gelangen und auch Directory-Harvest-Attacken wirksam geblockt werden können.
Welchen Erfolg dagegen die derzeit laufenden Anti-Spam-Initiativen von Hotmail, Yahoo, AOL und anderen zeitigen werden, lässt sich derzeit leider noch nicht abschätzen. Die Mail-Riesen setzen auf das Sender-ID-Prinzip, das das bei Spammern beliebte Fälschen von Absenderadressen verunmöglichen soll. Sicher ist allerdings, dass auch die Spammer nicht schlafen und bereits daran sind, Mittel und Wege zur vollständigen Umgehung der neuen Anti-Spam-Massnahmen zu finden.
Eine Methode, Spam-Mails vor dem Content-Filter zu tarnen, ist die Anreicherung mit unverfänglichem Text. Damit der Leser dennoch nur die Spam-Botschaft zu lesen bekommt, wird der Text mit diversen Methoden in der Mail versteckt:
Unsichtbare Tinte: Der Text erscheint in derselben Farbe wie der Hintergrund und wird dadurch unsichtbar. Manche Filter erkennen dies und taxieren eine solche Nachricht als Spam, weshalb neuerdings nicht dieselbe, sondern eine sehr ähnliche Farbe benutzt wird.
Versteckte Formularfelder: Der unverfängliche Text wird in HTML-Mails in versteckte Formularfelder integriert, die vom Filter zwar interpretiert, aber vom Mail-Client nicht angezeigt werden.
HTML-Kommentare: Sie werden vom Filter gelesen, aber nicht angezeigt.
Andere HTML-Tags: Ähnlich kann Text auch mit Hilfe von ungültigen oder ungebräuchlichen HTML-Tags (z.B. <marquee>, <frame>, <noframe>, <style>) versteckt werden.
Auch bei der Tarnung von URLs zeigen sich die Spammer kreativ. So werden die Links schon mal zweigeteilt (damit sie der interessierte Leser selber wieder zusammensetzt), per URL-Encoding chiffriert oder mit einem Java-Script präpariert: klickt der Leser auf eine unverfängliche URL wie www.yahoo.com, wird er über das Java-Script auf die Website des Spammers umgeleitet. Einfallsreich auch einer der neuesten URL-Tricks: Statt in der Nachricht auf seine eigene Website zu verweisen, fügt der Spammer einen Link zu einer speziellen Suchmaschinen-Anfrage ein, die die Spammer-Site als Top-Resultat findet.