Home / LinuxUser / 2007 / 01 / Für Räuber unsichtbar

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(179 Punkte bei 5 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)
Mageia 2 ist fertig
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Für Räuber unsichtbar

E-Mail-Adressen tarnen

Tarnen und Täuschen

Das wohl bekannteste Verfahren zum Schutz vor Mail-Harvestern beruht darauf, die E-Mail-Adresse in eine Grafik zu schreiben. Zwar verbirgt dies die Adresse wirksam vor den Harvestern (Abbildung 2, Punkt 3), jedoch auch vor sehbehinderten Seitenbesuchern. Screenreader, die Blinden Zugang zum Internet ermöglichen, verbreiten sich immer stärker; mehr und mehr Webmaster gestalten ihre Seiten so, dass sie sich für diese eigenen. Die Methode sollte also nicht mehr zum Einsatz kommen, zumal es ebenso wirksame Alternativen gibt.

Abbildung 2: Neun Monate standen mehrere E-Mail-Adressen auf einer einer gut verlinkten Internetseite. Mache Adressen waren durch unterschiedliche Verfahren vor Mail-Harvestern geschützt. Das Diagramm zeigt, wie viele Spam-Mails bei den unterschiedlich getarnten Adressen eingingen.

Vielleicht ist Ihnen in URLs schon einmal die Zeichenfolge %20 aufgefallen: Auf diese Weise verschlüsselt der Browser Leerzeichen, die in Internetadressen nicht vorkommen dürfen. URLs, in denen alle Zeichen so (% gefolgt vom hexadezimalen ASCII-Code des Zeichens) dargestellt sind, funktionieren jedoch ebenfalls. Auch in Maillinks (href="mailto:user@example.com") übersetzt der Browser diese Codierung, nicht jedoch bei der Anzeige im Browserfenster. Der Anzeigetexts des Links enthält hier also einen Text wie Mail-Adresse, nicht die Adresse selbst (Listing 1). Allerdings stellt jede vernünftige Webprogrammiersprache (und damit auch jeder nicht allzu einfältige Harvester) eine Funktion zur Verfügung, die diese Codierung rückübersetzt. Das Testergebnis in Abbildung 2 bestätigt die Vermutung, dass das Verfahren zwar wirksam, aber nicht absolut zuverlässig ist: In neun Monaten gingen vier Spam-Mails ein.

Listing 1
<a href="mailto:%75%72%6c%40%65%78%61%6d%70%6c%65%2e%63%6f%6d">Mail-Adresse</a>

HTML enthält außerdem eine Methode, um Sonderzeichen für die Anzeige zu codieren, die so genannten HTML-Entities: Auf ein &-Zeichen folgt dabei der dezimale ASCII-Code des Zeichens, den Abschluss bildet ein Semikolon (Listing 2). Auch diese Codierung sollte sich recht leicht knacken lassen. Der Test bestätigt diese Annahme: Wie die URL-encodierte Adresse zog die HTML-Entities-Variante vier Mails an, in Kombination mit einem nicht encodierten Link immerhin etwa halb so viel wie eine Klartext-Adresse (Abbildung 2, Punkte 5 und 6).

Listing 2
<p>&#104;&#116;&#109;&#108;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;</p>

Sicherer erscheinen Ansätze, die auf Javascript zurückgreifen: Der E-Mail-Link ruft eine Javascript-Funktion auf, die die Adresse zurückgibt. Im Test war eine plumpe Lösung versteckt: Die E-Mail-Adresse stand im Klartext im Javascript-Bereich der Datei (Listing 3). Die Harvester konnten die Adresse problemlos lesen (Abbildung 2, Punkt 6). Überraschenderweise scheiterten jedoch alle Harvester, wenn die selbe Funktion (und damit die E-Mail-Adresse im Klartext) wie in Listing 4 in einer externen Datei versteckt war (Abbildung 2, Punkt 7). Wie lange es noch dauert, bis die Adressediebe es lernen, in ausgelagerten Javascript-Dateien nach Adressen zu suchen, lässt sich natürlich nicht vorhersehen.

