Zentrum für Informationsverarbeitung (ZIV)
Röntgenstraße 7-13 48149 Münster
Tel.: +49 251 83-31600
Fax: +49 251 83-31555
ziv@uni-muenster.de

Spam-Entsorgung mit perMail

Aus: inforum Nr. 3/2004 vom Dezember 2004 - beachten Sie die späteren Ergänzungen.

perMail besitzt jetzt eine trainierbare Spam-Erkennung. Bei geschickter Nutzung lassen sich Spam-E-Mails effizient vernichten.

perMail integriert verschiedene Methoden, um unerwünschte E-Mails aus dem eigenen Postfach auszusortieren. Dieser Artikel beschreibt, welche Ansätze in perMail integriert sind, und liefert eine ausführliche Anleitung, wie Sie durch geschickte Kombination der in perMail enthaltenen Möglichkeiten dem unerwünschten Werbemüll effizient zu Leibe rücken können - sofern Sie bereit sind, die für das Training notwendige Zeit zu investieren.

Regelbasierte Spam-Erkennung

Ein erster Ansatz beruht auf der Erkenntnis, dass sich viele Spam-E-Mails anhand typischer technischer Eigenschaften, beispielsweise bestimmter Muster in den Kopfzeilen, erkennen lassen.

Auf den zentralen E-Mail-Servern der Universität ist die Software SpamAssassin installiert, welche alle durchlaufenden E-Mails auf bekannte solche Eigenschaften hin untersucht, und bei verdächtigen E-Mails zusätzliche Kopfzeilen mit dem Ergebnis der Untersuchung einfügt. Unter anderem summiert SpamAssassin die Ergebnisse der verschiedenen Tests zu einer Gesamtanzahl von Spam-Punkten auf - die Anzahl der Sternchen in der eingefügten Kopfzeile „X-Spam-Level: *****“ entspricht dieser Punktzahl - und vergibt oberhalb einer Grenzpunktzahl die zusätzliche Kopfzeile „X-Spam-Flag: YES“.

permailpermailperMail zeigt die von SpamAssassin vergebenen Spam-Punkte an. Auf der Index-Seite finden Sie die Anzeige in der rechten Spalte mit der Überschrift „SPAM“, auf der Ansicht-Seite in der Überschriftenzeile rechts. Bei vorhandener Zeile „X-Spam-Flag: YES“ ändert sich das Symbol, siehe Abbildungen im Rand.

permailperMail bietet Ihnen eine Schaltfläche „SPAMfilter“. Dieser SPAMfilter sorgt im Posteingang dafür, dass alle E-Mails mit „X-Spam-Flag: YES“ sofort aus dem Posteingang im elektronischen Reißwolf verschwinden. Die nur als verdächtig eingestuften E-Mails bleiben im Posteingang. Auch bei der Anmeldung können Sie schon „Beginne mit ... SPAMfilter“ auswählen (und durch „init=s“ im Query-String sogar schon im Lesezeichen einstellen, siehe vorherigen Artikel).

permailperMail bietet Ihnen weiterhin eine Schaltfläche „Wegsortieren“. Die dadurch ausgelösten Ablage-Aktionen können Sie durch Einrichtung entsprechender Wegsortierregeln frei programmieren. Die voreingestellten Wegsortierregeln sorgen im Posteingang dafür, dass alle E-Mails mit „X-Spam-Flag: YES“ in die Abfalltonne weggeworfen werden und dass alle weiteren E-Mails mit mindestens fünf Spam-Punkten in einem Ordner „spam-messages“ abgelegt werden. Dahinter steckt die Idee, verdächtige E-Mails erst einmal beiseite zu legen und zu einem späteren Zeitpunkt noch einmal nachzuschauen, ob sich nicht doch eine erwünschte E-Mail darunter befindet. Wer diese Wegsortierregeln benutzt, sollte also alle paar Tage mal den Inhalt des Ordners „spam-messages“ sichten und anschließend vernichten.

