Andreas Beck

Spam

Logo

Wie ermittelt man den Absender von SPAM?

1. Vergessen was im From: steht

Unglücklicherweise ist EMail ein recht unsicheres Medium, was die Identifizierbarkeit des Absenders betrifft. Die ist genauso schwierig wie bei einem herkömmlichen Brief:
Was der Absender auf den Umschlag schreibt, bleibt ihm überlassen. Der ehrliche Mensch wird natürlich seinen Namen und seine eigene Adresse draufschreiben. Wer hingegen übles im Schilde führt, der schreibt anonym, oder er schreibt gar einen falschen Absender auf den Umschlag.

Das ist bei Email genauso. Was immer in irgendwelchen Feldern oder in der Mail selbst steht, kann der Spammer setzen wie er mag. Das wird nirgends geprüft (das geht technisch auch gar nicht).

Heutzutage setzen Spammer sogar überwiegend gefälschte Adressen ein. Sehr zum Leidwesen von deren ehrlichen Besitzern.

2. Received: einblenden

Bleiben wir beim Analogon des herkömmlichen Briefes:
Welche Daten können wir da verwerten?
Nun, da wäre zunächst einmal der Poststempel. Der sagt zwar nur in welcher Stadt der Brief eingeworfen wurde, aber das ist ja schonmal besser als nichts.

In der Tat gibt es bei Email ebenfalls einen solchen "Poststempel":
Die sogenannten "Received:-Header". Diese werden normalerweise nicht angezeigt (den Poststempel guckt ja in der Regel auch niemand an).

Lassen Sie sich diese von Ihrem Mailprogramm anzeigen:

3. Received:-Zeilen passend interpretieren

Das Format der Received:-Zeilen ist leider nicht ganz einheitlich - jedes Mailtransferprogramm kocht da etwas "sein eigenes Süppchen".
Dennoch enthalten die Received:-Zeilen in der Regel in etwa die gleichen Informationen.
Sehen wir uns einmal eine Beispielmail, die wir selbst an eine Adresse eines Mitarbeiters gesendet haben, an:

From president@whitehouse.gov Mon Nov 17 02:50:40 2003
Die Absenderzeile. Offensichtlich ist es ein leichtes, diese zu fälschen.
Return-path: <president@whitehouse.gov>
Der sogenannte Return-path: ist eine Adresse, an die Zustellungsmitteilungen gehen sollen. Auch diese kann man leicht fälschen.
Envelope-to: becka@bedatec.de
Ebenso wie bei Received:-Feldern werden von einigen Mailsystemen beim Empfang oder beim Transfer Envelope-to:-Zeilen eingefügt. Diese dienen dem späteren Sortieren der Mail nach dem ursprünglichen Empfänger, wenn z.B. mehrere Adressen über ein einziges Postfach abgerufen werden.

Kommen wir nun zum ersten Received:-Header. Dieser wurde von unserem lokalen Mailserver, dem letztlichen Ziel der Mail, erzeugt:

