%
% ATnet - Heuristische Verfahren zur Spamabwehr
% -----------------------------------------------------------------------
% (C)opyrights 2002 by Albert Weichselbraun
%
% $Log$
%
% ------------------------------------------------------------------------
%

\documentclass[12pt,german,a4paper]{article}

 
\usepackage[]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel,flafter}            % float-after
\usepackage{graphicx}

%
% For html support.
%
\usepackage{html,albert,url}
%
% For formatting and pretty printing source code.
%
\usepackage{lgrind}

%Verhindert Verzerrungen bei 11 oder 12p Standardschrift.
\usepackage{exscale}

%Lasche Silbentrennung.
\sloppy

%Texthöhe erhöhen.
\setlength{\textheight}{24cm}%25cm
\setlength{\voffset}{-1.8cm}%-2.2cm
\setlength{\hoffset}{-0.6cm}%-0.8cm
\setlength{\textwidth}{15cm}%15.5cm

%Kein Einrücken bei neuem Absatz. 
\setlength{\parindent}{0em}
%Dafür aber größerer Abstand zwischen Absätzen.
\setlength{\parskip}{1ex plus0.3ex minus0.3ex}

\renewcommand{\textfraction}{0}
\renewcommand{\topfraction}{1}
\renewcommand{\bottomfraction}{1}
%\renewcommand{\floatpagefraction}{0.5}

%Vergrößern des Zeilenabstandes
%\renewcommand{\baselinestretch}{1.15}


%Erzeugt hyperrefs im PDF-File, funktioniert nur mit pdftex
%\usepackage[pdftex,colorlinks=true,linkcolor=black,citecolor=black,urlcolor=blue,plainpages=false,linktocpage]{hyperref}


\title{Heuristische Verfahren zur Spamabwehr}
\author{Dipl.-Ing. Mag. Albert Weichselbraun}
\date{\today}

\begin{document}

\maketitle

In den letzten Jahren hat die Spamflut ein kaum mehr erträgliches Ausmaß erreicht.\\
Dies hat jedoch auch dazu geführt, dass beträchtliche Ressourcen in den Kampf gegen unerwünschte E-Mails investiert wurden, sodass inzwischen bereits sehr wirksame Werkzeuge zur Abwehr von Spammern zur Verfügung stehen.

%
%
%
\section{Open Relay Datenbanken}
Einer der wohl naheliegendsten Ansätze zur Bekämpfung von Spam ist die Blockade von jenen Servern, über welche ein Großteil der Werbeflut an den ``Endkunden'' weitergeleitet wird.\\
Meist handelt es sich hierbei um Systeme, die von ihren Administratoren nicht hinreichend abgesichert wurden und deshalb als ``Offene Relays'' Spammern aus aller Welt für den Versand ihrer unpopulären Mails zur Verfügung stehen.\\
Mittels entsprechender Testprogramme - durch gezielte Suche oder aufgrund von Beschwerden - ist es jedoch möglich, solche Systeme zu identifzieren und in öffentliche Open-Relay Datenbanken \cite{ordb} einzutragen. Diese Datenbanken werden von den Administratoren gerne für eine Vorselektion von ``guten'' und ``bösen'' Mails verwendet.\\
Die Schwachstellen dieses Ansatzes zeigen sich jedoch spätestens dann, wenn erwünschte Mails nicht ankommen, weil der Administrator des Absenders seinen Mailserver nicht entsprechend gesichert hat.\\
Dies mag für eine Privatperson nicht besonders dramatisch sein - wenn jedoch zum Beispiel Mails von Ministerien an Schulen (wohlgemerkt ein Beispiel aus der Praxis!) blockiert werden, so interessiert es die Verantwortlichen meist wenig, dass auf ihrer Seite ein ``schlecht konfiguriertes'' System vorliegt.\\
Weiters passiert es leider immer wieder, dass die entsprechenden Datenbanken vom Netz gehen. Gründe hierfür sind rechtliche Probleme oder auch das Bestreben, das ehemalig frei zugängliche Service kommerziell zu vermarkten \cite{abuse}.

%
%
%
\section{Prüfsummen}
Open Relay-Datenbanken sind jedoch nicht der Weisheit letzter Schluss - sodass wir uns einer wesentlich vielversprechenderen Gruppe, nämlich den Prüfsummen-Verfahren, zuwenden können.\\
Diese berechnen eine eindeutige Prüfsumme (zum Beispiel SHA1) über den Inhalt von Werbemails und legen diese in einer Datenbank ab.\\
\\
Die Folge ist, dass Mails mit dieser Prüfsumme von allen Rechnern, welche auf die entsprechenden Datenbanken zugreifen, abgewiesen werden.\\
Leider sind einfache Prüfsummenverfahren sehr leicht zu umgehen. Bereits eine winzige Änderung des Textes genügt, um die Prüfsumme zu ändern und somit die Mails wieder - allen Blockaden zum Trotz - zustellen zu lassen.\\
Ein Umstand, den auch Spammer sehr gerne durch entsprechende ``persönliche'' Zusätze Rechnung tragen (Vergleich Abbildung \ref{spam_addition}).

\begin{figure}[htbp]
\begin{verbatim}
...
If you do not wish to receive future mailings from us, please go to
the link below:
http://p1j2m3a4.pdhost.com/pdsvr/www/r?1000002317.949.3.PRTCUC++nYGkU4\end{verbatim}
  \caption{Ein ``persönlicher'' Link zum Ausschalten von einfachen Prüfsummenverfahren.}
  \label{spam_addition}
\end{figure}

