Logo des Instituts Startseite · Das Institut · ChemNet · Fachinformationen · Internet · Index · Benutzerseiten

SPAMPRÜFUNG MIT SPAMBAYES

Das Programm Spambayes ordnet Mails ausschließlich nach durch Training erworbene Wahrscheinlichkeiten ein; es erfordert eine aktive und regelmäßige Mitarbeit des Benutzer, liefert dann aber auch i.a. eine sehr hohe Zuverlässigkeit bei der Einordnung von Spams. Das Programm differenziert einlaufende Mails in die folgenden Kategorien:
  • "gute" Mails (ham)
  • "schlechte" Mails (spam)
  • "unsichere" Mails (unsure), die nicht mit genügend hoher Wahrscheinlichkeit einer der beiden ersten Kategorien zugeordnet werden können

Die Server-seitige Ausführung von Spambayes ist bei Verwendung von Mailprogrammen auf Unix-Rechnern (pine, mutt, netscape) geeignet; für Benutzer von Outlook auf PC's (Windows2000, WindowsXP) steht ein Outlook-Plugin zur Verfügung.

Serverbasierte Version von Spambayes

Vom Benutzer müssen zunächst in getrennten Ordnern eine genügend große Anzahl eindeutiger "Hams" und "Spams" gesammelt werden (siehe Training). Für einen Ausgangssatz an "Spams" steht auf dem Rechner mail.chemie.fu-berlin.de eine Datei
    /var/data/spambayes/default-spam
mit ca. 300 Spam-Mails zur Verfügung, die als Startsatz verwendet werden kann, da die Spams im allgemeinen nicht sehr benutzerspezifisch sind. Für die "Hams" ist eine benutzerübergreifende Mailauswahl wesentlich problematischer, es sollte daher im Interesse besserer Ergebnisse nur mit eigenen "guten" Mails trainiert werden. Hierfür kann ein eigener Ordner angelegt werden; es können jedoch auch mehrere vorhandene Ordner mit ausschließlich "guten" Mails verwendet werden.

Einrichtung der Datenbasis

Muss auf dem Rechner mail.chemie.fu-berlin.de erfolgen:

    ssh mail

Ausführen des Kommandos

    /usr/local/spambayes/mboxtrain.py -d userdb -f -g ham-Pfad -s spam-Pfad

userdb: Pfadname der zu erstellenden Datenbank; aus Performancegründen ist es sinnvoll, /var/data/spambayes/user.db (nicht die eigene Home-Directory!) zu verwenden wobei user der eigene Benutzername ist

ham-Pfad: Pfad eines Folders mit "guten" Mails (ham), z.B. $HOME/mail/good1

spam-Pfad: Pfad eines Folders mit "schlechten" Mails (spam), z.B. /var/data/spambayes/default-spam

Damit ist eine Datenbasis erstellt. Danach kann das Programm u.U. mehrere Male mit anderen Ordnern mit "guten" Mails (good2, good3,...) aufgerufen werden, aber ohne -f. Das Programm erkennt, welche Mails bereits verarbeitet sind, wenn die Option -f weggelassen wird.

Einschalten der Filterung

Hierzu ist in der Homedirectory des Benutzers ein File
    .procmailrc
anzulegen mit folgendem Inhalt:

:0fw
| /usr/local/spambayes/hammiefilter.py -d
userdb

:0
* ^X-Spambayes-Classification: spam

junk

:0
* ^X-Spambayes-Classification: unsure

unsure

 

userdb: Name der Datenbasis (wie oben)

junk: Name des Ordners, in den die spams überführt werden sollen (z.B. $HOME/mail/junk)

unsure: Name des Ordners, in den die unsicheren Mails überführt werden sollen (z.B. $HOME/mail/unsure)

Die hams bleiben im Posteingang (Inbox)

Lernstrategie

In der ersten Zeit sollten alle drei Ordner regelmäßig überprüft werden. Tauchen Spams in der Inbox oder in unsure auf, sind sie sofort in einen Ordner spam zu überführen. Umgekehrt sind alle Hams, die in junk oder unsure auftreten, in einen Ordner good zu überführen. Mit den Ordnern spam und good kann dann ein Update der Datenbank (ohne -f!) erfolgen. Nach kurzer Zeit werden in der Inbox nur noch Hams, in junk nur noch Spams enthalten sein, und nach mehreren Trainingsschritten wird der Anteil der "unsicheren" Mails deutlich abnehmen. Um die "Fortschritte" der Spammer zu kompensieren, ist jedoch ein regelmäßiges Training (etwa alle 2-3 Wochen) zu empfehlen.

