Gästebuchspam auf kfl-herzebrock.de

Posted by Ansgar Berhorn on Juli 29, 2007

Im Gästebuch auf www.kfl-herzebrock.de kämpfen wir seit längerem mit Spam-Einträgen. Also solchen Einträgen, die keiner sehen will und in denen es wahlweise um irgendwelche Medikamente, Klingeltöne oder obskure Internetseiten geht.

Sobald man einmal auf der Liste der Spammer ist, kann nicht viel anderes tun als diese Einträge irgendwie zu entsorgen. Irgendwelche Schranken wie die Eingabe eines Buchstabencodes haben wir nicht eingebaut, um es unseren Besuchern auch weiterhin einfach zu ermöglichen, Einträge im Gästebuch zu machen.

Nachgerechnet

Seit dem 08.02.2007, also seit nicht ganz einem halben Jahr, führt der Wächter über gut und böse im Gästebuch Statistik darüber, warum geblockt wurde und aus welchem Land der “Müll” kommt.
Bis heute, dem 29.07.2007 wurde 6517 mal kein Eintrag vorgenommen. Bei einem Zeitraum von 171 Tagen macht das 38 Müll-Einträge pro Tag.

Länderstatistik

Und gewonnen haben: Die USA. 20% kommen aus dem Land der unbegrenzten Möglichkeiten. Platz 2. geht mit 8,5% an die Türkei, Platz 3. mit noch gut 7,7% geht an Südkorea. Deutschland folgt mit 3,2% Anteil auf Platz 11. unserer Liste.
Folgende Grafik veranschaulicht das:

Die Länderzuordnung soll zu ca. 98% akkurat sein. Im Großen und Ganzen sollte die Länderzuordnung richtig sein (basiert auf Maxmind GeoLight Country ).

Warum wurde geblockt

Bevor ein Eintrag im Gästebuch veröffentlicht wird, durchläuft er folgende Prüfkette:

  • Steht im Eintrag überhaupt etwas?
  • Kommt ein Wort aus der Schlagwortliste vor?
  • Ist der Rechner von dem Eintrag kommt als spamversendender Rechner bekannt?
  • Laut Akismet Spam?

Dabei ergibt sich, dass das meiste schon durch nach Prüfung der Schlagwortliste abgewiesen werden kann:

Erstaunlich viele Einträge enthalten gar nichts und zu Akismet müssen “nur” noch 8%.

Und nun?

Zu überlegen wäre, um man Einträge aus Ländern wie der Türkei oder Russland gar nicht erst zulässt. Die USA rauszunehmen wäre ein wenig risikoreich, weil der ein oder andere bei einem Anbieter surft, der eine amerikanische Mutterfirma hat, so dass schon mal die Rechneradressen den USA zugeordnet werden können.
Dann wäre allerdings ein Gruß-Eintrag aus dem Türkei-Urlaub auch nicht mehr möglich. Im Moment ist so etwas erst mal nicht nötig, da so gut wie alle Einträge automatisch entsorgt werden.

Somit können wir dann auch weiterhin auf die Eingabe eine Codes oder ähnliches verzichten. Und 38mal täglich wird uns Betreibern das manuelle aussortieren erspart.

Kollaborative Spam-Filter im Einsatz

Posted by Ansgar Berhorn on Juni 03, 2007

Hier einige Statistiken von kollaborativen Hash-Filtern von meinem
System, die ich aus den syslog gefiltert habe.

IXHASH und LOGINHASH basieren auf dem Hash-Filter des Heise-Verlags (siehe nixspam.org).
DCC bezieht sich auf das Distributed Checksum Clearinghouse

Mein System ist eher “klein”. Der Spamanteil liegt bei ca. 80%. Ca.
55% des Spams werden schon in der SMTP-Phase geblockt (Blacklists,
Surbl-Domains und Viren). Der Spamassassin, in dem die Hash-Filter
laufen, bekommt somit also “nur” noch 45% ab.

Zeitraum für die Statistiken ist Mai 2007

Anteile der im Grauzonen-Bereich (SA-Score <5):

47 DCC_CHECK
 3 LOGINHASH1
 3 IXHASH
 1 LOGINHASH2

Diese Zahlen sind mit Vorsicht zu genießen, da manchmal auch ein noch
schlecht trainierter Bayes-Filter nicht den Auschlag über die
5er-Schwelle gegeben hat.
Es handelt sich aber meistens um Massennewsletter, auf die DCC per
Definition drauf anschlägt. Ixhash hat z.B. auf einen
Apple-Newsletter angeschlagen.

Da wo es eindeutig war (SA-Score > 5), sah es im Mai wie folgt aus:

959 DCC_CHECK
746 LOGINHASH1
654 IXHASH
282 LOGINHASH2