Listing 3
var mail="js@example.com";
document.write("<p><a href=\"mailto:"+mail+"\">"+mail+"</a></p>");
Listing 4
<!-- Funktion aus Listing 3 in 'scripts.js' ausgelagert -->
<script language="javascript" type="text/javascript" src="./scripts.js"></script>

Ruft der Link für die Mail-Adresse eine Javascript-Verschlüsselungsfunktion auf, wie in Listing 5, so stellt dies im Moment für die Harvester eine unüberwindliche Barriere dar (Abbildung 2, Punkt 8): Javascript-Code können sie noch nicht interpretieren. Eigentlich wäre es kein Problem, diese Funktionalität einzubauen – immerhin steht die Javascript-Engine aus dem Mozilla-Projekt im Quelltext zur Verfügung. Es ist also nicht garantiert, dass so getarnte Adressen den Harvestern auch in Zukunft verborgen bleiben.

Wie kompliziert der Verschlüsselungsalgorithmus ist, hat übrigens keinen Einfluss auf die Sicherheit: Der Javascript-Code zur Entschlüsselung muss im Quelltext der Seite oder in einer angegebenen externen Datei vorliegen – sonst könnte der Browser die Adresse nicht entschlüsseln und der Seitenbesucher keine Mail senden. Listing 5 wendet daher nur eine einfache XOR-Operation (^ 183) auf die Zahlenwerte aus den Arrays local und domain an (Zeilen 7 und 10), bevor es sie auf Basis der ASCII-Tabelle in Buchstaben wandelt. Wie immer beim Einsatz von Javascript sollte man bedenken: Hat der Seitenbesucher aus Sicherheitgründen Javascript ausgeschaltet, so funktioniert der Link nicht.

Listing 5
<script language="javascript" type="text/javascript">
  var local = new Array (221, 196, 153, 212, 216, 211, 210);
  var domain = new Array (210, 207, 214, 218, 199, 219, 210, 153, 212, 216, 218);
  var local_part = "";
  var domain_part = "";
  for (i=0; i<local.length;
       local_part += String.fromCharCode(local[i] ^ 183), i++) ;
  for (i=0; i<domain.length;
       domain_part += String.fromCharCode(domain[i] ^ 183), i++) ;
  mailadresse = local_part + String.fromCharCode(64) + domain_part;
  function mailMe()
    {
      document.location.href="mailto:"+mailadresse;
    }
  </script>

Eine einfache und dennoch erstaunlich wirksame Methode stellt es dar, Leerzeichen zwischen die Buchstaben der Mail-Adresse einzufügen (u s e r @ e x a m p l e . c o m statt user@example.com). Ein Harvester hat hier kaum eine Chance, da er die Leerzeichen nicht von Wortgrenzen unterscheiden kann.

Besser spät als nie

Die Tabelle "Spammenge nach Entfernen einer Adresse" zeigt, dass es sich lohnt, Adressen mit bereits hohen Spamaufkommen nachträglich zu tarnen: Im Test verschwand im September 2005 eine ungetarnte Adresse (mittlere Spalte) von der Testseite und wurde durch eine neue, ähnlich klingende ersetzt. Die rechte Tabellenspalte zeigt zum Vergleich eine unverändert ohne Tarnung veröffentlichte Mailadresse. Es ist deutlich zu erkennen, wie die Spammenge auf der entfernten Adresse abnimmt und gleichzeitig auf der neuen zunimmt. Nach einem Jahr hat sich das Spammenge bei der nicht länger veröffentlichten Adresse im Vergleich auf etwa 50 Prozent reduziert.

Spammenge nach Entfernen einer Adresse

Monat

Entfernte Adresse

neue Adresse

unveränderte Adresse

07.2005 185   222
08.2005 127   136
09.2005 105   90
10.2005 98   119
11.2005 54 11 121
12.2005 92 16 265
01.2006 130 10 107
02.2006 119 35 125
03.2006 151 218 336
04.2006 187 282 387
05.2006 191 249 391
06.2006 170 202 378
07.2006 236 576 542
08.2006 305 758 620
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 68 Punkte (17 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...