Natürlich bemühen sich die Spam-Versender, ihre Massen-E-Mails so zu gestalten, dass sie von bekannter Anti-Spam-Software wie SpamAssassin nur schlecht erkannt werden können; daher ist die Erkennungsrate nur mit Hilfe dieser Spam-Punkte nur mäßig gut. Ein bedeutender Anteil Spam-E-Mails wird nicht als Spam erkannt werden. Diesem Nachteil gegenüber steht der Vorteil, dass Sie die soeben beschriebenen Möglichkeiten sofort und ohne vorbereitende Arbeiten nutzen können.

Trainierte Spam-Erkennung

Ein zweiter Ansatz beruht auf der Erkenntnis, dass sich die meisten Spam-E-Mails daran erkennen lassen, dass sich ihr Wortschatz von dem Wortschatz erwünschter E-Mails unterscheidet. Dieser Ansatz hat das grundsätzliche Problem, dass sich beide Wortschätze nicht anhand fester Kriterien voneinander unterscheiden lassen und sich auch im Laufe der Zeit ändern. Insbesondere hängt der Wortschatz erwünschter E-Mails sehr von der Person des Empfängers ab. Die Unterscheidung muss also anhand statistischer Kriterien oder künstlicher Intelligenz erfolgen. Diesen Ansatz verfolgen viele Software-Produkte mit so genannten Bayes-Filtern und auch die im inforum schon früher beschriebene Software Deleatur meines Kollegen E. Sturm.

All dieser Software gemeinsam ist, dass man sie erst trainieren muss, bevor man sie benutzen kann. Die Software muss lernen, welche Wörter eher in Spam-E-Mails vorkommen und welche eher in erwünschten E-Mails. Man muss der Software also sowohl zahlreiche Spam-E-Mails als auch zahlreiche erwünschte E-Mails vorlegen und ihr jeweils mitteilen, zu welcher Kategorie die jeweiligen E-Mails gehen. Je umfangreicher die Software trainiert wird, desto besser wird die Spam-Erkennung.

permailAuch die neue trainierbare Spam-Erkennung von perMail funktioniert nach diesem Prinzip: Für jedes Wort wird gezählt, wie häufig es in Spam-E-Mails und wie häufig es in erwünschten E-Mails vorkommt. Bei der Ermittlung der Wörter wird auf Spam-typische Verschleierungstaktiken wie das Einstreuen von Satzzeichen oder Akzenten Rücksicht genommen. Mit Hilfe der durch das Training angelegten Wortbasis berechnet perMail für jede E-Mail anhand der darin enthaltenen Wörter eine Spam-Wahrscheinlichkeit zwischen 0 % und 99 % und zeigt diese ebenfalls an den oben genannten Stellen an. Zusätzlich gibt ein Buchstabe an, ob die E-Mail bereits als „gute“ (g) oder Spam- (s) E-Mail „klassifiziert“ wurde oder ob dies noch offen (o) ist.

Natürlich hängt der Wert der Aussage, eine E-Mail habe 70 % Spamwahrscheinlichkeit, sehr vom Umfang des Trainings und der dadurch aufgebauten Wortbasis ab.

Einmalige Vorbereitung: Die Wegsortierregeln

Meine persönlichen Erfahrungen lassen die folgenden Kriterien nach ausreichendem Training als sehr brauchbar erscheinen:

  1. Wenn eine E-Mail schon von SpamAssassin sicher als Spam eingestuft wurde, ist sie sicher Spam.

  2. Wenn für eine E-Mail von perMail eine Spam-Wahrscheinlichkeit von mindestens 75 % errechnet wurde, ist sie sicher Spam.

  3. Wenn die beiden folgenden Bedingungen zusammentreffen, ist die E-Mail ebenfalls sicher Spam.

  4. Wenn eine E-Mail von SpamAssassin mindestens 4 Punkte erhalten hat, ist sie sehr wahrscheinlich Spam.

  5. Wenn für eine E-Mail von perMail eine Spam-Wahrscheinlichkeit von mindestens 60 % errechnet wurde, ist sie sehr wahrscheinlich Spam.

