Es war ein Beitrag von Besim Karadeniz, der mich auf den Gedanken brachte, etwas zu mehrfachen Spamfiltern zu schreiben. Natürlich wenn ich einen Antivirenschutz kaufe, der einen Spamfilter enthält, ich dann eine Firewallsoftware kaufe und ebenfalls einen Spamfilter mitgliefert bekomme und dann der Provider auch noch einen Spamfilter anbietet, dann kommt man auf den Spamfiltergeschmack und irgendwann auf die Idee, dass viel eben viel hilft.
Das ist falsch: Viel hilft eben nicht viel. Viel reduziert nur die Rechenleistung und erhöht den Verwaltungsaufwand. Aber unterschiedliche Spamfiltertechniken hintereinander geschaltet – sinnvoll hintereinander – die helfen schon.
Auf diesem Server also über die Mailadresse(n) *@devsup.de sind unterschiedliche Filter hintereinandergeschaltet und das recht erfolgreich.
Beginnen wir mit einigen Blacklists in den USA auf denen genau die Server gelistet werden, die praktisch ausschließlich Spam versenden. Hier waren es vor einiger Zeit die Listen:
Es ist durchaus möglich, dass die eine oder andere Liste inzwischen dazugekommen ist oder eine von diesen wegfallen musste. Mit diesem ersten Filter reduziert man überhaupt einmal die Menge an Spam. Der Unterschied mag zwar marginal sein und ist verbal im Unterschied von ertrinken in Spam und ersaufen im Spam beschreibbar, doch diese Methode setzt bereits vorraus, dass der fremde Mailserver nicht nur eine IP haben muss (hat der sowieso), sondern einen wo auch immer eingetragenen Namen, dass dieser den in verschiedenen RFCs geforderten Bedingungen genügt und dass eben weder IP noch Name auf einer der Dauerlisten steht.
Nach einer oberflächlichen Auswertung der Logfiles werden auf diese Art schon 90% aller Fragen bezüglich einer Maileinlieferung geblockt und zwar mit einer korrekten Fehlermeldung – Annahme verweigert. Mit dieser Methode spart man sich einfach die späteren weiteren Tests und reduziert die nötigen Ressourcen für die Testausführung erheblich.
Ich möchte Spamassassin heute durchaus als Rolls-Royce der Spamfiltertechnik bezeichnen. Das gilt einmal für bestehende Tests und zum anderen auch für Testupdates. Das System wird ständig weiterentwickelt und führt derzeit über 600 verschiedene Spam-Tests durch. Jeder dieser Tests ist mit einem Wahrscheinlichkeitswert versehen, der positiv oder negativ sein kann.
Ein negativer Wahrscheinlichkeitswert ist zum Beispiel dem Test “RCVD_IN_IADB_DOPTIN” zugeordnet. Hier wird vom Spamscore der Wert 4 abgezogen, wenn die Mail von einem Mailer stammt, der Newsletter versendet und der nachgewiesenermaßen dabei das sogenannte Confirmed Opt-In-Verfahren nutzt. Der Versand des Newletters ist dann gebunden an einen Klick auf einen Bestätigungslink und der Mailer versendet “ungefragt” eben nur Mails mit einem solchen Link. Ein solcher Mailer kann missbraucht werden, wenn man das Anmeldeformular sukzessive mit E-Mail-Adressen aus einer Spamliste aufruft. Dabei besteht die Gefahr, dass der Mailer auf irgend einer Liste eingetragen wird mit Strafpunkten. Um dieser Gefahr vorzubeugen, werden hier Pluspunkte vergeben.
Ein interessanter positiver Wahrscheinlichkeitswert wird hinzugefügt beim Test “URI_NO_WWW_INFO_CGI”. Hier werden ca. 3 Spampunkte addiert, wenn eine URL auftritt mit der Top-Level-Domain .info und einer Drittleveldomain, die von www verschieden ist und wenn von dieser URL aus ein Serverscript gestartet wird. Viele wissen das nicht. Die Topleveldomain .info ist eine gern gefragte Spammerdomain – auch wenn hier nicht alle dort registrierten Spammer sind. Aber bei dieser Topleveldomain ist die Registrierung wohl etwas einfacher.
Zwei bis drei Spampunkte gibt es dagegen bei dem Test “RCVD_IN_NJABL_SPAM”. Hier wird ein Mailer explizit als Spamquelle erkannt (sozusagen eine verifizierte Spamquelle) – er steht damit auf einer Liste, die offenbar sehr zuverlässig arbeitet.
Und nur 0,001 Strafpunkte gibt es beim Test “RCVD_IN_SORBS_HTTP” und zwar in der Version 3.2. In der Version 3.1 war es noch der Wert 1. Diese Sorbsliste war einmal ein zuverlässigerer Indikator, ist es heute aber nicht mehr.
Damit sollte klar werden, worum es bei dem netzgebundenen Filter geht. Jede Informationsquelle wird mit einer Wahrscheinlichkeit bewertet und diese Bewertung wird laufend aktualisiert. Sinnvollerweise werden diese Tests dem vom Mailserver ausgeführt. Dieser hat ständige Internetverbindung und kann alle diese nötigen Abfragen ausführen.
Diese Community-Tests lohnen sich! Sehr viele Spam-Mails werden einfach dadurch erkannt, dass die Server gleichzeitig in unterschiedlichen Listen eingetragen sind.
Wenn man sich einige 100 gute und schlechte Mails einmal sortiert hat, dann kann man auch den sogenannten Bayes-Filter des Spamassassin trainieren und damit sozusagen das maximale aus dem Filter herausholen. Dieser Filter legt eine Wortliste an, aus dem durch die Mails zur Verfügung gestellten Wortvolumen und ermittelt, mit welcher Wahrscheinlichkeit die einzelnen Worte auf Spam hindeuten und mit welcher Wahrscheinlichkeit eben auf Ham und damit auf eine normale Mail.
Der Bayes-Filter berechnet für sich eine Spamwahrscheinlichkeit und Spamassasin teilt diese in die Intervalle ein 0%, 5%, 20%, 40%, 50%, 60%, 80%, 90%, 95% und 99% und ordnet jedem dieser Wahrscheinlichkeiten einen eigenen Spamassassin -Wert zu. Dieser liegt zwischen -2,3 und 3,5 (Siehe die Tests BAYES_xx – mit xx als jeweiligen Prozentwert). Damit fügt sich der Bayes-Filter nahtlos in die übrigen Tests ein.
Ausgeliefert wird der gesamte Spamassassin -Spamfilter mit einem Default-Score von 5,0. Das bedeutet: Wenn die Summe der Scorewerte aller Tests mit positivem Ausgang mehr als 5 ergibt, dann entscheidet der Filter auf Spam, ansonsten auf Ham. Mit einem gut trainierten Bayesfilter kann man – das sollte man allerdings erst mal prüfen – diesen Wert auf 2,5 reduzieren.
Pyzor und Razor sind zwei weitere Module im Spamassassin und das sind “Gemeinschaftsfilter”. Eine Spam-E-Mail wird ja nicht nur an einen Absender geschickt, sondern an viele und das können durchaus 100.000 Empfänger und mehr sein. Wenn nun einer der Empfänger eine solche Mail als Spam erkannt hat, dann kann er diese nicht nur aussortieren, sondern ggf. auch an eine zentrale Liste melden. Dort werden verschiedene Daten der Mail gespeichert, Subjekt und Mailinhalt allerdings Hash-verschlüsselt. Jemand, der nach dieser Meldung dann die Mail mit gleichem Inhalt erkennt, der bekommt also nun die Information, darüber, ob die Mail bisher nicht gemeldet wurde, bzw. falls sie gemeldet wurde eben in Form einer Wahrscheinlichkeit wieder eine Aussage über Zahl und Qualifikation der Meldenden.
Mit diesen Abfragen endet dann die Bearbeitung, die eine Internetanbindung benötigt.
Wer kennt sie nicht, die Grafiken, die Spamangebote enthalten. Diese kann man nur ausfiltern, wenn man die Grafiken, die in einer E-Mail eingebunden sind, mit einem OCR-Programm auswertet. Diese Berechnung ist recht aufwändig und hier bietet sich eine Whitelist an, für E-Mails, die den Test passieren dürfen.
Über die Leistungsfähigkeit dieser Methoden hatte ich schon einmal einen Beitrag geschrieben, allerdings unter einem etwa anderen Vorzeichen: Captchas zur Absicherung von Benutzereingaben in Webformularen. Hierbei ging es um die Absicherung von Webformularen und damit erkennt man schnell ein Dilemma. Auf der einen Seite möchte man etwas haben, dass schlecht erkennbar ist, damit man ein Webformular vor einem bot vor dem zumüllen schützen kann und auf der anderen Seite möchte man auch schlecht erkennbare Grafiken in E-Mails abarbeiten können. Des einen Eule ist des anderen Nachtigall.
Erst jetzt kommen noch einige heuristische Regeln, die man ggf. auch an unterschiedlichen Stellen eingeben muss. Eine E-Mail mit einem Dateianhang dessen Name x.pdf.exe ist auszusortieren, auch wenn es kein Spam ist, sondern ein Virus. Dabei steht x für einen beliebigen Wert, pdf soll eine PDF-Datei vortäuschen und exe ist die Endung des ausführbaren Programms und um ein solches handelt es sich eigentlich. Diese Regelung trennt übrigens meine echten 1und1-Rechnungen von den Falschen.
Es hört sich zwar in erster Linie seltsam an, doch das ganze hat Methode. Der Bayesfilter im Netz ist mit E-Mails aus einer bestimmten Zeit trainiert worden. Seinerzeit gab es zum Beispiel noch keine Geldwäscheangebote. Das bedeutet: Mit dem Aufkommen dieser Angebote wurden die ersten E-Mails dieser Art natürlich mit ham bewertet und durchgelassen. An der Stelle filtert man einfach erst einmal lokal aus und wartet ab.
Nach einem gewissen Zeitraum sammelten sich diese “Jobangebote” und so habe ich parallel dazu eben echte Jobangebote per Kopie in einem separaten Ordner bereitgestellt. Als eine genügende Anzahl von beidem zusammen war, habe ich beides in ein Imap-Konto auf den Server hochgeladen und dann den Spamfilter dort entsprechend weitergebildet.
Derzeit steht eine weitere Weiterbildung an, es geht um die Einladungen zu Online-Casinos. Das Gegengewicht wären hier Newslettermails, die günstige Gelegenheiten enthalten wie zum Beispiel: Einführungsrabatt von bis x% oder ähnliches.
Eine weitere letzte Stufe besteht darin, den Spam aktiv zu melden. Hiervon kann man dem Laien eigentlich nur abraten. Zum einen ist es keineswegs einfach aus einer Mail die relevanten Informationen herauszuarbeiten und auf diese Art zu einer Adresse zu kommen, bei der man sich beschweren kann und zum anderen ist auch die Abschätzung der Vertrauenswürdigkeit der Beschwerdestelle keineswegs einfach.
Dabei habe ich selbst hier einmal von einem automatischen Meldesystem geschrieben (Der Frosch im Donnervogel), doch diese Arbeiten sind inzwischen stehen geblieben. Außerdem werden zu viele Probleme quasi totgeschwiegen. Bei Spamcop darf man zum Beispiel nur Mails melden bei vertrauenswürdigen Providern. Sonst ist die Gefahr zu groß, dass der Spammer selbst die Beschwerde in die Hand bekommt und somit eben man eigentlich nur den Empfang bestätigt.
Meine Antwort auf die Frage, ob man mehrere Spamfilter braucht ist ein klares “Ja”. Natürlich braucht man die. Aber man braucht keine Zugaben in irgendwelchen Softwarepaketen, man braucht Filter, die sich gegenseitig ergänzen.
_
— Wolfgang Uhr · Samstag Oktober 6, 2007
Gedanken zur Dienstleistungs-Informationspflichten-Verordnung - DL-InfoV
Der Schnellkochtopf Silit Sicomatic t-plus und der WMF-Perfekt-Plus im Vergleich
Die Deutschen, die Streitkultur und die Presse
Zur Effizienz von flattr August-2008
iPhone bastelt weiter an der Weltwirtschaftskrise
Realitätsfremde Bewerbungsstrategien
Sind UMTS-Richtfunkstrecken ein potenzieller Gesetzesverstoß?
Facharbeitermangellüge - Die nächste Runde
Brigitte Gabriel - zur Definition des terroristischen Moslems
Ein herzliches Willkommen
Mein Name ist Wolfgang Uhr, ich bin Physiker und entwickle Software im Bereich der Erfassung von Messdaten und deren Verarbeitung. Dies ist meine persönliche Hobbyseite.
Allgemeines · Friedhofsverwaltung · Ideen-Gedanken · Spielerei · Anleitungen · Bloghandel · Buchbeschreibungen · Christentum · Energiesparlampen · Erfahrungsberichte · Finanzen · Funk-uhren · Geld verdienen · Gesundheit · Handy · Handyortung · Heimwerken · Internet · E-Mail-Spam · Sicherheit-Web · Suchmaschinen · Web-Spam · Webdesign · Physik · Elektrosmog · Elektrotechnik · Stevia-Pflanze · Tageslichtlampen · Umwelt · Veranstaltungsberichte
Andere Seiten