Spam V

Mein Mailclient Thunderbird hat einen eingebauten, "lernenden" Spamfilter. Leider wurde er mit wachsender Größe der Trainingsdatei zunehmend unfähig Spam zu erkennen, bis ich bei einer Spamerkennungsrate von 2/3 landete, was bei über 100 Spammails am Tag indiskutabel ist. Andere bayesianische Spamfilter erkennen 99% allen Spams, sind allerdings nicht so komfortabel in der Bedienung.

Bei der Suche nach Alternativen stieß ich auf dieses Posting eines Mozilla-Entwicklers, dem auch aufgefallen war, dass Thunderbirds Spamfilter "overtrained" werden kann.

Seinem Beispiel folgend, habe ich die bisherigen Lernresultate komplett gelöscht und arbeite jetzt mit einer minimalen Trainingsdatei (32,5K gegenüber mehreren Mb Größe meiner alten Trainingsdatei), und es funktioniert!

Thunderbird erkennt nun über 95% meines Spams, womit ich gut leben kann (klar, dass viele spezialisierte Spamfilter noch besser sind, aber die Zeit, die ich brauche, um sie zu installieren, hole ich nie wieder ein). Bisher habe ich weniger als ein Dutzend Mails als Junk markiert, und viel mehr scheint es bei mir derzeit nicht zu brauchen. Ohne große Vorkenntnisse bezüglich der Alogrithmen von bayesianischen Filtern vermute ich Folgendes:

- Spammer aktualisieren ihre Methoden regelmäßig, dadurch wird älteres Wissen statistischer Filter irgendwann obsolet oder gar störend. Ein frischer Filter arbeitet nur mit dem, was auch aktuell benutzt wird.
- Spammer wissen oft recht detailliert, wie man zu einem bestimmten Zeitpunkt an bayesianischen Filtern vorbeikommt, und sei es nur für einige Tage oder Wochen. Eine kleinere Filterdatei reagiert u.U. schneller auf aktuelle Trends.
- Die Zahl von Spammern, die einen Großteil des Spams übers Internet verschicken, ist recht klein, entsprechend dürften die Methoden nicht unbegrenzt flexibel sein. Ich bekomme derzeit hauptsächlich Spam, der mit folgenden Tricks arbeitet: Text in einem jpeg, viele falsch geschriebene Wörter, zufälliger Text (Gedichte, Wörterbücher etc.), zufällige Zeichenkombinationen, Subject enthält nur einen Namen. Viel mehr an Variation sehe ich derzeit nicht, wenn ich die Header außen vor lasse.
Dafür scheint Thunderbird keine Trainingsdatei von 8 Megabyte zu brauchen.

Einschränkend muss ich jedoch sagen, dass mein voriger Spamfilter, K9, solche Effekte nur in sehr viel geringerem Maß gezeigt hat. Seine Effizienz sank nie unter 95% ab, doch auch bei ihm wurde gelegentliches Tuning der Trainingsdatei empfohlen.

Montag, 7. August 2006, 22:37, von vr | |comment

 
das ist aber seltsam
... eigentlich fuehrt das die bayes idee ad absurdum. eigentlich sollte so ein filter besser werden, mit je mehr faellen er "gelernt" hat. wenn er sich dann mal "eingependelt" hat, reagiert der nicht auf jede quatsch spam mail und macht gleich "neue regeln" auf. womoeglich sind also 10% der spam mails unetrschiedlich von allen anderen, die jeweils in clustern auftreten.
die methode, lieber von 0 anzufangen und eine kleine anzahl trainingsdurchgaenge zu benutzen, scheint mir extrem anfaellig: das muesste eigentlich auf dauer (ich spreche nicht von einzelfaellen, sondern ueber viele user hinweg und on the long run und so...) dazu fuehren, dass der filter staendig (verhaeltnismaessig haeufig) falsche alarme raushaut bzw. echten spam verfehlt und darueber hinaus staendig "verwirrt" werden kann von diesem poesie gefitzel, was da rumgeschickt wird. wenn ich bayes richtig verstanden habe. mir scheint das ein bug zu sein - eher als ein inhärentes bayes-phänomen...

... link  

 
Das Eigentümliche war, dass es oft keine besonderen Mails waren, die nicht erkannt wurden. Zum Teil hatte ich die exakt selbe Mail schon mehrmals, von verschiedenen Absendern, bekommen, und sie wurde wieder nicht erkannt, obwohl ich sie jedes Mal als Junk klassifiziert hatte. Vielleicht ist das wirklich ein Bug in der Trainingsroutine, oder die Datei war zu groß geworden, um auf einige wenige neue Mails noch angemessen zu reagieren.

Leider testen Spammer mittlerweile ihre Mails gegen bayesianische Filter, und ändern sie so lange, bis sie durchkommen. Sie arbeiten also mit dem Wissen von gut eingefahrenen Filtern, wodurch ein Teil des Wissens dieser Filter vielleicht entwertet wird.

Mit diesem minimalen Ansatz muss ich in der Tat damit leben, dass erstmal ein paar gute Mails als Spam erkannt werden, was auch ärgerlich ist. Letztlich hoffe ich, dass endlich mal jemand eine Extension für Thunderbird schreibt, die den eingebauten Junkfilter überflüssig macht, etwa mit Spamassassin oder Dspam.

... link  


... comment