NoSpamProxy -  eine Idee wird Realität

Vielleicht fragen Sie sich, wie ich als durchaus im Internet aktiver Autor mein Postfach möglichst "Spamfrei" halte ohne wichtige Nachrichten zu verpassen. Hier meine Antwort:

Hinweis: NoSpamProxy ist ein Gatewayprodukt, welches auf dem gleichen Core wie enQsig aufsetzt und sogar kombiniert laufen kann. Die Firma Net at Work, deren Gesellschafter ist bin, ist Hersteller dieses Produkt.


Wer meine Aktivitäten im Bereich Spam schon seit 2001 betrachtet, wird immer wieder auf den Namen "NoSpamProxy" stoßen und sich vielleicht fragen, was es damit auf sich hat. Sie können sich sicher vorstellen, dass meine Mailadresse ziemlich beschossen wird. im Schnitt kommen 120-200 Spam Mails pro Tag, was es nicht gerade einfach macht, die 30-40 erwünschten Nachrichten zu verarbeiten. Also musste etwas  passieren und so wurde die Idee von NoSpamProxy geboren. Alle von mir damals analysierten Produkte hatten das gleiche Problem: False Positive, d.h. die Behandlung von irrtümlich blockierten erwünschten Nachrichten.

Ein paar Fakten !

Insofern ist das Prinzip eines effektiven Spamschutzes in drei Merksätzen beschrieben:

Was bedeutet "Ablehnen" ?

Eine Mail gilt erst dann als erfolgreich übermittelt, wenn das System des Empfängers am Ende der Übertragung den Code "250 OK" sendet /Details siehe SMTP oder Mail im Internet. Während die meisten Produkte die Mail erst nach der Annahme analysieren, wollte ich, dass alle Nachrichten während des Empfangs bewertet werden und wenn die Mail nicht an das Postfach zugestellt werden soll, dann braucht Sie auch nicht angenommen zu werden. Das einliefernde Gateway bekommt eben keine "250 OK" sondern eine negative Meldung, die die Ursache enthält. Ein Verfahren was auch der Exchange Intelligent Message Filter mittlerweile nutzen kann, wenn Exchange direkt vom Internet erreichbar ist. Da das entfernte System die Mail aber nun nicht los geworden ist, liegt es in dessen Aufgabe, den Absender über die Unzustellbarkeit zu informieren. Das bedeutet::

Ein Ablehnen einer Verbindung ist offensichtlich die beste Variante, unerwünschte Nachrichten zu filtern und dem Absender die Möglichkeit zu geben, diesen Filter zu umgehen.

Keine unerkannten False Positives

Was bedeutet diese Verhalten im Ergebnis ?

Das führt natürlich dazu, dass die Filter sehr viel strenger ausgelegt werden können und damit viel mehr Spam Nachrichten erkannt werden können. Auch eine False Positive Rate von 1% oder mehr ist für "Erstkontakte" durchaus tolerierbar, solange es einen Weg gibt, diese Sperre auch zu umgehen.

Level of Trust

Eine Schlüsselkomponente von NoSpamProxy ist jedoch eine Funktion, die ich bislang in keinem anderen Filterprodukt derart gesehen haben. Wir nennen dies "Level of Trust"

NoSpamProxy lernt dabei ausgehende Nachrichten. Das wäre an sich noch nichts besonderes, da auch andere Produkte ausgehende Nachrichten z.B. als "Gut" an den Bayes-Filter geben. NoSpamProxy lernt aber auch noch die Kommunikationsbeziehungen. Wenn ich eine Mail versende, dann werden verschiedene Kennwerte gemerkt. Das führt dazu, dass der Empfänger auf diese Mail einfach antworten kann und über ein Bonussystem den Spamfilter leicht überwinden kann. Das geht sogar soweit, dass der absendende Host sogar auf einer Blacklist für offene Relays etc. stehen kann. Die Verbindung wird nicht pauschal beendet sondern der "Anfang" einer Mail wird weiterhin empfangen um zu erkennen, ob es sich um eine bestehende Kommunikationsbeziehung handelt.

Diese Filter hat auch noch die Funktion einer dynamischen Whitelist. Wenn Sie mir eine Mail senden und diese als Spam irrtümlich abgelehnt wird, dann erhalten Sie ja eine Unzustellbarkeit von ihrem eigenen Mailserver. Sie können mich einfach über einen anderen Kommunikationsweg erreichen und ich sende ihnen einfach eine Mail zu. Und schon können Sie mir antworten oder eigene Mails verfassen und an mich senden. Das funktioniert sogar per OWA oder mobilen Endgeräten (PDA, ActiveSync, Blackberry etc.). Der Administrator muss keine statische Whitelist pflegen und der Anwender muss nicht über zusätzliche Programme oder Webportale den Spamfilter anpassen. Weitere Details zu diesem Filter beschreibe ich zu einem späteren Zeitpunkt.

Zero-Hour Virus Protection (Commtouch)

Net at Work stellt selbst kein Antivirusprodukt her. Daher kann NoSpamProxy mit jedem beliebigen Virenscanner arbeiten, um Viren vor der Empfangsbetätigung zu erkennen und die Verbindung zu unterbrechen. Aber es hat sich gezeigt, dass die Lücke zwischen dem Auftreten eines Virus und dem Erkennen vor Ort sehr groß ist. Schließlich laufen mehrere Tätigkeiten seriell hintereinander ab.

Antivirus Zyklus