Received: from kerberos.rz.beck-sw.de
	(192.168.171.2 helo=kerberos ident=mail)
	by atlas.rz.beck-sw.de with esmtp (Exim 3.35 #1 (Debian))
	id 1ALYXI-0001cX-00
	for <becka@bedatec.de>; 
	Mon, 17 Nov 2003 02:50:40 +0100
Was bedeutet nun diese Zeile? Nun die Mail wurde vom Rechner kerberos.rz.beck-sw.de, der die (interne) IP 192.168.171.2 an den Rechner atlas.rz.beck-sw.de gesendet und zwar am Montag, den 17. November 2003 um 02:50:40 Uhr, wobei als Zeitzone die MEZ (Mitteleuropäische Zeit) gilt, also +1 Stunde von GMT (Greenwich Mean Time).
Die weiteren Angaben sind für uns nicht sonderlich interessant.

Der nun folgende Header wurde von unserem Mailgateway erzeugt. Bitte beachten Sie, daß Received:-Header in der Regel vorne an die Mail angefügt werden, und daher in umgekehrter zeitlicher Reihenfolge erscheinen.

Received: from localhost (127.0.0.1 ident=root)
	by kerberos with esmtp (Exim 3.35 #1 (Debian))
	id 1ALYXI-0006tK-00
	for <becka@bedatec.de>; 
	Mon, 17 Nov 2003 02:50:40 +0100
Der Rechner kerberos.rz.beck-sw.de hat die betreffende Mail kurz zuvor von localhost mit der IP 127.0.0.1 empfangen.

Wer ist dieser "localhost"?
"Localhost", bzw. IP-Adressen der Form 127.x.x.x sind reserviert für Verbindungen innerhalb eines Rechners. In diesem Fall kommt diese zusätzliche Verbindung von der Verwendung eines Mailabholers (hier fetchmail):

Received: from mail.uni-duesseldorf.de 134.99.128.30
	by localhost with POP3 (fetchmail-5.9.11)
	for becka@bedatec.de (single-drop); 
	Mon, 17 Nov 2003 02:50:40 +0100 (CET)
Der Mailabholdienst fetchmail hat die Post mit Hilfe des sog. "POP3"-Protokolles vom Server mail.uni-duesseldorf.de abgeholt. Bis hierhin verlief der Weg komplett innerhalb unseres Netzwerkes und betraf nur die letztliche Zustellung. Im folgenden werden wir Schritt für Schritt erfahren, wie die Mail bis zum Mailserver mail.uni-duesseldorf.de kam:
Received: from conversion-daemon by neptun.rz.uni-duesseldorf.de
 (Sun Internet Mail Server sims.4.0.2001.07.26.11.50.p9)
 id <0HOH006013MC9I@neptun.rz.uni-duesseldorf.de> for
 becka+rz.uni-duesseldorf.de@procmail.pipe-daemon
 (ORCPT rfc822;becka@uni-duesseldorf.de); 
 Mon, 17 Nov 2003 02:47:00 +0100 (MET)
Auch der Mailserver der Uni-Düsseldorf verwendet einen lokalen Versendeschritt, den sog. "conversion-daemon". Dieser sorgt für Virencheck, Filterung, etc. Dieser Schritt ist ebenfalls uninteressant. Aber jetzt wird es spannend:
Received: from kerberos (p5084D307.dip.t-dialin.net 80.132.211.7)
 by neptun.rz.uni-duesseldorf.de
 (Sun Internet Mail Server sims.4.0.2001.07.26.11.50.p9)
 with ESMTP id <0HOH003M13MBWX@neptun.rz.uni-duesseldorf.de> for
 becka+rz.uni-duesseldorf.de@procmail.pipe-daemon
 (ORCPT rfc822;becka@uni-duesseldorf.de); 
 Mon, 17 Nov 2003 02:46:59 +0100 (MET)
Zuvor empfangen wurde die Mail von einem Rechner, der sich kerberos nannte. Dieser Name sagt gar nichts, da man diesen auch beliebig setzen kann. Der empfangende Server neptun.rz.uni-duesseldorf.de hat allerdings automatisch die IP und den DNS-Namen des betreffenden Rechners festgehalten: p5084D307.dip.t-dialin.net 80.132.211.7
Diese Daten sollte man nun zunächst überprüfen. Dazu eignet sich das Werkzeug "nslookup", das sowohl unter Unixen, als auch unter Windows auf der Kommandozeile zur Verfügung steht:
bash-2.05a$ nslookup 80.132.211.7
Non-authoritative answer:
7.211.132.80.in-addr.arpa       name = p5084D307.dip.t-dialin.net.
Diese Ausgabe sagt uns, daß der Rechner neptun.rz.uni-duesseldorf.de richtig nachgesehen hat (manchmal kann der Mailserver diese Prüfung nicht zuverlässig durchführen, daher sollte man immer die IP noch einmal manuell prüfen).

Moderner als "nslookup" ist übrigens die Verwendung von "dig -x" - dieses Werkzeug kann oft auch Hinweise liefern, selbst wenn das Reverse-Lookup, mit dem nslookup arbeitet, nicht korrekt funktioniert. Man erhält dann in der Regel Informationen über dem Verwalter der Adressblockes. Leider steht dieses Werkzeug zumeist nur unter Unix zur Verfügung.

Nun ist ggf. etwas Wissen, oder noch etwas "Forschungsarbeit" angesagt: Wir wissen nun, daß die Mail von "p5084D307.dip.t-dialin.net" aus eingeliefert wurde. Aller Vermutung nach sitzt dort also der "Spammer" oder ein Rechner, der von ihm missbraucht wurde.
Nun kann man natürlich in aller Regel nicht von IP-Nummern auf Personen schließen, und das ist aus Gründen des Datenschutzes auch ganz gut so. Das kann nur der Betreiber des jeweiligen Netzes. Also gilt es, diesen zu kontaktieren, und ihn zu bitten, den betreffenden Benutzer zu ermitteln und dem Spam Einhalt zu gebieten.

Mit Hilfe des Werkzeuges "whois", das auf Unix zumeist installiert ist, oder einer webgestützten whois-Abfrage, z.B. auf http://www.denic.de/de/whois/ können Sie feststellen, wer für eine Domäne als Verantwortlicher eingetragen ist. Lassen Sie dazu in der Regel alle bis auf die letzten beiden Teile des eben ermittelten Rechnernamens weg, in diesem Fall verwenden Sie also t-dialin.net.

bash-2.05a$ whois t-dialin.net
   ... Ausgabe an diversen Stellen gekürzt bzw. unkenntlich
        gemacht, damit nicht irgendwelche Spaßvögel den armen
        Menschen nerven ...
   Domain Name: T-DIALIN.NET
   Registrar: NETWORK SOLUTIONS, INC.
   ...
   Status: ACTIVE
   Updated Date: 15-jan-2003
   Creation Date: 10-feb-1999
   Expiration Date: 10-feb-2004
   ...
Registrant:
Deutsche Telekom Online Service GmbH (T-DIALIN2-DOM)
   Xxxxstrasse 3
   Xxxxxxstadt D-64xxx
   DE
   Administrative Contact, Technical Contact:
      Xxxxxxxx, Xxxxxx  (32933385I)  x.xxxxxxxx@T-ONLINE.NET
      T-Online International AG
      Xxxxstrasse 3
      Germany
      D-6429
      Xxxxxxstadt, Hessen 64xxx
      DE
      +49 xx xx xxx xxxx fax: +49 xx xx xxx xxx
Das verrät uns in diesem Fall den Provider, über den der Sender eingeloggt war. Kurze Recherche führt uns zu t-online.de als Homepage des Providers. Wäre dies ein echter SPAM, wäre es entsprechend sinnvoll, sich bei abuse@t-online.de zu beschweren. Die Mailadresse "abuse@domainname.de" ist eigentlich bei allen ernstzunehmenden Providern für diesen Zweck reserviert.

WICHTIG: Beenden Sie das Auswerten der Received-Header, wenn Sie bei einem Eintrag angekommen sind, bei dem Sie dem vorherigen Sender nicht mehr vertrauen. In der Regel ist das der Eintrag des sog. "Inbound-Gateways" ihres Providers. Vergleichen Sie einmal ein paar "normale" Mails, die sie bekommen haben - Sie werden feststellen, daß die letzten Zustellungsschritte in der Regel immer gleich verlaufen.

Alle weiter hinten in der Mail stehenden Received-Header können bereits vom Spammer eingefügt worden sein, um von sich abzulenken.

Werfen wir noch kurz einen Blick auf den Rest der Mail, obwohl diese Daten für unsere Zwecke ohne Belang sind:

Date: Mon, 17 Nov 2003 02:46:19 +0100
From: Big Boss <president@whitehouse.gov>
Subject: SPAMDEMO
To: undisclosed-recipients: ;
Message-id: <20031117014619.GA1651@uni-duesseldorf.de>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-disposition: inline
Status: RO
Content-Length: 33
Lines: 1
Diese Message ist mal kein Spam.
All die obigen Header und auch die eigentliche Nachricht (diese ist durch eine Leerzeile abgetrennt) sind beliebig durch den Spammer veränderbar. Trauen Sie keinen Angaben in diesen Zeilen. Insbesondere keinen scheinbaren Meldungen von Spamblockern oder Antivirustools.

Ziehen Sie auch keine voreiligen Schlüsse aus angegebenen Links (URLs) oder Telefonnummern. Es ist schon vorgekommen, daß durch SPAM Konkurrenten diskreditiert werden sollten.

4. Beschweren

Senden Sie die Mail mit den vollständigen Headern, also insbesondere mit den eben analysierten Received-Headern an die eben ermittelte Abuse-Adresse. Der Provider will in der Regel die Angaben selbst prüfen.

Fügen Sie ein kurzes Anschreiben bei, das ihr Anliegen erklärt. Ein Beispiel für ein solches Anschreiben in Deutsch:

Sehr geehrte Damen und Herren,
bitte beachten Sie, daß unverlangte Werbemails (SPAM) durch 
Ihre Systeme gesendet werden.  Dies resultiert entweder aus 
einem offenen Mail-Relay oder durch einen Ihrer Kunden, der 
seinen Zugang hierzu mißbraucht.
Um Ihnen bei der Verfolgung des Vorfalles behilflich zu sein, 
finden Sie die betreffende Nachricht mit kompletten Headern 
unten. Vielen Dank für die Ergreifung geeigneter Maßnahmen.
Mit freundlichen Grüßen,
Ihr Name
und auf Englisch:
Dear Sirs/Madams,
please note,  that unsolicited mass email (SPAM) is being 
routed through your systems. This is probably due to open 
mail relays or a customer abusing your dialup services or 
similar.
To help you in tracking the incident, the offending message 
with full headers is included below. Thank you for taking 
appropriate action.
Regards, 
your name here
Wenn Sie genauere Angaben machen können oder wollen, ändern Sie den Text entsprechend. Löschen sie ggf. unzutreffende Passagen bzw. fügen Sie erklärende Passagen ein.
Web Design by Andreas Beck      mailto:webmaster-wwbdt-spam@bedatec.de
Ihr Internet Explorer ist veraltet und kann diese Seite nicht optimal darstellen.
Bitte verwenden Sie Windowsupdate um IE7 zu erhalten oder installieren Sie Mozilla