permailDiese Bedingungen lassen sich einfach in Regeln übersetzen, die auf der Wegsortierregel-Seite von perMail eingetippt werden können:

#1. E-Mails mit X-Spam-Flag: YES aus Posteingang in spam-archiv
field     = X-Spam-Flag
current   =
condition = contains
data      = YES
folder    = spam-archiv

#2. E-Mails mit 75 % aus Posteingang in spam-archiv
field     =
current   =
condition = exists
spampercent >= 75
folder    = spam-archiv

#3.E-Mails mit 4 Sternen und 60 % aus Posteingang in spam-archiv
field     = X-Spam-Level
current   =
condition = contains
data      = ****
spampercent >= 60
folder    = spam-archiv

#4. E-Mails mit 4 Sternen aus Posteingang in spam-verdacht
field     = X-Spam-Level
current   =
condition = contains
data      = ****
folder    = spam-verdacht

#5. E-Mails mit 60 % aus Posteingang in spam-verdacht
field     =
current   =
condition = exists
spampercent >= 60
folder    = spam-verdacht

Diese fünf Regeln entsprechen den fünf oben genannten Kriterien und wirken durch die Angabe „current =“ nur im Posteingang. Sicher erkannte Spam-E-Mails landen damit im Ordner spam-archiv, wo sie für ein späteres weiteres Training zur Verfügung stehen. Als Spam-verdächtig erkannte E-Mails landen im Ordner spam-verdacht, der regelmäßig gesichtet werden sollte. Zwei weitere Regeln ersparen beim Training und im weiter unten beschriebenen Tagesgeschäft einige Mausklicks:

#6.Alle E-Mails aus Ordner spam-verdacht in Ordner spam-archiv
field     =
current   = spam-verdacht
condition = exists
folder    = spam-archiv

#7. Alle E-Mails aus Ordner spam-archiv in den Reißwolf
field     =
current   = spam-archiv
condition = exists
folder    = /

Die sieben Regeln machen erst dann einen Sinn, wenn bereits ein ausreichendes Training durchgeführt wurde - jeweils mehr als hundert gute und Spam-E-Mails sollten es schon gewesen sein -, daher sind diese Wegsortierregeln nicht voreingestellt, sondern müssen von Ihnen selbst aktiviert werden.

Natürlich können diese Regeln von Ihnen nach Belieben ergänzt oder geändert werden; Whitelists oder Blacklists sind einfach zu erstellen. In der Online-Hilfe finden Sie ein umfangreiches, kürzlich erneuertes Beispiel von Wegsortierregeln, in welchem die obigen Regeln als Kern enthalten sind und welches eine komplette Beschreibung der Syntax dieser Regeln enthält: http://permail.uni-muenster.de/help-filterrules.txt

Ohne Fleiß kein Preis: Das Training

permailpermailWenn Sie sich auf der Index-Seite und der Ansicht-Seite genauer umschauen, werden Sie an verschiedenen Stellen die Schaltflächen „Als Nicht-SPAM klassifizieren“ und „Als SPAM klassifizieren“ finden, die entsprechenden Symbole sind im Rand abgebildet. Die Schaltflächen dienen zum Klassifizieren der E-Mails und somit zum Training: Sie teilen perMail damit mit, dass Sie die jeweiligen E-Mails als erwünschte oder als Spam-E-Mails betrachten.

Natürlich wäre es jetzt unerträglich mühsam, beim Durchblättern Ihrer E-Mails immer wieder nacheinander auf „Als ... klassifizieren“ und auf „Nächste E-Mail“ zu klicken, insbesondere da das Klassifizieren einen kleinen Moment dauert. Daher empfiehlt sich folgende Vorgehensweise:

