Workshops / Hintergrundberichte / Buchvorstellungen
---------------------------------------------------
1. Workshop: Anti-Spam mit YAM (von Christian Aichinger)
E-Mail ist toll! Elektronische Briefe an Freunde, Bekannte oder Verwandte
kosten so gut wie nichts und sind im Allgemeinen innerhalb von Sekunden am
Ziel. Auch Einladungen, Rundschreiben und Diskussionsbeiträge werden
normalerweise in Nullkommanix verteilt und erreichen den Menschen am
anderen Ende der Leitung im besten Fall sofort. Doch genauso viel
Anziehungskraft wie auf normale Internet-Anwender haben all diese Vorteile
von E-Mails auch auf jene, die versuchen, mit Werbung und ominösen
Angeboten das schnelle Geld zu machen; werden doch die Kosten für eine
umfangreiche E-Mail-Werbekampagne zum größten Teil von den Empfängern
getragen (nämlich mittels derer Telefonrechnung). Geringe (bis keine)
Investitionen und größtmöglicher Gewinn locken so manchen "Geschäftsmann",
der die eigenen Kosten sogar so weit minimiert, als dass er zum Versenden
seiner Spam-Mails den Internetzugang des Arbeitgebers verwendet und mit
Hilfe von Robots (kleine Programme, die das Internet systematisch
durchforsten) seine E-Mail-Datenbestände automatisch erweitern lässt.
In letzter Zeit wurde es mir jedenfalls endgültig zuviel mit Download-
Angeboten für "100%ig kostenlose Sex-Software", dümmlichen Kettenbriefen
und "heißen Sonderangeboten" von Firmen, deren Name ich noch nie zuvor
gehört habe. Einige Absender waren sogar so unverschämt, mir ihren
gehaltlosen Müll gleich drei- bis viermal hintereinander zu schicken. Zum
Teil ging es soweit, dass von zehn E-Mails fünf ungelesen in den Müll
wanderten, spricht doch allein schon das Betreff-Feld der meisten Spam-
Mails eine eigene Sprache ("Software für Dich!", "LADIES earn money for
college, vacation, car, new house!", "Top Verdienstmöglichkeit ! ! ! ...",
usw.). Doch meinen alten E-Mail-Account aufgeben? Nein, dazu hatte ich nun
auch keine Lust - ist es außerdem nur eine Frage der Zeit, bis wieder das
alte Spam-Aufkommen auf einem neuen Account erreicht werden würde.
Defensive
Eine goldene Regel zur Bekämpfung von Spam lautet: Antworte niemals auf
solche Mails! Mal ganz abgesehen davon, dass die eigene Telefonrechnung
durch eine Antwort auf Spam ein weiteres Mal sinnlos beansprucht wird,
erhält der Spam-Versender durch eine Antwort auf sein Angebot die
Verifizierung eines gültigen E-Mail-Accounts. Für ihn ist ein gültiger E-
Mail-Account bares Geld wert, kann er doch nun diese E-Mail-Adresse an
andere Spammer weiterverkaufen (man mag es kaum glauben, aber damit wird
tatsächlich Geld verdient) und/oder seine Aktivitäten auf diese Adresse
verschärfen. Die Folge für den Anwender: Das Spam-Aufkommen wächst, anstatt
zu schrumpfen.
Aber was bleibt dem entnervten Anwender als Antwort auf Spam übrig? - Nun,
zum einen kann man "aufgeben", sprich, sich einen neuen E-Mail-Provider
suchen und den alten E-Mail-Account abschalten lassen. Die neue E-Mail-
Adresse an den Bekannten- und Verwandtenkreis weiterzugeben ist in dem Fall
kein so großes Problem, doch falls der Anwender in mehreren Mailinglisten
eingetragen ist oder die Dienste eines kommerziellen E-Mail-Providers in
Anspruch nimmt, artet so eine Adressänderung meistens schon in "richtige
Arbeit" aus, die man sich als Benutzer von YAM auch sparen kann. Zum
anderen kann man sich auch von vornherein einen E-Mail-Provider suchen, der
es über sein Webinterface ermöglicht, einen Spam-Filter einzubauen. Als
Beispiel sei hier GMX (http://www.gmx.de) genannt. Wenn der E-Mail-Provider
solch ein Feature nicht unterstützt sieht es düster aus, oder? Nicht ganz!
Born to Kill
Die Lösung lautet "Killfile", oder in der gemäßigteren YAM-Formulierung
ausgedrückt: "Remote-Filter". Diese Filter-Form durchsucht vor dem Holen
der E-Mails alle Mailheader (und nur die Mailheader) nach frei wählbaren
Header-Schlüsselworten (wie z.B. das "From:"-Schlüsselwort, das über die
Absender-Adresse Auskunft gibt). Dazu muss allerdings der optionale "TOP"-
Befehl vom verwendeten POP3-Server (POP3: Post Office Protocol V3; das
heutzutage übliche Protokoll zur Verwaltung des "E-Mail-Briefkastens")
unterstützt werden.
Wie gesagt, dieser Befehl ist optional und muss nicht von jedem POP3-Server
zur Verfügung gestellt werden. Ob der eigene E-Mail-Account nun "Remote-
Filter"-fähig ist, lässt sich demnach nur nach dem Motto "Versuch macht
kluch" in Erfahrung bringen, es sei denn, der E-Mail-Provider weist
definitiv auf diese Eigenschaft hin (was natürlich auch keine
hundertprozentige Garantie für eine korrekte Funktion sein muss).
E-Mail-Analyse
Um ein halbwegs effektives Killfile aufzubauen, benötigt man als erstes
natürlich die E-Mail-Adressen derjenigen, die sich in den Augen des
Anwenders besonders als Spammer hervorzeichnen. Am besten durchsucht man
dazu das Postfach "Deleted" nach älteren Spam-Mails. Hat man nun solch eine
Mail gefunden, muss nur noch die E-Mail-Adresse des Absenders gefunden und
in einer externen Textdatei eingetragen werden. Es können natürlich mehrere
E-Mail-Adressen in diese Datei aufgenommen werden, oder aber auch nach ganz
anderen Merkmalen (E-Mail-Provider ["@yahoo.com" und "@msn.com" werden sehr
gern von Spammern verwendet], Teilketten mit AmigaDOS-Dateimustern, etc.)
gesucht werden. Jedoch sollte beachtet werden, dass, je mehr Parameter in
der Dateifilterung Verwendung finden, desto länger auch die Analyse aller
E-Mails vor dem Abholen dauert. Demzufolge sollten nur die wichtigsten
Merkmale einer solchen E-Mail in das Killfile aufgenommen werden. Gegen
Spam-Mail hilft im Allgemeinen schon das "From"- oder auch "To"-
Schlüsselwort (also die Absender- bzw. Empfängeradresse). Sinnvollerweise
sollte diese Textdatei im YAM-Verzeichnis mit einem logisch
nachvollziehbaren Namen angelegt werden. Mein Killfile nennt sich zum
Beispiel "Remote-Filter.txt".
Außerdem habe ich der Datei ein Project-Icon verpasst, dessen Tooltype zu
einem Texteditor verweist. Das Hinzufügen von weiteren Spam-Adressen ist so
relativ schnell erledigt. Auch ein kleines ARexx-Skript, das das Einfügen
von E-Mail-Adressen direkt aus YAM in diese Datei erledigt, sollte kein
wirklich schwieriges Problem darstellen. Falls ich Zeit finde, wird das
Skript bis zur nächsten Ausgabe nachgeliefert.
Filter stricken
Der Remote-Filter wird im Konfigurationsfenster von YAM erstellt. Dazu wird
im Menü "Einstellungen" der Punkt "Konfiguration" angewählt. In der linken
Liste des nun erscheinenden Fensters wird das Feld "Filter" (4. Position
von oben) selektiert. Daraufhin erscheinen im rechten Teil des Fensters die
Filteroptionen. Ein Mausklick auf "Neu" erzeugt einen neuen Filter. Damit
dieser als Remote-Filter funktioniert, muss auch das Häkchen "Remote-
Filter" gesetzt werden, das auf der rechten Seite unter dem Reiter
"Optionen" zu finden ist. Die Namenswahl unterliegt der Entscheidung des
Anwenders - "Killfile" dürfte allerdings recht naheliegend sein.
Screenshot:
Als nächstes müssen die Werte definiert werden, die eine E-Mail nach
Meinung des Anwenders als Spam auszeichnet. Unter dem Reiter "Vergleich"
gibt es nun die Möglichkeit, zwei Suchkriterien zu definieren, die mit
einem logischen Operator ("und", "oder", "exklusives oder") verknüpft
werden können. Für den Anfang begnügen wir uns mit nur einem Suchkriterium,
nämlich der "From-Zeile". Dazu wird das Cycle-Gadget "Suchen in" auf "From-
Zeile" und das direkt darunter befindliche Cycle-Gadget (also die Art des
Vergleichs) auf "IN" gestellt. "IN" bedeutet übrigens, dass die Suchmuster
aus einer externen Textdatei entnommen werden. Und hier kommt das vorher
angelegte Killfile mit den Spam-Absenderadressen ins Spiel. Der Name der
Datei muss in das Texteingabefeld neben "IN" eingetragen werden. Dazu kann
auch ein Dateirequester verwendet werden, der mit dem Knopf gleich rechts
neben dem Texteingabefeld aufgerufen werden kann.
Screenshot:
Nachdem alles eingestellt wurde, muss noch festgelegt werden, was mit den
Mails, die diesem Suchkriterium entsprechen, geschehen soll. Da es sich
dabei um Spam handelt, können solche Mails ruhig auf dem E-Mail-Server
bleiben und gleich dort gelöscht werden. Dazu wird der Reiter "Aktion"
aufgerufen und die beiden untersten Häkchen "Löschen" und "Nicht
runterladen" gesetzt. Mit einem Klick auf "Speichern" wäre ein
grundlegender Spam-Filter erstellt.
Erfahrenere Anwender können die Suchkriterien für Spam-Mails wie erwähnt
mit einer logischen Verknüpfung zusätzlich verfeinern. Zum Teil werden E-
Mail-Adressen von Spam-Versendern in regelrechten Spam-Mailinglisten (wie
z.B. Yahoogroups, was allerdings laut deren AGBs nicht erlaubt ist)
verwaltet bzw. verschickt. Die eigene E-Mail-Adresse ist dann in so einer
Mailingliste eingetragen, obwohl man davon überhaupt nichts weiß,
geschweige denn sein Einverständnis dazu gegeben hat. In so einem Fall kann
es sinnvoll sein, auch die "To"-Zeile einer E-Mail auf eine entsprechende
E-Mail-Adresse bzw. die dort eingetragene Mailinglisten-Bezeichnung
("Freunde", "Kontaktanzeige") überprüfen zu lassen. Dazu wird das mittlere
Cycle-Gadget (das jetzt noch auf "nicht verknüpfen" stehen sollte) auf
"oder" und das zum zweiten Suchkriterium gehörige "Suchen in"-Cycle-Gadget
auf "To-Zeile" gestellt. Der Vergleichsoperator wird wie beim ersten
Suchkriterium auf "IN" gesetzt, um die Suchmuster einer externen Textdatei
entnehmen zu können. Diese externe Textdatei kann entweder wieder die
gleiche wie beim ersten Suchkriterium sein, in der dann aber zusätzlich
auch die zu filternden "To"-Adressen eingetragen werden müssen, oder man
erstellt eine weitere Textdatei (ein weiteres "Killfile"), in der dann
ausschließlich "To"-Adressen verzeichnet sind.
Screenshot:
Der erste Fall ist nur für bequemere Zeitgenossen geeignet, da im zweiten
Fall eine zusätzliche Datei verwaltet werden muss, dafür aber der
eigentliche Vergleich der Mail-Header auf dem Server schneller vonstatten
geht und demzufolge das "Post holen" mit "schmalbandigen"
Internetverbindungen nicht zur Kaffeepause ausartet.
Kampf gegen Windmühlen
Leider hat die Remote-Filter-Methode auch eine entscheidende Schwachstelle,
die den Kampf gegen Spam zur Sisyphus-Arbeit ausufern lassen kann: Da es
unzählige E-Mail-Weiterleitungs-Angebote, Anonymisier-Dienste, kostenlose
E-Mail-Provider und zu allem Überdruss auch noch Programme gibt, die es dem
Spammer ermöglichen, seine wahre Identität - besser gesagt E-Mail-Adresse -
zu verbergen, ist es nahezu unmöglich, vor jeder Spam-Mail gefeit zu sein.
Der Remote-Filter hilft tatsächlich nur gegen Absender, die wenigstens
einmal ihren Müll ins Postfach des Anwenders geschickt haben und von diesem
auch in das Killfile aufgenommen wurden. Ein weiteres Problem ist, dass es
nur wenige Spammer gibt, die in ihren Mails eine E-Mail-Adresse zweimal
verwenden, was das Killfile in kürzester Zeit gewaltig anwachsen und
demzufolge die Filterung vor dem Abholen der Mails enorm verlangsamen
lassen kann. Wenn es dann irgendwann länger dauert, das gesamte
Postaufkommen nach Spam durchsuchen zu lassen, als alle Mails inklusive
Spam herunterzuladen, sollte man logischerweise den Remote-Filter ad acta
legen. Gegen Postings von unliebsamen Mailinglisten-Teilnehmern, Mail-
Bomben und -Würmer hilft der Remote-Filter im Allgemeinen aber immer, so
dass er zumindest bei diesen unerwünschten Mails seiner Rolle voll gerecht
wird.
Christian Aichinger <christian@aakt.de>
|