Mit einem genügend großen Datensatz (mindestens 500 Hams und Spams) kann man u.U. die als Spam klassifizierten Mails auch sofort löschen, indem man /dev/null als Ordner für die Spams in .procmailrc einsetzt.

Mit dem Programm spambayes kann eine Filterungsrate deutlich höher als 90% erreicht werden, wobei der Anteil von "falsch-positiven", d.h. von Mails die irrtümlich als Spam eingestuft werden, nahezu bei Null liegen sollte.

Outlook-Plugin für Spambayes

Für PC-Benutzer steht ein Plugin für das Programm Outlook (nicht Outlook Express!) zur Verfügung (Outlook 2000 oder höher). Siehe hierzu die (englische) Informationsseite SpamBayes on Windows.

Zuerst muss das Plugin spambayes-... .exe for Windows (aktuelle Version wählen!) heruntergeladen werden. Anschliessend wird es durch Doppelklick auf das heruntergeladene File in Outlook eingebunden (Outlook sollte dabei nicht aktiv sein!).

Die folgenden Hinweise basieren auf einer älteren Version des Plugins und sollen als Anhaltspunkt dienen.

Wenn Sie jetzt Outlook starten, sollte eine zusätzliche Taskleiste erscheinen:    Plugin-Taskleiste

Wählen Sie Spambayes -> SpamBayes Manager... : Das Werkzeug zum Einrichten und Starten von Spambayes erscheint:

Spambayes-Manager Train Now initialisiert die Datenbasis. Hierfür müssen vom Benutzer zunächst in getrennten Ordnern eine genügend große Anzahl eindeutiger "Hams" und "Spams" gesammelt werden (siehe Training). Für einen Ausgangssatz an "Spams" steht auf dem Rechner pauling.chemie.fu-berlin.de eine Datei
    /var/data/spambayes/spam.pst
mit ca. 300 Spam-Mails zur Verfügung, die als Startsatz verwendet werden kann, da die Spams im allgemeinen nicht sehr benutzerspezifisch sind. Die Datei kann mit FTP auf den PC übertragen und in Outlook importiert werden.
Für die "Hams" ist eine benutzerübergreifende Mailauswahl wesentlich problematischer, es sollte daher im Interesse besserer Ergebnisse nur mit eigenen "guten" Mails trainiert werden. Hierfür kann ein eigener Ordner angelegt werden; es können jedoch auch mehrere vorhandene Ordner mit ausschließlich "guten" Mails verwendet werden (z.B. vorhandene Ordner, in denen wichtige Mails nach Sachbereichen geordnet vorliegen). Das Training kann mehrmals mit verschiedenen Ordnern durchgeführt werden.

Als nächster Schritt werden mit Define Filters die Ordner ausgewählt, in die einlaufender Spam sowie unsichere Mails geschrieben werden sollen (z.B. junk, unsure; die Ordner müssen vorher angelegt werden).

Als letzter Schritt wird die Spam-Filterung angeschaltet durch Enable filtering. Beim nächsten Start von Outlook sollten dann einlaufende Mails in die entsprechenden Ordner umgeleitet werden (die Hams verbleiben im Posteingang). In der ersten Zeit sollten alle drei Ordner regelmäßig überprüft werden. Tauchen Spams im Posteingang oder in unsure auf, sind sie sofort in einen Ordner spam zu überführen. Umgekehrt sind alle Hams, die in junk oder unsure auftreten, in einen Ordner good zu überführen. Mit den Ordnern spam und good kann dann ein Update der Datenbank erfolgen. Nach kurzer Zeit werden in der Inbox nur noch Hams, in junk nur noch Spams enthalten sein, und nach mehreren Trainingsschritten wird der Anteil der "unsicheren" Mails deutlich abnehmen. Um die "Fortschritte" der Spammer zu kompensieren, ist jedoch ein regelmäßiges Training (etwa alle 2-3 Wochen) zu empfehlen.

 


www@chemie.fu-berlin.de Impressum Letzte Änderung: 2005-06-13