Arbeiten Sie mit Ihren E-Mails, wie Sie es gewohnt sind, ohne sich um das Training zu kümmern, aber beachten Sie folgende beiden Punkte:

  • permail Werfen Sie Spam-E-Mails nicht sofort weg, sondern sammeln Sie sie in einem eigenen Ordner, beispielsweise „spam-archiv“.

  • permailBenutzen Sie für erwünschte, aber nicht mehr benötigte E-Mails nicht den Reißwolf, sondern die Abfalltonne, und verzichten Sie vorerst darauf, die Abfalltonne zu leeren.

Alle paar Tage oder Wochen, je nach Terminplan und freiem Plattenplatz, führen Sie dann eine Trainingssitzung durch:

  • permailGehen Sie in den Ordner spam-archiv und klicken Sie unten auf der Index-Seite auf „Alle E-Mails als SPAM klassifizieren“. Das dauert etwas, aber danach können Sie auf „Alle E-Mails wegsortieren“ klicken. Obige 7. Regel vernichtet dann den gesamten Inhalt des Ordners und erspart Ihnen, erst noch alle E-Mails zu markieren.

  • Gehen Sie nacheinander in die Abfalltonne und in die anderen Ordner, in denen Sie in letzter Zeit E-Mails abgelegt haben, und klicken Sie jeweils auf „Alle E-Mails als Nicht-SPAM klassifizieren“. Zu diesen anderen Ordnern gehört natürlich auch die Standardablage, in der die Kopien der von Ihnen abgeschickten E-Mails abgelegt werden. Danach können Sie auch die Abfalltonne leeren.

Die Trainingssitzung kostet Sie jetzt zwar einige Minuten, nimmt aber weit weniger Zeit in Anspruch als wenn Sie jede E-Mail einzeln klassifizieren würden.

perMail merkt sich für eine gewisse Zeit, welche E-Mails Sie bereits klassifiziert haben, und vermeidet so doppeltes Klassifizieren.

Tagesgeschäft: Aussortieren von Spam

permailObige Wegsortierregeln machen Ihnen das Aussortieren der Spam-E-Mails sehr einfach: Klicken Sie einfach im Posteingang unten auf der Index-Seite auf „Alle E-Mails wegsortieren“. Sie können sogar schon bei der Anmeldung „Beginne mit ... Wegsortieren“ auswählen (und dies durch „init=f“ im Query-String sogar schon im Lesezeichen einstellen, siehe vorherigen Artikel). Die ersten fünf Regeln erledigen dann den Rest.

Mit den übrig bleibenden E-Mails arbeiten Sie dann wie gewohnt und oben beschrieben weiter. Natürlich werden immer wieder auch Spam-E-Mails übrig bleiben, diese sollten Sie weiterhin in „spam-archiv“ ablegen, damit perMail diese beim nächsten Training zu sehen bekommt.

Das war es eigentlich schon, aber alle paar Tage sollten Sie einen Blick in den Ordner spam-verdacht werfen und nachschauen, ob vielleicht doch eine erwünschte E-Mail den Weg dorthin gefunden hat. Solche E-Mails sollten Sie dann zurück in den Posteingang abgelegen. Danach können Sie in diesem Ordner auf „Alle E-Mails“ wegsortieren klicken. Obige 6. Regel legt dann den gesamten Inhalt des Ordners in spam-archiv ab und erspart Ihnen somit, erst noch alle E-Mails zu markieren und den Ablageordner herauszusuchen.

Falls Sie keine Lust haben, regelmäßig in diesen Spam-Verdacht-Ordner zu schauen, dafür aber bereit sind, ein paar mehr Spam-E-Mails in Ihrem Posteingang vorzufinden und händisch abzulegen, können Sie oben einfach die Wegsortierregeln 4, 5 und 6 weglassen. Dann bleiben auch die nur als wahrscheinlich Spam eingestuften E-Mails im Posteingang.