Wenn jemand einen Virus "gebaut" hat, dann muss er versuchen, diesen möglichst schnell zu verteilen, ehe er erkannt wird. Der Angreifer wird also mit viel Bandbreite sehr viele Mails versenden. Irgendwann wird der Virus als solcher erkannt und hoffentlich schnell an die AV-Hersteller weiter geleitet. Diese müssen den Virus "verstehen" und ihre Erkennungsregeln erweitern und in Form eines Updates (Patterndatei) bereitstellen. Das wiederrum sollten sich nun alle Kunden "zeitnah" herunterladen, damit die Erkennung möglich ist. Polymorphe Viren wiederholen diesen Zyklus entsprechend häufiger. Das Risiko nimmt daher am Anfang in dem Maße zu, indem es dem Virus gelingt sich zu verbreiten und nachdem die ersten Virenscanner den Virus entdecken, nimmt das Risiko wieder ab. Der Zyklus kann aber durchaus mehrere Stunden oder gar Tage dauern, bis eine ausreichende Anzahl von Antivirus-Produkten dem Einhalt gebieten.

NoSpamProxy konnte lange Zeit nur so gut sein, wie die darunter arbeitenden Antivirusprodukte. Mit der Integration von Commtouch und seiner patentierten Recurrent Pattern Detection (RPD) ändert sich dies grundlegend. Wir warten nicht mehr auf Pattern-Updates der Hersteller sondern Commtouch erkennt durch weltweit verteilte Monitore schon den starken Anstieg solcher Inhalte am Anfang der Epidemie und erlaubt und diese Massen viel früher anzulehnen.

Commtouch Erkennung

Damit schützt sie NoSpamProxy noch effektiver vor Viren und Spam in Zeiten, in denen Viren sich schneller verändern und klassische Spamfilter immer mehr an Wirkung verlieren. Interessant war z.B. eine Meldung im Heise Newsticker über einen neuen Inkasso Virus ( http://www.heise.de/security/news/meldung/119359 ), welcher um 16:18 veröffentlicht wurde und bei Net at Work gegen 16:29 das erste Mail aufgeschlagen (und dank Commtouch abgewiesen) wurde.

Technisch erstellt das Commtouch Addin Prüfsummern über ca. 120 Eigenschaften einer Mail über Ähnlichkeit (Mail, Datum, Betreff, Absender, Domain, Hosts etc.) , aus denen aber kein Rückschluss auf den Inhalt selbst möglich ist. Diese Daten werden dann gegen eine Datenbank geprüft.

Regeln

Eine weitere essentielle Funktion ist die Steuerung der Filter und Aktionen durch Regeln, die der Konfiguration einer Firewall nicht unähnlich sind. Es wird immer Ausnahmen geben, die im Bezug auf Spam und Viren Filterung gesondert zu betrachten sind. Solche Einstellungen fehlen aktuell bei vielen kostenfreien Lösungen wie dem Intelligent Message Filter oder z.B. SpamAssassin komplett. Zusätzlich zu den durch Regeln individuell konfigurierbaren Filtern sind auch Aktionen denkbar, die die Mails verändern, z.B. einen Disclaimer anfügen, Anlagen komprimieren oder auch signieren. (Diese Funktionen sind aktuell noch nicht umgesetzt)

Proxy statt Relay oder Add-In

NoSpamProxy, das verrät auch schon der Name, ist kein SMTP-Relay, das vor ihren Mailserver geschaltet wird oder eine Erweiterung, die ihren bestehenden Mailserver um neue Funktionen ergänzt, sondern ein SMTP-Proxy.

Für die Lösung als Proxy spricht weiterhin, dass der Code überschaubar ist. Ein Proxy ist viel einfacher als ein Mailserver. Aber durch die Vorschaltung schützt er den Mailserver vor unerwünschtem Verkehr. Auch der Einsatz in einer stark abgeriegelten Zonen ist problemlos möglich. Einzig Port 25 SMTP muss hindurch, wenn keine Zusatzfunktionen gewünscht werden. Die mögliche Trennung der Funktionen erlaubt eine bessere Skalierbarkeit.

War das alles ?

Nein, das ist noch nicht alles. Wer mich kennt, weis, dass ich aus dem Enterprise Umfeld komme und entsprechende Schwerpunkte bei eigenen Produkten setze. Einige Beispiele:

Ist das einzigartig ?

Ja und Nein. Es gibt weitere Produkte, die eine Mail beim Empfang zum Teil analysieren und ablehnen. Viele Produkte beschränken sich dabei aber auf die obligatorischen RBL-Prüfungen und einfache Tests. Zudem handelt es sich oft um Erweiterungen eines Mailservers, was bedeutet, dass dann der Mailserver direkt aus dem Internet erreichbar wäre oder die Produkte behandeln dann alle Verbindungen gleich. NoSpamProxy hingegen erlaubt jedem Filter das Ablehnen von Nachrichten und die Steuerung der Filterauswahl mittels Regeln.

Grundsätzlich sehen ich das Problem, dass aufgrund der Variabilität von Spam eine Lösung ohne kommerziellen Hintergrund nicht schnell und flexibel genug reagieren kann. Zudem ist Mail ein unternehmenskritischer Aspekt, für den auch Support garantiert sein muss. Zuletzt kenn ich kein anderes Produkt, was konsequent in C# (.NET) als managed Code entwickelt wurde und ihnen eine derart flexible und leistungsfähige Schnittstelle für eigene Entwicklungen und zur Konfiguration anbietet.

Wie geht es weiter ?

Keywords: Spam IMF Junk-Mail SCL NoSpamProxy