In dem Zeitraum sind 3500 Spams hereingekommen.
Das macht also für Ixhash ca. 19%. Diese Zahl ist gar nicht so schlecht, da die Hash-Prüfsummen basieren, die spezifisch für den Spam sind, den die Heise-Redakteure erhalten.
Mit einem selbsttranierten Hash-Repository ließe sich sicher eine noch bessere Quote erreichen.

FuzzyOcr im Einsatz

Posted by Ansgar Berhorn on Mai 14, 2007

Seit einiger Zeit nimmt auf meinem Server die Anzahl der Spamemails im Grauzonen-Bereich zu. Das sind solche Spam-Emails, die zwar als Spam erkannt wurden, aber nicht ausreichend Punkte vom Spamassassin bekommen haben, um ungesehen wegsortiert zu werden.

Wenn man dann in den Ordner mit den Grauzonen-Emails schaut, stellt man fest, dass eigentlich alle Spams recht eindeutig aussehen. Die meisten fallen in zwei Kategorien:

  • Penny-Stock-Options (heise.de schrieb gestern darüber)
  • Spam-Botschaft nur in einem Bild

Wenn erstere von einem frisch infizierten Spam-Bot kommen und außer den Aktientitel keine einschlägigen Wörter enthalten, rutschen diese Emails durch. Es sind nunmal Penny-Stocks…

Zweitere kann man mit FuzzyOCR bekämpfen. Auf Emails mit Bildern wird Texterkennung angewendet und wenn einschlägige Wörter gefunden werden, wird die Email als Spam gewertet.

Das funktioniert erstaunlich gut und nicht merklich mehr Zeit für die Erkennung durch den Spamassassin.
Ich habe einen Test mit 1 einem selbstgebauten Bild und 11 Bildern aus meinem Grauzonen-Ordner gemacht.
Von den 12 Bildern wurden nur zwei von FuzzyOCR nicht erkannt.

Hier sind die Bilder mit den entsprechenden Ergebnissen.











Wenn man die Zeiten betrachtet, fallen nur zwei mit mehr als 2 Sekunden heraus. Zu dem Zeitpunkt hatte das System allerdings viel zu tun. Der Test fand auf einer dedizierten Linux-Maschine mit Gentoo-Linux und fuzzyocr-2.3b statt. Es handelt sich um einen 2,4Ghz Celeron.

Einziges Problem scheint zu sein, dass viele Spam-Bilder so versteckt verpackt sind, dass sie gar nicht erst zur Bewertung herangezogen werden. In meinen Tests habe ich die Bilder sauber angehängt und nicht die Orginal-Spams verwendet.

Diskussion zum Thema im NiX-Spam-Forum bei heise:
Erfahrungen mit FuzzyOCR?

Microsoft ist tot

Posted by Ansgar Berhorn on April 21, 2007

Paul Graham – ein Maler, Informatiker und Startupmillionär aus den USA – hat ein interessantes Essay über den Untergang von Microsoft veröffentlicht.

Er stößt mit etwas Blickwinkel in das gleiche Horn wie ich in meinem Artikel über meine Vista-Antipathie . Bei 37Signal in Chicago hält man eher zu Microsoft und will nicht mehr lange auf Yahoo wetten.

Microsoft sicher noch einige Zeit den Firmenkundenmarkt im Griff und kann da ordentlich Geld verdienen. Aber gute neue Leute bekommt man in Redmond schon seit einigen Jahren nicht mehr und wirkliche Innovationen wie der Tablet-PC gehen bei Microsoft im Marketing-Scharmützel unter. Daher würde ich wenn ich die Wahl zwischen Yahoo und Microsoft-Aktien hätte, auch lieber zu Yahoo greifen.

Simplify lighty’s configfiles with includes

Posted by Ansgar Berhorn on April 15, 2007

Jan Kneschke, the creator of lighttpd gives some hints on simplifying the configfiles of the lighttpd with inlcudes. The idea can be extended to include also a redirection from “domain.tld” to “www.domain.tld” or vice versa.

A generic incl-redirect-subdomain.conf:

$HTTP["host"] != servername {
    url.redirect = (
        “^/(.*)” => “http://” + servername +”/$1″,
    )
}

uses the variable “servername” to distinguish where all requests different to the main domain shall be redirected.

Jan’s example can then be extended to with an include:

$HTTP["host"] =~ “^(www\.)?example\.org$” {
  var.servername = “www.example.org”
  var.authdir = “/download/” 

  include “incl-redirect-subdomain.conf”
  include “incl-docroot.conf”
  include “incl-auth-htpasswd.conf”
}

With this include, all request for the pure domain, get redirected to “www.example.org” as defined by “var.servername”.