Glücklicherweise haben die Entwickler (wie zum Beispiel \cite{razor} und \cite{spamnet}) schnell auf dieses Problem reagiert und Prüfsummenalgorithmen in ihre Software integriert, die nicht mehr auf eine identische Nachricht angewiesen sind (wie zum Beispiel Nilsimsa und Ephemeral).

\section{Heuristische Verfahren}
Als Non-Plus-Ultra haben sich jedoch heuristische Verfahren erwiesen, welche die Wahrscheinlichkeit, dass es sich bei einer bestimmten Mail um Spam handelt, anhand einer Kombination von Einzelkriterien  bestimmen. Im Falle von Spamassassin \cite{spamassassin} sind das weit über 100 solcher Kriterien!\\
Hierbei kommen Techniken wie
\begin{itemize}
  \item Bewertung des in der Mail verwendeten Vokabulars
  \item Analyse des Formates der Nachricht (Mailheader, gültiges HTML, verwendetes E-Mailprogramm, etc.)
  \item Abfrage von Open Relay Datenbanken
  \item Prüfsummendatenbanken 
\end{itemize}
zur Anwendung.\\
Anschließend werden die Ergebnisse der Einzeltests entsprechend der Vorgaben des Benutzers gewichtet und eine zur Wahrscheinlichkeit, dass es sich bei der Nachricht um Spam handelt, proportionale Punktezahl dem Kopf der Nachricht hinzugefügt.\\
Der Benutzer kann nun Grenzen definieren, innerhalb deren er Mails akzeptiert beziehungsweise löschen/filtern lässt. Weiters ist es möglich, E-Mails, die als Spam klassifiziert wurden, um einen Prüfbericht zu erweitern (Bild \ref{spam-pruefbericht}).
\begin{figure}[htbp]
\begin{verbatim}
SPAM: 36.10 hits, 5 required;
SPAM: *  2.4 -- MiME-Version header (oddly capitalized)
SPAM: *  1.3 -- From: does not include a real name
SPAM: *  0.9 -- From: ends in numbers
SPAM: *  3.5 -- BODY: Claims compliance with Senate Bill 1618
SPAM: *  2.7 -- BODY: Offers a free consultation
SPAM: *  1.3 -- BODY: Incorporates a tracking ID number
SPAM: *  1.0 -- BODY: No such thing as a free lunch (3)
SPAM: *  1.3 -- BODY: Spam phrases score is 13 to 21 (high)
...

SPAM: *  0.2 -- BODY: JavaScript code
SPAM: *  0.2 -- BODY: Image tag with an ID code to identify you
SPAM: *  0.6 -- BODY: Tells you to click on a URL (in caps)
SPAM: *  1.4 -- RAW: Message text disguised using base-64 encoding
SPAM: *  0.7 -- URI: Includes a link to a likely spammer email address
SPAM: *  3.9 -- Listed in Razor2, see http://razor.sf.net/
SPAM: * -0.1 -- Email came from some known mailing list software
SPAM: *  3.2 -- RBL: Received via a relay in list.dsbl.org
SPAM:           [RBL check: found 130.71.151.203.list.dsbl.org]
SPAM: *  0.5 -- Message has X-MSMail-Priority, but no X-MimeOLE\end{verbatim}
  \caption{Auszug aus dem Prüfbericht eines als Spam klassifizierten E-Mails.}
  \label{spam-pruefbericht}
\end{figure}

Möchte man heuristische Mailfilter zum Schutz des eigenen Mailservers einsetzen, so empfiehlt es sich in den meisten Fällen, Klassifikationssystem und Mailsoftware auf unterschiedlichen Rechnern laufen zu lassen, da die Klassifikation der Nachrichten relativ ressourcenintensiv ist und das System somit bei größeren Mailvolumina nicht mehr einsetzbar wäre.\\
Das Klassifikationssystem kann dabei auch von externen Anbietern zugekauft werden (Bild \ref{server-konfiguration}).

\begin{figure}[htbp]
{\par\centering \resizebox{0.4\width}{!}{\includegraphics{images/server-konfiguration}} \par}
  \caption{Integration von Mailklassifikationssystemen}
  \label{server-konfiguration}
\end{figure}

Weiters sollten die Einstellungen des Spamfilters von den Benutzern - zum Beispiel über ein Webinterface (Bild \ref{spam-preferences}) - individuell verwaltet werden können, sodass niemand mit einem ``Zensurierungssystem'' zwangsbeglückt wird.
\begin{figure}[htbp]
\begin{verbatim}

\end{verbatim}
{\par\centering \resizebox{0.4\width}{!}{\includegraphics{images/spamfilter-05}} \par}
  \caption{Konfiguration des Spamfilters mittels Webinterface}
  \label{spam-preferences}
\end{figure}

Die Integration des heuristischen Filters in bestehende Mailsysteme kann bei neuerer Software problemlos über entsprechende Content-Filter erfolgen, sodass alle Benutzer in den Genuss der mit zwischen 95 und 99 \% extrem hohen Erkennungsrate des Systems kommen können.\\



\begin{thebibliography}{99}
\bibitem{spamassassin}Spamassassin - ein heuristischer Mailfilter\\
         \url{http://www.spamassassin.org}
\bibitem{razor}Vipul's Razor \\
         \url{http://razor.sourceforge.net}
\bibitem{spamnet}Spamnet Outlook Add-In \\
         \url{http://www.spamnet.com}
\bibitem{abuse}Mail Abuse Prevention System \\
         \url{http://www.mail-abuse.org}
\bibitem{ordb}Open Relay Database (ORDB) \\
         \url{http://www.ordb.org}
\end{thebibliography}

\end{document}

% $Id$ 