Etwas Statistik

Wichtig ist mir besonders, dass keine E-Mail zu Unrecht aussortiert wird; dementsprechend vorsichtig sind die oben genannten Kriterien gewählt. Die von mir nach längerer Nutzung gemessene Erkennungsquote von 95 % bei einer False-Positive-Quote von Null ist sicherlich ein gutes Ergebnis.

Weitere 3 % landen in meinem Verdacht-Ordner (leider auch etwa eine echte E-Mail im Monat); nur 2 % verbleiben unerkannt im Posteingang. Bei einem Verzicht auf den Spam-Verdacht-Ordner würden also 5 % aller Spam-Mails im Posteingang verbleiben.

Warum kein zentrales Training?

Warum übernimmt nicht das ZIV die Mühe, eine solche Spam-Erkennung zentral zu trainieren, die dann so wie SpamAssassin Markierungen im Kopf einfügt? Dann bräuchten die einzelnen Nutzer in ihren E-Mail-Programmen doch nur noch einen Schalter umzulegen, um die markierten E-Mails automatisch wegzuwerfen, werden viele Leser denken.

Leider hat jedoch das Training die Eigenschaft, eine individuell auf den oder die Trainierenden zugeschnittene Spam-Erkennung zu erzeugen, welche leider nicht für die Allgemeinheit brauchbar ist. Das gilt selbst dann, wenn eine größere Gruppe von ZIV-Mitarbeitern mit allen ihren E-Mails an diesem Training teilnehmen würden - ein solchermaßen trainierter Filter wäre nur für ZIV-Mitarbeiter brauchbar.

Einige Beispiele verdeutlichen das: Wenn ein ZIV-Mitarbeiter E-Mails mit chinesischen Schriftzeichen erhält, handelt es sich praktisch immer um Spam. Die Software würde lernen, chinesische Texte immer als Spam zu bewerten. Die Mitarbeiter des Instituts für Sinologie und Ostasienkunde würden es aber überhaupt nicht lustig finden, wenn ein Großteil ihrer Korrespondenz als Spam gebrandmarkt würde. Genausowenig sollten sachliche Diskussionen von Pharmazeuten und Medizinern über lebensgefährliche Nebenwirkungen potenzsteigernder Mittel oder von Wirtschaftsfachleuten über Anlageformen und Renditen als Spam gewertet werden, nur weil uns ZIV-Mitarbeitern Reizwörter wie Mortgage, Payment, Investment, Viagra usw. nur in Spam-E-Mails begegnen. „Universität“ und „universell“ haben nicht ohne Grund den gleichen Wortstamm. Daher macht es keinen Sinn, die durchaus vorhandenen entsprechenden Komponenten der Software SpamAssassin auf den zentralen Mailservern zu aktivieren.

Das heißt also, dass Ihnen die Mühe des individuellen Trainierens nicht erspart bleibt, falls Sie Deleatur, die trainierbare Spam-Erkennung von perMail oder eine andere auf diesem Ansatz beruhende Software einsetzen möchten und eine wirklich gute Spam-Erkennung erreichen möchten.

Fazit

Betroffen durch mittlerweile über 350 Spam-E-Mails pro Tag habe ich die trainierbare Spam-Erkennung in perMail und die in diesem Artikel beschriebene Vorgehensweise vor allem zu meiner eigenen Entlastung entwickelt, aber auch zur Integration von Deleatur in perMail. Allen perMail-Nutzern steht daher jetzt eine Methode zur Verfügung, effizient und ohne Zusatzprogramme auch größere Spam-Fluten zu entsorgen.

Rainer Perske


Impressum | © 2011 Universität Münster
Zentrum für Informationsverarbeitung (ZIV)
Röntgenstraße 7-13 · 48149 Münster
Tel.: +49 251 83-31600 · Fax: +49 251 83-31555
E-Mail: