Tobias Eggendorfer. No Spam!

Größe: px
Ab Seite anzeigen:

Download "Tobias Eggendorfer. No Spam!"

Transkript

1 Tobias Eggendorfer No Spam!

2

3 Tobias Eggendorfer No Spam! Besser vorbeugen als heilen Software & Support Verlag GmbH Frankfurt 2005

4 Tobias Eggendorfer : No Spam! Besser vorbeugen als heilen. Frankfurt, 2005 ISBN X 2005 Software & Support Verlag GmbH Ihr Kontakt zum Verlag und Lektorat: lektorat@software-support.biz Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar. Korrektorat: Petra Kienle Satz: text & form GbR, Carsten Kienle Umschlaggestaltung: Melanie Hahn Belichtung, Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, Paderborn. Alle Rechte, auch für Übersetzungen, sind vorbehalten. Reproduktion jeglicher Art (Fotokopie, Nachdruck, Mikrofilm, Erfassung auf elektronischen Datenträgern oder andere Verfahren) nur mit schriftlicher Genehmigung des Verlags. Jegliche Haftung für die Richtigkeit des gesamten Werks kann, trotz sorgfältiger Prüfung durch Autor und Verlag, nicht übernommen werden. Die Programmbeispiele dienen nur der Erklärung und sind nicht ungeprüft für den Produktionseinsatz geeignet. Die im Buch genannten Produkte, Warenzeichen und Firmennamen sind in der Regel durch deren Inhaber geschützt.

5 Inhaltsverzeichnis Vorwort Notwendige Vorkenntnisse Zum Umgang mit diesem Text Einführung Untaugliche Filter Spam an der Wurzel bekämpfen Was ist Spam? Etwas Geschichte Spam und Recht Unsolicited Bulk Woher haben Spammer die Mailadressen? Freiwillige Eingabe Adressen im Internet automatisch sammeln Durchsuchen von Internetseiten Newsgroups und ähnliche Quellen Erraten von Adressen Adresshandel Grundlegende Vorsichtsmaßnahmen Umgang mit Mailadressen Wegwerfadressen Newsletter und Ähnliches Keinesfalls: gefälschte Absenderadressen Webtelefonbücher Spammer beim Sammeln identifizieren SMTP-Teergruben Rechtsweg Adressen von Webseiten verbannen Adressen fälschen Verstecken mit HTML-Code Kontaktformular No Spam! 5

6 Inhaltsverzeichnis Tarnen mit HTML Rechtliches Bilder und Ähnliches Adresse als Bild PDF Flash JavaScript Das Grundprinzip Eine stabilere Lösung Theoretische Informatik ausnutzen Mit Verschlüsselung Harvester mit JavaScript JavaScript-freie Browser Weitere Verfahren Test auf echten Webseiten Test mit echten Harvestern Automatisch tarnen Apache-Modul Installation Programmierzauber Tarnfunktion Das Script selbst Tuning Missbrauch fertiger Scripten Missbrauch von Kontaktformularen Empfänger als INPUT TYPE HIDDEN Nutzereingabe im From-Feld Nutzereingabe sonstiger Header-Felder Zusammenfassung Missbrauch von ecards Hinweise zur Umsetzung Send-To-A-Friend

7 Inhaltsverzeichnis 8 Harvester blockieren Anforderungen Überlastungsprophylaxe Semaphoren in PHP Die Lösung Ein Script viele Namen Suchmaschinen schützen Beispiel-Teergrube Konfiguration der Beispiel-Teergrube Das Script Test Weitere Verbesserungsmöglichkeiten Absichern von Mailinglisten und Newslettern Sicherheitsziele Anmeldeverfahren Opt-Out Einfacher Opt-In Double-Opt-In Anmeldebestätigung Laufender Betrieb Schutz der Mailadressen Schutz der Liste Zusammenfassung Zusammenfassung Literaturhinweise Stichwortverzeichnis No Spam! 7

8

9 Vorwort Spamfilter sind langsam, fehleranfällig und wirken meiner Meinung nach am falschen Ende: Sie entfernen Spam erst dann, wenn er auf dem Server des Empfängers eingetroffen ist und ihm damit bereits Kosten verursacht hat. Das Ziel sollte daher sein, Spam schon vor der Entstehung zu unterbinden und so die Investition in aufwendige Spamfilter überflüssig zu machen. Ich möchte Ihnen in diesem Buch Verfahren und Möglichkeiten der präventiven Spam-Vermeidung vorstellen, die ich entweder selbst entwickelt habe oder für die ich im Rahmen meiner Recherchen Anregungen und Ideen entdeckte, die ich dann häufig noch verfeinern konnte. Mein Ansatz ist dabei zu verhindern, dass Spammer überhaupt in den Besitz von -Adressen gelangen. Dadurch wird ihnen das wichtigste Handwerkzeug genommen. Spammer ernten -Adressen vorzugsweise aber nicht ausschließlich von Webseiten. Daher stelle ich hier unter anderem Lösungen vor, wie sich Webseiten so gestalten lassen, dass Sammelprogramme dort keine - Adressen mehr finden. Dabei werde ich auch eine Lösung implementieren, die die vorgeschlagenen Verfahren automatisiert durchführt, ohne dass die bestehenden Webseiten manuell geändert werden müssten. Zwei große Themenkomplexe in der Spambekämpfung spare ich aus: zum einen die Konfiguration von Mail-Servern, so dass sie nicht als Open Relay missbraucht werden können 1, und zum anderen die Problematik des Open Proxy. Beide Probleme erscheinen mir zu speziell und sind in der Literatur mittlerweile ausführlich und ergiebig diskutiert. Zudem setzen beide Lösungen einen Schritt hinter meinem Ansatz an: Sie versuchen, den Versand von Spam zu behindern, und greifen damit erst dann ein, wenn der Spammer bereits -Adressen seiner Opfer hat. Ich hoffe, in der folgenden Darstellung die richtige Mischung aus Theorie und Praxis gefunden zu haben. Und ich hoffe, dass ich mein Ziel, Ihnen durch anschauliche Erklärungen das Verständnis zu erleichtern, erreiche. 1. Siehe z.b.: [COS97] für Sendmail, [HEIN04] für Postfix und [SIL01] sowie [BER03a] für qmail. No Spam! 9

10 Vorwort In Notwendige Vorkenntnisse gebe ich Ihnen einige Hinweise, welche Vorkenntnisse Sie zum Verständnis der einzelnen Kapitel mitbringen sollten. Sie werden sehen, dass häufig eine gesunde Portion Neugier und Interesse ausreicht, um den Beispielen zu folgen. Leider bin ich auch nur ein Mensch und somit fehlbar gerade eine erste Ausgabe hat den Fehlerteufel in sich. Daher würde ich mich über Feedback, Anmerkungen, konstruktive Kritik, aber auch über eine Sammlung meiner schönsten Tippfehler und unverständlichsten Sätze freuen. Zu diesem (und vielen weiteren Zwecken) existiert auf meiner Homepage ein Kontaktformular. Sollten Sie sehr viele Fehler finden oder auch reichlich Verbesserungsvorschläge haben, dann wird dort auch eine Seite mit entsprechenden Hinweisen entstehen. Ich wünsche Ihnen viel Spaß bei der Lektüre! 10

11 Notwendige Vorkenntnisse Von meinem Verlag wurde ich mehrfach gefragt, an wen sich das Buch wende. Das ist schwer zu sagen: Einige der dargestellten Techniken (in Kapitel 4 und 5) sind für jeden nachvollziehbar, der schon mal eine Webseite erstellt hat. Häufig sind dafür noch nicht einmal detailliertere HTML- oder gar JavaScript-Kenntnisse notwendig. Diese Lösungsvorschläge wenden sich somit an jeden, der eine eigene Homepage betreibt. Der notwendige Code ist stets ausführlich erläutert und kann so fast immer ohne Änderungen auf die eigene Homepage übernommen werden. In Kapitel 6 stelle ich Ihnen eine Methode vor, wie Sie die in Kapitel 5 erklärten Tarnverfahren automatisch von Ihrem Webserver durchführen lassen können. Das Schöne an der Lösung ist, dass Sie Ihre bestehenden Webseiten gar nicht mehr anfassen müssen, um in den Genuss effektiver Tarnung zu kommen. Der Haken an der Sache? Wie so oft: Bevor man sich faul zurücklehnen kann, ist etwas Programmierarbeit nötig. Für das Verständnis des vorgestellten Programms sind daher Perl-Kenntnisse hilfreich. Um das Konzept zu verstehen, brauchen Sie aber nur Ihren gesunden Menschenverstand. Kapitel 7 ist dann etwas für den kleinen Cracker in Ihnen: Wir schauen uns an, wie typische Scripten auf Webseiten von Spammern missbraucht werden können, und diskutieren, wie man sie gegen diese Angriffe abdichten kann. Um die Ideen dieses Kapitels zu verstehen, sind HTML-Grundkenntnisse und etwas Fantasie nötig. Um die Programmbeispiele nachvollziehen zu können und an die eigenen Bedürfnisse anzupassen, sind PHP-Kenntnisse empfehlenswert. So stelle ich Ihnen beispielsweise in Kapitel 7.2 ein Verfahren vor, wie man spamfrei ecards anbieten kann. Ans Eingemachte gehen wir in Kapitel 8: Wir konstruieren eine Falle für Spammer. Das Konzept ist wiederum für jedermann verständlich allerdings nutzt das vorgestellte PHP-Script zur Umsetzung dann einige trickreiche Programmiermethoden, die ich Ihnen ausführlich erkläre. Wenn Sie das Script auf Ihrer eigenen Seite einsetzen wollen, sollten Sie daher PHP beherrschen. In Kapitel 9 wird es wieder etwas allgemeiner: Wir diskutieren verschiedene Verfahren, um Mailinglisten vor Spammern zu schützen. Das trifft Sie vor al- No Spam! 11

12 Notwendige Vorkenntnisse lem dann, wenn Sie selbst Newsletter oder Mailinglisten anbieten wollen sollte das der Fall sein, so haben Sie auch schon Erfahrung mit der notwendigen Software. Ansonsten liefert Ihnen das Kapitel einige wertvolle Hinweise, worauf Sie achten sollten, wenn Sie sich irgendwo anmelden. Generell gilt: Die Erklärungen und Beispiele sind meiner Meinung nach für jeden verständlich, der ein bisschen gesunde Neugier mitbringt. Die unterstelle ich Ihnen, sonst hätten Sie kaum dieses Buch in der Hand. 12

13 Zum Umgang mit diesem Text Um Programmbefehle zu markieren, verwende ich die folgende Darstellung: UPDATE leser SET wissen = wissen + 1 WHERE buch_gelesen = true; Sollten durch den Druck zufällig Zeilenumbrüche an Stellen entstehen, an denen sie nicht hingehören und zu einer Fehlfunktion führen würden, markiere ich den Zeitpunkt, an dem Sie die Return-Taste drücken dürfen, mit [RET]. Soweit aber ein Zeilenumbruch nicht stört, verzichte ich im Sinne der besseren Lesbarkeit auf diesen Zusatz. Ich verwende im Text relativ großzügig Fußnoten. Häufig gebe ich Ihnen dort Quellen an, unter denen Sie weitere Detailinformationen zu einem bestimmten Problemkreis finden können, dessen Darstellung hier den Rahmen sprengen würde. Manchmal ist es hilfreich, wenn die eigene Neugier geweckt ist, einen Einstiegspunkt für weitere Recherchen zu finden. Die Literatur ist dabei mit einem Kürzel im Text angegeben, Sie finden die vollständigen Angaben unter dem Kürzel im alphabetisch sortierten Literaturverzeichnis am Ende des Buchs. Ich kann keinerlei Garantie für die Fehlerfreiheit der Programmbeispiele übernehmen: Zwar habe ich sie ausführlich getestet, einige liefen (und laufen) auf Webseiten, die massiv von Spammern heimgesucht werden, aber die Scripten sind hier lediglich aus didaktischen Gründen eingestreut und sollen das Verständnis erleichtern. Sie sollen Ihnen als Ausgangsbasis zur Entwicklung eigener Lösungen dienen, die Sie vor dem Live-Einsatz natürlich gründlich testen müssen insbesondere auf Sicherheitslöcher 2. Jedoch schränke ich das Nutzungsrecht daran ausdrücklich dahingehend ein, dass keines der Programme, Programmbeispiele oder der vorgestellten Verfahren von Spammern, zur Vorbereitung der Versendung oder der Versendung von Spam oder ähnlich niederträchtigen Zwecken verwendet werden darf. Eine solche Verwendung würde ich als Urheberrechtsverstoß verfolgen. Gegen eine Nutzung zu privaten und wissenschaftlichen Zwecken unter Hinweis auf meine Urheberschaft habe ich jedoch keinerlei Einwände. 2. Mit diesem Problem beschäftigen sich ausführlich: [KOZ04], [HOG04] und [VIE01]. Eine allgemeinere Einführung liefert [PEI04]. No Spam! 13

14

15 1 Einführung Spam lässt Ihren -Briefkasten überquellen. Doch warum eigentlich? Woher haben die Spammer Ihre Adresse? Und was kann man präventiv gegen Spam tun? Das sind Fragen, mit denen wir uns hier beschäftigen wollen. 1.1 Untaugliche Filter Dabei klammern wir die Frage nach Spamfiltern bewusst aus: Erstens gibt es dazu bereits mehr als genug Literatur, zweitens sind die Filter anders als bei Viren und Würmern nur eingeschränkt wirkungsvoll. Viren und Würmer haben eindeutige Signaturen, über die sie gut automatisch erkannt werden können. Bei Spam gibt es so etwas nicht. So hilft z.b. ein Filter, der auf bestimmte Schlagwörter reagiert, nichts: Für Apotheker, Urologen, Kardiologen und Internisten beispielsweise sind E- Mails mit dem Wort Viagra häufig wichtige Anfragen von Patienten und nicht unbedingt Spam. Ähnlich werden Uhrenhändler und Juweliere die Begriffe Rolex, Cartier und Breitling nicht auf ihre Blacklist setzen wollen. Auch die anderen gängigen Filterverfahren scheitern an praktischen Problemen: So schlagen manche Autoren vor, s nur von Rechnern mit festen IP-Adressen anzunehmen und haben dabei die Rechnung ohne die Telekommunikations-Überwachungsverordnung (TKÜV) gemacht: Denn die zwingt die großen Provider dazu, an ihren Mailservern Abhörvorrichtungen bereitzustellen. Wer das umgehen will, nutzt diese Server nicht, sondern mailt direkt von seinem PC. Technisch ist das kein Problem. Vielfach hochgelobt sind so genannte Open-Relay-Blacklists, also schwarze Listen von Servern, die s für fremde Domains annehmen und weitergeben ( relayen ). Ungünstig ist dabei nur, dass manche Listen so aggressiv sind, dass sogar seriöse Anbieter wie web.de und GMX regelmäßig dort gesperrt werden. Mancher Administrator setzt im vollen Vertrauen sogar Listen wie die von Spamcop als einzigen Filter ein, obwohl Spamcop selbst davor warnt, weil sie ihre Liste als experimentell und sehr aggressiv einstufen. Zudem wirkt der Filter schlicht am falschen Ende der Spam-Kette. Günstiger wäre es, das Übel Spam an der Wurzel zu packen. No Spam! 15

16 1 Einführung 1.2 Spam an der Wurzel bekämpfen Die Wurzel ist, so haben eine Studie ([CDT03]) und eigene Untersuchungen 3 ergeben, die Veröffentlichung von -Adressen auf Webseiten. An diesem Punkt setze ich an und dokumentiere Verfahren, wie -Adressen auf Homepages für Spammer unsichtbar gemacht werden können. Später werden wir uns überlegen, wie beispielsweise Kontaktformulare gestaltet sein müssen, um zu verhindern, dass sie als Spamming-Engines missbraucht werden können. Dabei demonstriere ich Ihnen auch ein Verfahren zum Anbieten von ecards, ohne Gefahr zu laufen, als Spammer auf Unterlassung in Anspruch genommen zu werden 4. In einem letzten Schritt werfen wir dann einen Blick auf ein Verfahren, das Spammern das Sammeln von Adressen vergällen soll. Zuerst jedoch möchte ich Ihnen zeigen, wie Spammer die Adressen sammeln, und den Begriff Spam definieren. Immer mehr unerwünschte Mails werden heutzutage von Würmern und Trojanern versandt, die mit den Methoden dieses Buchs nicht kleinzukriegen sind. Das Problem der Viren, Würmer und Trojaner können wir hier nicht behandeln es passt nicht in diesen Rahmen. Auch dazu existiert bereits einiges an Literatur 5. Parallel zur Erstellung dieses Buchs habe ich einen Kurs für die Volkshochschule München konzipiert, der sich jedoch nur auf die spamsichere Gestaltung von Homepages konzentriert und nicht alle präventiven Möglichkeiten vorstellen sollte schließlich ist der Zeitrahmen einer solchen Veranstaltung begrenzt. Die dort beschriebenen Methoden fasste ich für die Zeitschrift Linux-User in einem Beitrag zusammen. Der Beitrag stieß unter den Lesern, wie zahlreiche Zuschriften belegen, auf sehr großes Interesse und erschien mittlerweile in Übersetzungen in der internationalen, englischen Ausgabe Linux-Magazine, im rumänischen Linux-Magazin Linux-Magazin Romania und in der polnische Ausgabe Linux Magazine [EGG05a], [EGG05b] und [EGG05c] 4. Siehe dazu dort ist der Volltext der einschlägigen Urteile verlinkt 5. Siehe dazu: [EGG04d], [EGG05d] 6. Siehe: [EGG04], [EGG04g], [EGG04h], [EGG04f] 16

17 Spam an der Wurzel bekämpfen Im deutschsprachigen Linux-Magazin stellte ich erstmals auch ein Verfahren vor, Spammer zu ärgern sie also beim Einsammeln von Adressen nachhaltig zu behindern. 7 Im vorliegenden Buch diskutiere ich um einiges ausführlicher, als es im Rahmen von Artikeln möglich ist, diese und andere Verfahren. Insbesondere werden dabei auch die rechtlichen Konsequenzen dargestellt. Ich wünsche Ihnen viel Vergnügen bei der Lektüre und eine spamfreie Zukunft. Die verspricht zumindest [CDT03], hindert man Spammer am Adressensammeln. 7. Siehe: [EGG04a] No Spam! 17

18

19 2 Was ist Spam? Die Bezeichnung Spam wird heutzutage in einer wesentlich umfassenderen Bedeutung verwendet als ursprünglich. Viele Anwender verstehen unter Spam die massenhafte Zusendung von s unabhängig von deren Inhalt. Insbesondere werden auch die von Würmern automatisch generierten s von vielen Anwendern als Spam bezeichnet. Manche gehen sogar noch weiter und nennen alles Spam, was auch nur in entferntester Form unerwünschte Werbung darstellen könnte: Einige sprechen von Google-Spam, also manipulierten Trefferpositionen in einer Google-Suche, und andere von Papier-Spam und verstehen darunter Postwurfsendungen. 2.1 Etwas Geschichte Ursprünglich stand Spam für die massenhafte Sendung unerwünschter Werbung in den Newsgroups, speziellen Diskussionsbereichen im Internet. Dort tauchte auch erstmalig der Begriff Spam auf. Dabei ist das Wort SPAM zunächst unverfänglich und kommt aus einem völlig anderen Bereich: SPAM in Großbuchstaben geschrieben ist nämlich als Wortmarke von der US-amerikanischen Firma Hormel Foods 8 geschützt. SPAM steht dabei als Abkürzung für Spiced Pork and Ham und ist ein penetrant pink leuchtendes, unnatürlich aussehendes, aber in den USA ubiquitäres Dosenfleisch. Dieses Dosenfleisch hat dort offensichtlich Kultcharakter erlangt: Ähnlich wie für das bei uns bekanntere Nutella gibt es eigene SPAM-Kochbücher 9 und SPAM-Restaurants. Den Zusammenhang zwischen diesem Fleischderivat und unerwünschter Werbung erzeugte indirekt Monty Python, ein britischer Komiker. In einer seiner Flying Circus -Folgen möchte ein Gast in einem Restaurant, dessen Speisekarte ausschließlich Speisen enthält, die in irgendeiner Art auf SPAM basieren, ein Gericht ohne dieses Fleisch bestellen. Beim Versuch, die Bedienung nach entsprechenden Angeboten zu fragen, unterbindet ein Wikinger-Chor die Kommunikation und singt lauthals Spam, Spam, Spam Siehe dazu: 9. Siehe dazu: [WYM99] No Spam! 19

20 2 Was ist Spam? In einem Usenet-Posting am 31. März 1993 wurde dann, so die Darstellung in [GOO04], das erste Mal für unerwünschte Werbung in Newsgroups der Begriff Spam verwendet. Die damalige Internetgemeinde, der sehr viele Fans von Monty Pythons Flying Circus angehörten, verstand die Anspielung. Andere Autoren dokumentieren die Begriffsentstehung nicht so detailliert, sondern heben auf die massive Kommunikationsstörung und die Analogie zu diesem Sketch ab: Durch Spam wird jede normale Kommunikation unterbunden, das Kommunikationsmedium unbrauchbar gemacht. So laufen Postfächer wegen Spam über, Mailserver brechen unter der Flut von Werb s zusammen und schlecht konfigurierte Filter löschen erwünschte Nachrichten, weil sie diese fälschlich für Spam halten. Der Mensch, als letzter in der Reihe, übersieht dann auch noch in den Mail-Massen die erwünschten Nachrichten. So wird unbrauchbar. Aus der Geschichte, die [McW05] in Romanform erzählt, ergibt sich zunächst die enge Definition von Spam: Spam sind unerwünschte Werbepostings im Usenet. Später wurde der Begriff schnell erweitert auf unerwünschte Werbe-E- Mails, die man ursprünglich Unsolicited Commercial oder kurz UCE nannte. Tatsächlich gibt es immer wieder Hardliner, die Spam nur in der ursprünglichen, engen Definition der unerwünschten Usenet-Postings verwendet wissen wollen. So gab es z.b. lang anhaltende, heftige Diskussionen, als der Artikel über UCE im deutschen Wikipedia 10 unter die Überschrift Spam verschoben wurde. Mittlerweile wird auch dort Spam in der neueren, weiteren Definition verwendet. Allerdings ist die überwiegende Meinung in Fachkreisen immer noch, dass unter Spam nur unerwünschte Werb s zu verstehen sind, nicht jedoch unerwünschte Massenmails: Letztere stellen eine Art Oberbegriff dar: Auch Spam- Mails sind unerwünschte Massenmails, englisch Unsolicited Bulk (UBE), aber nicht jede UBE ist Spam. 2.2 Spam und Recht Spam ist nur dann Spam im Sinne unserer Definition, wenn es sich bei dem Inhalt der Nachricht um unerwünschte -Werbung handelt. Die Nachricht

21 Spam und Recht muss also einen werbenden Charakter haben. Dabei fasst die deutsche Rechtsprechung den Begriff Werbung anwenderfreundlich sehr weit. Wichtigstes Kriterium ist unerwünscht. Eine werbende Mail ist genauso wie Werbung per Fax, BTX, Telex, SMS oder auch Telefon immer dann unerwünscht, wenn sie außerhalb einer Geschäftsbeziehung zugesandt wird und der Absender nicht mit dem Interesse des Empfängers an seiner Zusendung rechnen durfte. Durch diese Einschränkung soll der Absender die Chance haben, neue Geschäftsbeziehungen anbahnen zu können, schließlich gehört das zum üblichen Geschäftsgebahren. Allerdings ist der Absender in Bezug auf das mutmaßliche Interesse des Empfängers nach deutscher Rechtsprechung beweispflichtig. Seine Begründung muss einer objektiven Nachprüfung standhalten. Die Behauptung, dass jeder Mensch irgendwann einmal eine zwie- oder rotlichtige Seite im Netz besuchen würde, reicht also nicht aus, sondern es muss das konkrete, aktuelle Interesse des Empfängers begründet werden 11. Das jedoch fällt den meisten Spammern schwer. In einem der Verfahren, die ich gegen Spammer geführt habe, konnte sich der Spammer in seinen Schriftsätzen noch nicht einmal entscheiden, ob er mich als Freiberufler oder Privatperson kontaktiert hatte. Damit half ihm die Ausrede, ich könnte an einer Kontaktaufnahme interessiert gewesen sein, auch nicht weiter. Die Annahme, dass der Empfänger der Werb auf seiner Homepage eine -Adresse angegeben hätte und damit stillschweigend jeglicher Kontaktaufnahme zustimme, reicht ebenso wenig für eine gültige Begründung aus. Umstritten ist derzeit noch, ob in einer bestehenden Geschäftsbeziehung die Zusendung von Werbung in beliebigem Umfang geduldet werden muss. Die überwiegende Mehrheit geht davon aus, dass, sobald der Empfänger der weiteren Zusendung von Werbung nachweislich widersprochen hat, sie als unerwünscht einzustufen ist und es sich damit um Spam handelt. Unter anderem deswegen fordert das 2004 aktualisierte Gesetz gegen den unlauteren Wettbewerb (UWG) das Vorhandensein eines Abmeldelinks in solchen Newslettern. Allerdings zeigt die Praxis, dass Spammer das Anklicken eines Abmeldelinks häufig als Bestätigung ansehen, dass Mails an die be- 11. Detaillierter zur Rechtslage [EGG04c] mit zahlreichen weiteren Quellen. No Spam! 21

22 2 Was ist Spam? spammte Adressen tatsächlich gelesen werden. Solche Adressen werden als verified unter Spammern zu deutlich höheren Preisen gehandelt. Deshalb ist es in aller Regel nicht zu empfehlen, einen solchen Link anzuklicken 12. Nicht nur wegen der häufig mit dem Klick auf einen vorgeblichen Abmeldelink verbundenen Gefahren ist die Form des Widerspruchs dem Widersprechenden überlassen. Insbesondere stellt die Zusendung einer Abmahnung mit Aufforderung zur Abgabe einer Unterlassungserklärung einen Widerspruch gegen die Zusendung von weiteren Newslettern dar. Der Vorteil eines Widerspruchs per Fax oder Brief ist zudem die Beweisbarkeit. Denn die Beweispflicht für den erfolgten Widerspruch liegt beim Empfänger der Werbung. Zulässig ist es, Empfängern auf deren ausdrücklichen Wunsch hin s mit werbendem Inhalt zuzusenden. Diese Werbung wird zumeist als Newsletter bezeichnet. Beweispflichtig für die Eintragung in den Newsletter ist der Versender. Daher empfiehlt sich die Verwendung eines qualifizierten Double-Opt- In-Verfahrens, um zu verhindern, dass missbräuchlich -Adressen Dritter ohne deren Zutun eingetragen werden. Mit diesem Verfahren befasst sich Kapitel 9. Wie genau diese Zustimmung zur Zusendung von -Werbung jedoch aussehen muss, ist nicht festgelegt. Häufig konstruieren daher zwielichtige Anbieter bei Kontaktaufnahme eine Zustimmung über ein Kontaktformular oder bei Teilnahme an einem Gewinnspiel über die angeblich einbezogenen AGB. Dabei steht entweder unterhalb des Eingabeformulars im Kleingedruckten, dass der Absender der Nutzung seiner -Adresse zu werblichen Zwecken zustimmt, oder aber, der Surfer muss den Teilnahmebedingungen, die in diesem Fall aus rechtlicher Sicht AGB darstellen und eine entsprechende Regelung enthalten, zustimmen. Aus meiner Sicht ist es fraglich, ob bei einer allgemeinen Anfrage an ein Unternehmen über ein Kontaktformular ein Vertrag zustande kommt, der die Einbeziehung von AGB rechtfertigen würde: Es fehlt am Vertragsbindungswillen des potenziellen Kunden, der Bedingung für einen Vertragsschluss ist. Kommt aber kein Vertrag zustande, dann können erst recht keine AGB, die ja ein vorformuliertes Vertragswerk darstellen, Vertragsbestandteil werden. Im Fall der Gewinnspielteilnahme wäre kritisch zu prüfen, ob eine Bedingung, die erhaltenen Daten des Teilnehmers an Dritte weitergeben zu dürfen, und das 12. Siehe dazu z.b. [GOO04] 22

23 Unsolicited Bulk Zwangsabonnement eines Newsletters nicht überraschende Klauseln sind, mit denen ein Teilnehmer nicht zu rechnen braucht. Die Rechtslage ist hier meiner Ansicht nach jedenfalls neu zu beurteilen und nicht zwangsläufig mit Gewinnspielen, an denen man z.b. durch Ausfüllen einer Postkarte teilnimmt, vergleichbar: Zum einen muss der Absender Postkarten nicht vollständig ausfüllen, was bei Online-Spielen durch entsprechende Programmierung verhindert werden kann, und zum anderen verursacht die postalische Zusendung von Werbung, die bei Offline-Gewinnspielen die übliche Konsequenz ist, anders als -Werbung beim Empfänger keine Kosten. Die rechtswissenschaftliche Literatur schweigt sich allerdings zu dieser Frage derzeit noch aus. Auch in der Rechtsprechung findet sich noch kein entsprechendes Urteil. 2.3 Unsolicited Bulk Unter UBE versteht man alle unerwünscht eintreffenden Massenmails unabhängig von ihrem Inhalt und Absender. UCE ist also eine Untermenge von UBE: Jede Spammail ist UBE, aber nicht jede UBE ist Spam. Die massenhaft eintreffenden und überaus lästigen Wurm-Mails, die von infizierten Rechnern mit dem Ziel, die Infektion zu streuen, automatisch versandt werden, sind kein Spam. Bei ihnen handelt es sich ebenso um UBE wie bei mancher lästigen aus dem Bekanntenkreis, in der ein Absender Belanglosigkeiten an sein gesamtes Adressbuch versendet, ohne die Blind-Carbon-Copy-Funktion (Blind-CC, BCC) seines -Programms zu nutzen. Damit verstößt der Absender nicht nur vollumfänglich gegen die Netiquette 13 und handelt sich so schnell den Ruf eines DAU (DAU, dümmster anzunehmender User) ein, sondern er liefert auch gleichzeitig -Würmern Futter: Die durchsuchen mittlerweile s auf infizierten Systemen nach Mailadressen neuer Opfer. Die Unterscheidung zwischen UBE und UCE ist notwendig, da Würmer beim Sammeln von Adressen ihrer Opfer andere Verfahren verwenden. Daher sind gegen Würmer die gängigen Anti-Spam-Verfahren machtlos effektiver ist der Einsatz eines Virenscanners auf dem Mailserver, der ähnlich wie z.b. 13. Siehe dazu: [FREY02] und [RFC1855] No Spam! 23

24 2 Was ist Spam? ClamAVs Milter für Sendmail 14 Viren und Würmer bereits im SMTP-Dialog abblockt. Zudem sollten Arbeitsplatzrechner durch Firewallsysteme und aktuelle Virenscanner geschützt werden und Anwender im Umgang mit Viren geschult sein. Gerade die Anwenderschulung ist vor dem Hintergrund der zunehmenden Verbreitung von Viren und Würmern mittels Trojaner, die einen Menschen für ihre Ausführung brauchen, eine vielfach unterschätzte Sicherheitsmaßnahme, die großes Potenzial birgt. Die folgenden Maßnahmen zielen einzig auf die Bekämpfung von echtem Spam ab. Gegen UBE, insbesondere das von Würmern verursachte, sind sie machtlos. Aber dagegen existieren ja bereits effektive Mittel. 14. ClamAV ist ein OpenSource-Virenscanner, den es auf gibt, und Sendmail ist der wohl am weitesten verbreitete Mailserver, zu finden unter Milter ist ein Kunstwort, das aus Mail-Filter entstanden ist und eine Sendmail- Schnittstelle zum Filtern von Mails beschreibt. Mehr dazu u.a. in [EGG05d] 24

25 3 Woher haben Spammer die Mailadressen? 3.1 Freiwillige Eingabe Spammer kennen im Wesentlichen zwei Methoden, um an die -Adressen ihrer Opfer zu gelangen: Entweder überzeugen sie ihre potenziellen Opfer, ihre -Adresse auf Webseiten, Papierformularen oder telefonisch freiwillig zu verraten, meist unter Vorspiegelung eines Gewinnspiels oder eines freien Zugangs zu meist zwie- bzw. rotlichtigen Seiten. Im Rahmen zweifelhafter AGB, häufig auch Teilnahmebedingungen genannt, holen sie sich vom Opfer sogar noch die Erlaubnis, die so gewonnene -Adresse auch an Dritte weitergeben zu dürfen. 3.2 Adressen im Internet automatisch sammeln Die alternative Methode setzt nicht auf Leichtgläubigkeit, sondern auf Suchroboter, und lässt sich damit vom Anwender selbst viel schlechter kontrollieren als die freiwillige Weitergabe der -Adresse Durchsuchen von Internetseiten Es ist ohne Probleme und ohne großen Aufwand möglich, aus Internetseiten automatisch -Adressen herauszusuchen. Dafür ist (theoretisch) kein besonderes Know-how, sondern lediglich ein leistungsstarker Rechner mit einem breitbandigen Internetzugang notwendig. Die verbleibende Arbeit erledigen Linux-Bordmittel oder einige wenige Zeilen in einer Script-Sprache wie Perl 15. Es gibt auch zahlreiche fertige Programme für solche Zwecke, wie z.b. Hunter! oder Spider. Eine Zeit lang wurden diese Programme sogar für T-Online-Kunden im Download-Bereich von T-Online zur Verfügung gestellt. 15. Hinweise zur Programmierung von Spidern und damit auch Harvestern liefert z.b. [HEM03] No Spam! 25

26 3 Woher haben Spammer die Mailadressen? Diese Sammelprogramme sind technisch eigentlich primitiv, denn man muss nur einen kleinen Pseudo-Browser schreiben, der Internetseiten abruft und nach allem sucht, was aussieht wie ein Link oder eine -Adresse. Links verfolgt das Programm, um möglichst viele Seiten im Internet zu erreichen. Durch gegenseitige Links zwischen Webseiten besteht die Gefahr, dass eine Art Ring entsteht. Das Programm soll daher jede Seite nur genau einmal aufsuchen, um sich nicht in einer Endlosschleife zu verheddern. Besuchte Seiten müssen also protokolliert werden. Die -Adressen lassen sich sehr einfach über so genannte regular expressions 16 im HTML-Code finden und auslesen. Dabei können natürlich -Adressen auf verschiedenen Seiten genannt werden, so dass man einige Doubletten hat. Um diese zu eliminieren, wandelt man sie mit dem Unix-Befehl tr einheitlich in Kleinbuchstaben um, so dass beim anschließenden Sortieren mit dem Programm sort nicht unterschiedliche Groß- und Kleinschreibung Verwirrung stiftet. Jetzt kann uniq Doubletten erkennen und entsorgen. Das Ergebnis dieser Operationen schreibt man in eine Datei, die man dann dem Mail-Programm als Eingabe liefert. Für die Suche muss ein günstiger Einstiegspunkt gewählt werden. Webverzeichnisse wie Yahoo bieten sich an, da hier unzählige Links auf jede Menge Seiten gelistet sind. Damit wird sehr schnell möglichst viel Internet 17 abgegrast: Die Zahl der gefundenen -Adressen lässt sich so maximieren. Um Ihnen einen Eindruck davon zu verschaffen, wie einfach dieses Verfahren ist, gebe ich Ihnen zwei Linux-Befehlszeilen an, die eine solche Suche durchführen können. wget --user-agent="mozilla/4.0 (compatible; MSIE 5.01; Windows 98)" -r --span-hosts -t1 --ignore-length --reject gif,jpg,jpeg,png,mpg,mpeg,avi,zip,gz,tar,css,js [RET] 16. Eine Einführung in regular expressions, eine Methode zur Erkennung von bestimmten Mustern in Zeichenketten, findet sich in [EGG05] oder auch [SEL02],[FRI02] oder [STU03]. Das Konzept stammt aus der theoretischen Informatik, die mit regulären Ausdrücken so genannte reguläre Sprachen konstruiert. 17. Ich verwende hier den Begriff Internet und World Wide Web (www) synonym: Das ist zwar technisch nicht korrekt, entspricht aber dem Sprachgebrauch. 26

27 Adressen im Internet automatisch sammeln grep -rhie "mailto:"./ sed "s/.*mailto:\([a-z0-9_-]\+\(\.[a-z0-9_- tr "[:upper:]" "[:lower:]" sort uniq > adressen.txt [RET] Dabei handelt es sich bei der vorgeschlagenen Lösung bewusst noch längst nicht um eine Optimallösung: Zum einen werden alle Internetseiten vollständig auf der Platte zwischengespeichert und erst dieses Ergebnis wird anschließend auf -Adressen untersucht. Sie ahnen sicher, dass dies bei der Vielzahl von vorhandenen Seiten einen schier unendlichen Speicherplatzbedarf bedeuten würde. Zum anderen überprüft das hier verwendete Programm wget, ob eine Datei robots.txt existiert, mit der Webseiten-Programmierer solchen automatischen Suchprogrammen den Zugriff auf bestimmte Seitenteile verbieten können 18. Allerdings ist dies eine Konvention, die nur von anständigen Entwicklern eingehalten wird, technisch jedoch problemlos zu umgehen ist und auch umgangen wird. So kann beispielsweise wget über die Konfigurationsdatei.wgetrc entsprechend konfiguriert werden, genauere Angaben enthalten die Info-Pages von wget. Die erste Befehlszeile startet also das Programm wget, das sich dabei als Internet Explorer ausgeben soll, um in den Logfiles der Seitenbetreiber keine verdächtigen Eintragungen zu hinterlassen. Die zusätzlichen Parameter bringen wget dazu, ausschließlich HTML-Seiten herunterzuladen und Links auch über unterschiedliche Server zu verfolgen. wget hat den Vorteil, selbst in der Lage zu sein, Links in den Seiten zu extrahieren und zu verfolgen. Somit konnten wir uns hier Entwicklungsarbeit sparen. In der zweiten Befehlszeile werden die gespeicherten Seiten auf dem Rechner nach -Adressen durchsucht und diese extrahiert. Dies leistet der Befehl grep in Zusammenarbeit mit sed. grep greift dabei alle Zeilen heraus, in denen die Zeichenfolge mailto: vorkommt. Diese markiert in einem HTML-Link eine -Adresse. sed verwendet dann eine regular expression, mit der es aus dem HTML-Link die -Adresse extrahiert. 18. Eine genaue Beschreibung des Formats und Beispiele finden sich in [KOS94] und [W3CAPPB] No Spam! 27

28 3 Woher haben Spammer die Mailadressen? Anschließend werden die -Adressen mittels des Hilfsprogramms tr vollständig in Kleinbuchstaben umgewandelt, alphabetisch sortiert (sort) und dann von Doubletten mittels uniq befreit. Das Ergebnis dieser Arbeit wird in die Datei adressen.txt geschrieben, die problemlos von jedem anderen Programm genutzt werden kann. Zwar ist die hier vorgestellte Lösung noch weit von einem Optimum entfernt, insbesondere die aufwendige Zwischenspeicherung der Webseiten auf der Platte ist ungünstig. Auch lassen sich unter Umständen -Adressen, die nicht in einer Zeile stehen, nicht fehlerfrei extrahieren und auch so genannte Session-Ids würden von wget nicht korrekt erkannt und interpretiert, weshalb noch Endlosschleifen entstehen könnten. Allerdings ist es beeindruckend, dass man ohne eine einzige Zeile programmieren zu können, nur unter Verwendung von Unix-Bordmitteln, schon einen Minimal-Harvester (harvester, engl. Erntemaschine ) erstellen kann. Der Einsatz von Perl und des LWP-User-Agent führt ähnlich schnell zu Ergebnissen jedoch lassen sich dann durch eigene Programmierarbeit die Nachteile des einfachen wget-harvesters beseitigen. Alternativ kann man auch wget für diesen Zweck umprogrammieren, schließlich ist es ein OpenSource-Programm, so dass der Quellcode vorliegt und sich beliebig anpassen lässt. Tatsächlich ist der Einsatz solcher Harvester derzeit das beliebteste Verfahren. Der Aufwand ist bei richtiger Programmierung, die mittlerweile Spammern auch schon abgenommen wird, weil entsprechende Software in großem Umfang im Internet angeboten wird, minimal. Zudem kommen, bei geeigneter Wahl des Startpunkts der Suche, in kürzester Zeit Tausende von -Adressen heraus, wie ich durch eigene Tests 19 gezeigt habe und was Sie jederzeit leicht durch Eingabe der Befehlszeilen oben verifizieren können Newsgroups und ähnliche Quellen Beliebt sind ferner das automatische Durchkämmen von Mailinglisten-Archiven, was häufig auf eine automatische Suche über Internetseiten hinausläuft, und das Durchsuchen von Newsgroups, den schwarzen Brettern des Internets. 19. Siehe dazu: [CDT03], [EGG04], [EGG04a], [EGG05a], [EGG05b] und [EGG05c] 28

29 Adressen im Internet automatisch sammeln Vorteil ist, dass hier im Allgemeinen jeder Newsgroup-Post einen Treffer liefert und häufig die Adressen valide sind und gelesen werden. Nachteilig dabei ist, dass zumindest für die Suche in Newsgroups etwas mehr Aufwand notwendig ist, den die meisten Spammer anscheinend scheuen. Allerdings wird dieser Nachteil durch zahlreiche Webseiten, die Newsgroups in das WWW spiegeln und somit in Form von Webseiten anbieten, schnell kompensiert. Der bekannteste Dienst für diesen Zweck dürfte Google Groups sein, der aus oben genanntem Grund mittlerweile -Adressen in seinem News-Archiv verkürzt und damit verfälscht darstellt. Auch die Whois-Einträge zu Domainnamen werden von Spammern genutzt: Dort muss eine gültige -Adresse eingetragen sein, die automatisch ausgelesen werden kann. In einem Beitrag in der einschlägigen Newsgroup de.admin.net-abuse.mail berichtete Can Filip Sakrak im Dezember 2004, dass auch PGP-Key-Server 20 nach -Adressen abgesucht würden. Allerdings sind diese beiden Methoden derzeit noch eher selten und auch kaum lohnend, da zahlreiche Anwender dort nicht gelistet sind Erraten von Adressen -Adressen lassen sich auch erraten. So gibt es in den Requests for Comments (RFC), die eine Art Internetnorm darstellen, eine Empfehlung, welche Adressen unter jeder Domain vorhanden sein sollten. Dies sind, neben einigen anderen, info, webmaster, hostmaster und postmaster, also Adressen, denen bestimmte Funktionen in Zusammenhang mit Servern zugeordnet sind. Hat man nun eine Liste von Domains, so kann man auf gut Glück versuchen, an diese Adressen unter den jeweiligen Domains seinen Werbemüll zu versenden, und hat, sofern die Mailserver ordentlich konfiguriert sind, bereits eine hohe Trefferquote. Tatsächlich erhalte ich regelmäßig an solche Accounts beliebt ist vor allem webmaster und postmaster Spam. Allerdings wird diese Methode zunehmend unbeliebt, da diese Adressen häufig fortgeschrittenen Anwendern oder gar Administratoren zugeordnet sind, die sich massiv gegen Spam wehren und damit zu starke Gegner darstellen. 20. PGP dient zur asymmetrischen Verschlüsselung von s. Die öffentlichen Schlüssel werden auf so genannten Key-Servern bereitgestellt. Siehe auch: [EGG04e] oder z.b. [SCHWE02] No Spam! 29

30 3 Woher haben Spammer die Mailadressen? Ein anderes Verfahren, das sehr lange z.b. bei web.de funktionierte, war das Erraten von -Adressen. Da web.de einer der größten -Anbieter in Deutschland ist und die meisten Anwender Adressen der Form bzw. Variationen davon bevorzugen, lassen sich mit Hilfe eines Telefonbuchs schon eine Menge Adressen raten. web.de unterstützte diese Methode versehentlich längere Zeit, da es beim Empfang einer schon beim Lesen des SMTP-Envelope 21 überprüfte, ob der Empfänger der Mail existiert, und eine entsprechende Positiv- oder Fehlermeldung generierte. Dadurch ließen sich Adressen sehr schnell verifizieren. Mittlerweile macht auch web.de das, was zahlreiche Mailserver schon lange vorher taten: Sie nehmen die Mail zunächst anstandslos an, um später eine Fehlermeldung zu generieren. Dieses Verfahren ist deshalb günstiger, weil die Verifikation von Adressen so wesentlich mehr Aufwand bedeutet und zudem nicht nur den Mail-Server auf Empfängerseite belastet, sondern auch den des Absenders, der ja die eingehenden Fehlermeldungsmails verarbeiten muss sofern die Absenderadresse existiert und nicht gefälscht ist. Sonst entstehen Schleifen von Fehlermeldungsmails oder es werden unbeteiligte Dritte mit Fehlermeldungen regelrecht bombardiert. Analog war früher auch das Erraten von -Adressen bei AOL sehr einfach: Es gab eine maximale Länge für den so genannten local part, also die Zeichenfolge, die links steht. Aufgrund des begrenzten Zeichenvorrats, der für den local part in Frage kommt, lassen sich allein durch Ausprobieren ausreichend viele gültige Adressen finden. Diesen Aufwand zu betreiben, waren Spammer auch nicht immer gewillt so kaufte ein Spammer einem mittlerweile ehemaligen AOL-Mitarbeiter für US$ einfach ein Kundenverzeichnis mit -Adressen ab. Ebenso war es eine Zeit lang möglich, T-Online-Adressen zu erraten: Jeder Nutzer hatte eine aus seiner Telefonnummer inklusive Vorwahl und einer zusätzlichen eindeutigen Zahlenfolge bestehende -Adresse. Die Telefonnummern lassen sich wiederum automatisch aus dem Telefonbuch generieren das gibt es zweckmäßiger Weise auf CD-ROM oder online, jeweils mit der Möglichkeit, die Zielgruppe sogar räumlich einzugrenzen. 21. Ein virtueller Briefumschlag einer , den Mailserver generieren und auch wieder entfernen. In Ihrem Mailprogramm bekommen Sie ihn nie zu Gesicht. 30

31 Adressen im Internet automatisch sammeln Aus diesen Darstellung lässt sich folgern, dass die Wahl eines kleineren Providers unter Umständen günstiger sein kann. Zudem sollte die -Adresse nicht allzu leicht zu erraten sein was die Nutzbarkeit für den Besitzer der Adresse wiederum einschränkt: Eine beliebige Zeichenfolge mit Sonderzeichen lässt sich nun mal schwer kommunizieren und an Dritte weitergeben Adresshandel Ein weiteres Standbein für Spammer, vor allem für die, die nicht einmal in der Lage sind, die eben geschilderten einfachen Such- und Ratemethoden zu nutzen, liefert der Adresshandel: Dritte generieren nach den oben beschriebenen Verfahren -Adressen und verkaufen sie dann an neue Spammer. Häufig werden diese Adresslisten wiederum durch Spam beworben also Spam für Spam, eine Art Meta-Spam. Ein Beispiel für so eine Meta-Spam-Mail zeigt Abbildung 3.1. Abb. 3.1: Meta-Spam: Diese Mail wirbt Spammer-Nachwuchs No Spam! 31

32 3 Woher haben Spammer die Mailadressen? Teilweise bleiben solche Adresslisten mehrere Jahre im Handel : Dadurch können plötzlich neu eingerichtete, aber noch nicht publizierte -Adressen Opfer von Spam werden, nur weil diese Adresse bereits vor einiger Zeit von jemand anderem genutzt wurde. Solche Listen findet man immer wieder auch z.b. bei ebay im Angebot. Die Preise beginnen bei einigen wenigen Euro für einige Millionen Adressen. 32

33 4 Grundlegende Vorsichtsmaßnahmen Ziel ist das Entwickeln von Methoden, mit deren Hilfe sich Spam möglichst frühzeitig vermeiden lässt. Bereits einige einfache Grundregeln können dazu einen wertvollen Beitrag leisten. 4.1 Umgang mit Mailadressen Eine hohe Spam-Vermeidungsquote erreicht man bereits, indem man kritisch überprüft, wem man wann seine Mailadresse mitteilt: So ist es in aller Regel nicht empfehlenswert, auf Webseiten z.b. in Gästebüchern oder Foren die eigene Mailadresse anzugeben. Genauso wenig sollte die Mailadresse auf Postkarten für Gewinnspiele oder auf Messeständen eingetragen werden. Häufig stellt die anschließend erhaltene Werbung zwar subjektiv Spam dar, objektiv juristisch gesehen ist sie jedoch mit Einwilligung des Empfängers zugesandt und damit eben gerade kein Spam mehr. Auch mit den Mailadressen Dritter sollte sorgfältig umgegangen werden: E- Mails an mehrere Personen sollten außer die Empfänger kennen sich alle gut untereinander nicht über das To:-Feld, sondern über das Bcc:-Feld versandt werden. Bcc steht für Blind Carbon Copy. Die im Bcc:-Feld angegebenen Empfänger erhalten die Nachricht, jedoch erfahren die anderen Adressaten nichts von diesen Empfängern. Die Adressen sind also für alle anderen unsichtbar. Das hat zwei Vorteile: Zum einen können Würmer, die vermehrt zum Spam- Versand eingesetzt werden, diese Adressen auch nicht erkennen sie finden also weniger Opfer. Zum anderen kann der Empfänger nicht aus Versehen eine Antwort an alle senden. Das wäre dann zwar formal kein Spam, ist aber fast genauso lästig. Als Nebeneffekt können Dritte nicht versehentlich eine Adresse an Spammer weitergeben: Sie kennen sie ja gar nicht. No Spam! 33

34 4 Grundlegende Vorsichtsmaßnahmen 4.2 Wegwerfadressen Sollten Sie tatsächlich einmal an einem Gewinnspiel teilnehmen wollen oder es aus sonstigem Grund für nötig halten, eine -Adresse anzugeben, empfiehlt sich der Einsatz von Wegwerfadressen. Es gibt Anbieter, bei denen man -Adressen generieren kann, die nur für eine bestimmte Zeit gültig sind. Das ist vorteilhaft, wenn Sie sicher wissen, wann die Antwort eintreffen wird. Einen solchen Dienst bietet Spamhole unter an. Jedoch muss man sich dort für jede neu zu erzeugende -Adresse erneut einloggen, was die Nutzung etwas umständlich macht. Die Alternative sind -Adressen, die bei Bedarf vom Mailserver des Providers automatisch erzeugt werden: MyTrashMail ( und dodgeit ( erlauben es, eine an einen beliebigen Local-Part 22 unter den jeweiligen Domains zu schicken. Die empfangenen s können dann über eine Weboberfläche abgerufen werden. Dazu muss kein Passwort angegeben werden, auch muss diese - Adresse nicht vorher auf der Webseite eingetragen werden. Zum Login reicht es aus, den richtigen Local-Part anzugeben. Das ermöglicht es auch Dritten, s zu lesen, indem sie den Local-Part erraten. Beim Testen der verschiedenen Angebote konnte ich so mit someone als Local- Part interessante (?) Nachrichten lesen. Immerhin können s bei MyTrashMail gelöscht werden bei dodgeit nicht, was im Allgemeinen nicht tolerabel sein dürfte. Zudem hat während meiner Tests dodgeit einige s nicht angenommen, was gegen eine praktische Nutzung spricht. MyTrashMail bietet zudem die Möglichkeit, Antwortmails direkt über die Weboberfläche zu senden. Damit bietet MyTrashMail zusammen mit einem Anonymisierdienst wie z.b. dem Java Anonymous Proxy der TU-Dresden ( eine einfache Möglichkeit, anonym zu mailen. Eine andere Lösung, zeitlich unbegrenzt gültige, aber mengenmäßig limitierbare Accounts zu erzeugen, bietet Spamgourmet ( Dabei werden die von Spamgourmet empfangenen Nachrichten für 22. Der Teil der Mailadresse vor -Symbol 34

35 Wegwerfadressen den Absender unsichtbar und vor allem unbemerkt an die eigene - Adresse weitergeleitet. In diesem Zusammenhang kann man für jede Spamgourmet- -Adresse unter dem eigenen Benutzernamen einstellen, wie viele s weitergeleitet werden sollen. Treffen danach noch s ein, werden sie automatisch von Spamgourmet gelöscht. Das Praktische an diesem Dienst ist, dass Spamgourmet-Adressen jederzeit und ohne die Webseite des Dienstes besuchen zu müssen, generiert werden können. Damit ist die Funktionalität vergleichbar mit der Lösung von My- TrashMail, sie bietet jedoch den Vorteil, s per SMTP weiter an ein definiertes Postfach zuzustellen, und ist damit für Dritte nicht so einfach einzusehen. In einer erweiterten Konfiguration kann man sogar einrichten, dass Antworten, die vom eigenen, regulären Mailaccount aus gesendet werden, getarnt werden und als Absender die für diese Kommunikation gewählte Spamgourmet- Adresse verwendet wird. Allerdings übernimmt Spamgourmet keine Anonymisierung aus dem Header einer Antwortmail ist der Absender unter Umständen noch ersichtlich. Dieses Problem lässt sich aber mit einem - Anonymisierdienst 23 bei Bedarf beheben. Die Weboberfläche von Spamgourmet bietet zusätzliche Optionen an. So ist es beispielsweise möglich, Absender einzurichten, die bei der Zählung der -Anzahl nicht berücksichtigt werden. Außerdem lässt sich nachträglich die Zahl der zulässigen Mails verändern. Zusätzliche Optionen ermöglichen es auch paranoiden Nutzern, mit diesem Dienst glücklich zu werden: So kann man das Muster der -Adressen beeinflussen, ein Raten durch einen Spammer wird somit unmöglich gemacht oder deutlich erschwert. Im Vergleich zu dodgeit und MyTrashMail bietet Spamgourmet den Vorteil, die s für Dritte nicht so einfach zugänglich zu machen. Außerdem lassen sich bei Spamgourmet die benötigten Adressen on-the-fly generieren, die empfangenen s werden an das reguläre Postfach weitergeleitet. Ein Besuch auf einer Webseite entfällt im Gegensatz zu Spamhole. 23. Diese Dienste nennt man anonymous r er und lassen sich, sucht man nach diesem Begriff bei Google, in großer Menge finden. Siehe dazu auch: [EGG05h] No Spam! 35

36 4 Grundlegende Vorsichtsmaßnahmen 4.3 Newsletter und Ähnliches Spamgourmet kann auch für Newsletter eingesetzt werden, indem bestimmte Absender auf eine White-List gesetzt werden und somit von der Zählung ausgenommen sind. Allgemein sollten für Newsletter-Abos oder Bestellungen bei Unternehmen besondere, eigene Mailadressen verwendet werden. Dadurch lässt sich die private Post von solchen Nachrichten trennen und sehr einfach, ohne den Bekanntenkreis mit einer neuen Adresse belästigen zu müssen, die für Newsletter eingesetzte Adresse deaktivieren. Häufig wird vorgeschlagen sofern man über einen eigenen Mailserver verfügt, für jedes Unternehmen eine eigene Adresse zu verwenden. Damit ließen sich Weiterverkäufer von Adressen leicht identifizieren und man kann die Adresse bei Missbrauch individuell sperren. Geht man davon aus, dass wesentlich häufiger Adressen neu angelegt werden, als welche blockiert werden müssen, so lässt sich diese Lösung nur sinnvoll mit einem Mailserver realisieren, der über eine so genannte Catch-All-Funktion verfügt. Dabei wird zunächst geprüft, ob die Empfängeradresse eigens definiert wurde. Ist das nicht der Fall, wird sie an eine definierte Adresse weitergeleitet. In sendmail 24 lässt sich das in der virtusertable leicht einstellen. So alle Mails, die unter der Domain mail.example.com eingehen, mit unverändertem Local-Part an die Domain example.com weiter. Aus wird damit Einen wahren Catch-All erzeugt die folgende catchall Damit werden alle Mails, die an eine beliebige, nicht anderweitig in der virtusertable definierte Adresse unter der Domain example.com gehen, an den lokalen Benutzer catchall weitergeleitet. 24. Ausführlichere Informationen zu Sendmail und dessen Konfiguration liefert [COS97] 36

37 Keinesfalls: gefälschte Absenderadressen Mit dieser Konfiguration lassen sich neue -Adressen bei Bedarf wie bei Spamgourmet schnell anlegen, insbesondere ist eine Bearbeitung der virtusertable nicht notwendig. Allerdings muss zum Blockieren von Adressen die virtusertable bearbeitet werden: error:nouser User unkown Dadurch werden s an die Adresse schon im SMTP-Dialog mit der Fehlermeldung User unkown und dem entsprechenden SMTP-Fehlercode geblockt. Damit werden sie gar nicht mehr angenommen. Ähnliche Konfigurationsmöglichkeiten bietet auch das für seine Sicherheit und Stabilität bekannte Mailserver-Programm qmail, erhältlich unter Auf der qmail-webseite findet sich eine an sich ausreichende Dokumentation. Wer gedruckte Unterlagen bevorzugt, sollte einen Blick in [SIL01] oder [MAT97], [BER03] und [BER03a] werfen. Analog gilt das für den sehr bekannten Mailtransferagenten Postfix, für den [HEIN04] wohl das Standardwerk schlechthin sein dürfte. Der Einsatz von Wegwerfadressen hilft somit, dem Adresshandel vorzubeugen und Adresshändler zu identifizieren. Ob jedoch die Aussage, man habe die Adresse ausschließlich an das Unternehmen XY kommuniziert und somit sei dieses Unternehmen für den Weiterverkauf der Adresse verantwortlich, vor Gericht einen ausreichenden Beweis darstellt, steht auf einem anderen Blatt. Die einfache Sperrmöglichkeit und die Option, Gute von Bösen zumindest für den eigenen Bedarf zu trennen, sind jedenfalls Pluspunkte dieses Verfahrens. Der Einsatz externer Anbieter wie Spamgourmet verringert den eigenen Konfigurationsaufwand und spart eigenen Netzverkehr. 4.4 Keinesfalls: gefälschte Absenderadressen Für die Verwendung in Newsgroups oder in den immer beliebter werdenden Internetdiskussionsforen wird häufig vorgeschlagen, gefälschte Absenderadressen zu verwenden. Zwar verhindert das nachhaltig Spam beim Verwender der Adresse, es kann aber leicht einen unbeteiligten Dritten zum Opfer machen. Entweder, weil dieser zufällig die (vermeintlich nicht existente) Adresse No Spam! 37

38 4 Grundlegende Vorsichtsmaßnahmen tatsächlich besitzt, oder aber, weil er als gefälschter Absender für den Spam herhalten musste und daher mit Fehlermeldungen überschüttet wird. Gerade das Problem, eine Adresse zu besitzen, von der keiner ihre Existenz annimmt, kenne ich aus eigener Erfahrung: Ich hatte jahrelang die -Adresse und Iname ist ein Webmail-Anbieter, der ähnlich wie GMX oder web.de funktioniert und vor allem auf dem nordamerikanischen Kontinent entsprechend verbreitet ist. ACME kennen sicherlich alle Tom & Jerry-Freunde unter Ihnen und auch viele andere: In fast allen Zeichentrickserien steht ACME zur Vermeidung von Schleichwerbung als Firmenname auf verschiedensten Produkten. Die meisten behaupten, es sei ein Akronym für A Company that Manufactures Everything. Die Adresse nospam@acme.com riecht also auch nach Fälschung. Leider stellten beide Anbieter ihre Dienste in der ursprünglichen Form ein, so dass Sie mich nicht mehr unter diesen schönen Adressen erreichen können. Im worst case könnten, wenn die gefälschte Absenderadresse auch nicht existiert, Schleifen zwischen den zwei Mailservern, die gegenseitig immer wieder versuchen, eine (Fehlermeldungs-)Mail zuzustellen, entstehen, was unnötige Netzlast zur Folge hat. Wegen dieser unschönen Nebeneffekte ist der Einsatz von gefälschten Adressen nicht zu empfehlen der gleiche Effekt lässt sich über Wegwerfadressen genauso erreichen. Alternativ sind lediglich noch nach /dev/null geerdete Adressen sinnvoll. Dabei wird automatisch jede an diese Adresse eingehende Mail in den unendlich großen virtuellen Papierkorb /dev/null weitergeleitet und somit ohne hässliche Fehlermeldungen entsorgt. 4.5 Webtelefonbücher Im Internet gibt es diverse -Telefonbücher, Personensuchdienste und Ähnliches. Zwar können diese Dienste bei der Suche nach einer Person durchaus nützlich sein, aber sie stellen gleichzeitig eine Fundgrube für Spammer dar. Daher ist es nicht empfehlenswert, sich auf einer solchen Seite einzutragen. Möchte man wirklich unter seinem Namen im Internet auffindbar sein, scheint es zweckmäßiger, eine im Sinne von Suchmaschinen sinnvoll gestaltete Ho- 38

39 Spammer beim Sammeln identifizieren mepage zu betreiben, über die man für Menschen, nicht jedoch für Spammer auffindbar ist. 4.6 Spammer beim Sammeln identifizieren Da Spam fast ausschließlich aus dem Ausland versandt wird, aber häufig genug inländische, dubiose Unternehmen bewirbt, liegt es aus präventiver Sicht nahe, den inländischen Hintermännern das Handwerk zu legen. Jedoch müssen diese dazu zunächst identifiziert werden können. Das lässt sich sehr einfach über die von ihnen verwendeten Harvester realisieren: Präsentiert man jedem Besucher einer Webseite eine eigens für diesen Besucher generierte -Adresse, dann sammelt jeder Harvester auch diese individuelle Adresse. Es muss dabei sichergestellt sein, dass eine solche -Adresse eindeutig ist und eineindeutig der IP-Adresse des Harvesters und seinem exakten Besuchszeitpunkt zugeordnet werden kann. Denn dann lässt sich der Rechner, von dem aus gesammelt wurde, zweifelsfrei identifizieren. Dabei besteht im Zweifel gegen den Provider des Spammers nach 13a Unterlassungsklagengesetz (UklaG) ein Herausgabeanspruch bezüglich der Daten des Spammers, sollte eine einfache Whois-Anfrage nicht bereits die notwendigen Informationen liefern. Damit kann gegen die deutschen Hintermänner vorgegangen werden und diese gerichtlich auf Unterlassung in Anspruch genommen werden, wodurch sich die Zahl der potenziellen Spammer um einen reduziert. [REHWWW] stellt die Idee und die benötigte Software vor. [REHWWW] berichtet auch von einem konkreten Fall, bei dem deutsche Hintermänner von Spam ausgemacht werden konnten. Leider wurde in diesem Fall bislang noch keine Klage erhoben, so dass keine Gerichtsentscheidung dazu vorliegt. 4.7 SMTP-Teergruben [REHWWWa] und [DON04a] möchten Spammern zusätzlich gezielt präparierte Mailadressen anbieten, für die ein besonders konfigurierter, sehr langsamer Mailserver zuständig ist. Durch die besonders langsamen Antworten des Mailservers soll der Mailversand des Spammers insgesamt ausgebremst werden. No Spam! 39

40 4 Grundlegende Vorsichtsmaßnahmen Ich halte das Verfahren allerdings nur für eingeschränkt wirkungsvoll, da es einer sehr weiten Verbreitung bedarf, um seine Wirkung entfalten zu können. Das liegt daran, dass ein Spammer üblicherweise zum Mailserver des Empfängers eine Verbindung aufbaut, über die er beliebig viele Mails für diesen Mailserver einliefern kann. Hat also ein Spammer z.b. 100 Mailadressen unter einer Domain eingesammelt, dann kann er Mails an alle diese Mailadressen in einer einzigen Verbindung mit dem Mailserver einliefern. Da die Bremsfunktion nur die bestehende Verbindung betrifft, wird der Versand an andere Mailserver nicht behindert, denn der erfolgt typisch parallel: Jeder Rechner ist theoretisch in der Lage, ca parallele Verbindungen zu verschiedenen Servern zu unterhalten. Damit müsste ein großer Anteil aller Mailserver mit solchen Teergruben ausgerüstet werden, um wirklich effektiven Schaden bei Spammern hervorzurufen. Andererseits liegen mir aber auch s von Anwendern solcher Verfahren vor, in denen sie für deren Einsatz von Spammern wüst beschimpft und bedroht wurden. Technisch gesehen wird bei solchen Teergruben der SMTP-Dialog künstlich maximal verzögert, um den ausliefernden Mailserver, der vermutlich einem Spammer zuzuordnen ist, auszubremsen. Sind ausreichend viele solcher Teergruben im Einsatz, hofft man, damit den Spammer tatsächlich lahm zu legen und ihn so an der Aussendung weiteren Werbemülls zu hindern. Die Blockade entsteht, weil die Zahl der maximal gleichzeitig bestehenden Verbindungen zum Versand von s nach oben limitiert ist. Durch die massive Verzögerung der Kommunikation zwischen Client und Server werden diese Verbindungen besonders lange offen gehalten. In je mehr Teergruben der Spammer fällt, desto mehr Verbindungen werden so blockiert. Dadurch sinkt die Versandgeschwindigkeit des Spammers erheblich. In der Theorie kann man durch solche Teergruben Server von Spammern völlig ausbremsen und damit verhindern, dass sie Spam ausliefern oder zumindest die Auslieferung so massiv verzögern, dass sie für den Spammer unerträglich lange dauert. In der Praxis hat das Verfahren jedoch einen wesentlichen Nachteil: Eigentlich jeder SMTP-Client ist in der Lage, einem SMTP-Server in einer Verbindung alle Mails für diesen Server zu übermitteln. Er muss dazu nicht mehrere parallele Verbindungen zu diesem Server aufbauen. Da die Teergrube nur genau eine Verbindung lahm legt, der Spammer aber potenziell mehrere tausend Ver- 40

41 Rechtsweg bindungen parallel halten kann, ist der Effekt in der Praxis im Allgemeinen sehr klein, es sei denn, der Spammer tappt durch Zufall auf einen Schlag in zahlreiche Teergruben. Da die Verbreitung solcher Teergruben eher gering sein dürfte, sinkt die Wahrscheinlichkeit für den gewünschten Blockadeeffekt leider deutlich. Zudem muss der Betreiber einer Teergrube sicherstellen, dass er nicht versehentlich mit seinem System anständige Server blockiert. Das wird in aller Regel dadurch erreicht, dass die Teergruben nur für bestimmte (Sub-)Domains eingerichtet werden, für die die -Adressen ausschließlich auf speziellen Harvester-optimierten Webseiten kommuniziert werden. Damit ist der Aufwand für den Betrieb einer Teergrube relativ hoch, was sich wiederum negativ auf deren Verbreitung auswirkt und damit auf den Blockadeeffekt. 4.8 Rechtsweg Die langfristig wirkungsvollste, präventive Anti-Spam-Maßnahme dürfte jedoch immer noch der Rechtsweg sein: Ist ein Spammer erst mit Ordnungsgeldern von bis zu oder bis zu sechs Monaten Ordnungshaft bedroht und drohen ihm zusätzlich hohe Gerichtskosten, dann schwindet der Vorteil des Spamming, mit minimalen Kosten eine große Adressatengruppe zu erreichen. Schließlich ist Spamming für den Absender wirtschaftlich interessant: Spammer können immer noch darauf vertrauen, dass ein kleiner Bruchteil der Empfänger tatsächlich die beworbene Dienstleistung gegen Entgelt erwirbt oder erwerben will, denn wer weiß schon, ob jemand, der seine per Spam beworbenen Waren über gehackte Server verkauft und damit schon erhebliche kriminelle Energie beweist, nicht zufällig auch noch die Lieferung vergisst. Solange die Kosten für den Versand des Spam geringer sind als der zu erwartende Gewinn, rechnet sich diese Werbeform. Durch Ordnungsgelder und -haft sowie Gerichtskosten sinkt die Gewinnspanne. Einige Autoren 25 sehen zusätzlich bereits nach geltendem Recht auch eine Strafbarkeit des Spamming an sich unabhängig von eventuellen Straftaten 25. So allen voran die Dissertation [FRA04a], zusammengefasst in [FRA04]. No Spam! 41

42 4 Grundlegende Vorsichtsmaßnahmen oder Ordnungswidrigkeiten z.b. wegen versuchten Betrugs oder Verstoß gegen das Arznei- und Betäubungsmittelrecht, die der Spammer durch sein Angebot verwirklicht. Das erhöht das unternehmerische Risiko nochmals zumindest für in Deutschland ansässige Spammer. Eine aktuelle Gesetzesinitiative 26 möchte im Teledienstegesetz (TDG) das Fälschen von Header-Daten in s, das Spammer routinemäßig machen, um ihre Identität zu verschleiern, unter Strafe stellen. Kritiker befürchten jedoch, dass dadurch Spam mit korrekten Header-Daten indirekt für zulässig erklärt wird, und verweisen auf die Strafbarkeit der Verfälschung beweiserheblicher Daten, die das Fälschen von Header-Daten bereits unter Strafe stellt. In die wirtschaftliche Richtung gehen zwar auch Vorschläge, den -Versand selbst kostenpflichtig zu machen. Dies würde allerdings zum einen den großen Vorteil der -Kommunikation zunichte machen und zum anderen sind diese Vorschläge durch die weit verteilte Infrastruktur des Internets praktisch nicht realisierbar. Insbesondere, wenn man bedenkt, dass trotz Ächtung von so genannten Open Relays immer noch zahlreiche 27 als Open Relay konfigurierte Mailserver in Betrieb sind. Zudem ist die Zahlungsbereitschaft im Internet nicht sonderlich groß, so dass hier zusätzliche Widerstände bei der Einführung zu befürchten sind. Schon die von zahlreichen erfahrenen Net-Citizens befürwortete Abschaffung von Open Relays hat sich trotz des geringen zusätzlichen Konfigurationsaufwands noch nicht weltweit durchgesetzt. 26. Stand: 03/ Hinweise über deren Menge liefern die Open Relay Black Lists, z.b. 42

43 5 -Adressen von Webseiten verbannen Homepages lassen sich grob einteilen in geschäftliche und in private Seiten. Zu Ersteren zählen alle Seiten, die in irgendeiner Hinsicht das Ziel haben, Einnahmen zu generieren: sei es als Informationsquelle über Produkte und die daraus resultierenden Einkäufe, sei es durch direkten Verkauf von der Homepage, durch Bannerwerbung oder auch nur durch Links auf ein provisionsorientiertes Buch-Partnerprogramm, wie z.b. bei Amazon oder Libri. Wobei im Fall des provisionsorientierten Partnerprogramms in der rechtswissenschaftlichen Diskussion die Gewerbsmäßigkeit umstritten ist. Eindeutig private Seiten verfolgen keine solche Ziele, sondern bestehen im Endeffekt nur zum Spaß und Zeitvertreib des Seitenbetreibers. Für gewerbsmäßig betriebene Internetseiten schreibt 6 Nr. 2 TDG vor, dass auf der Seite Angaben, die eine schnelle elektronische Kontaktaufnahme und unmittelbare Kommunikation mit dem Anbieter ermöglichen, einschließlich der Adresse der elektronischen Post enthalten sein müssen. Dabei ist der Begriff der Gewerbsmäßigkeit sehr unscharf, da er im Gesetz nicht definiert ist, was kurz nach Einführung des Gesetzes zu Abmahnwellen wegen fehlerhaften oder nicht vorhandenen Impressen führte. Doch auch private Anbieter von Homepages sehen ihre Seiten nur selten als reinen Selbstzweck, sondern wollen in aller Regel auch Kontaktmöglichkeiten angeben, um mit den Besuchern der Seite in Diskussion treten zu können. In allen Fällen ist es daher praktisch notwendig und sinnvoll, auf der Homepage eine Möglichkeit zur schnellen, elektronischen Kontaktaufnahme vorzusehen. Häufig wird darunter eine -Adresse verstanden. Einige wenige Betreiber von Webseiten nennen statt einer -Adresse eine Handynummer und argumentieren, man würde darüber per SMS auch schnell und elektronisch kommunizieren können. Ob das tatsächlich so zu sehen ist, ist bislang von der Rechtsprechung noch nicht entschieden worden. Stellt man sich auf den Standpunkt, dass eine schnelle elektronische Kommunikation per erfolgen kann, dann erfolgt sie sicherlich auch per SMS. Doch beide Kommunikationswege stellen de facto keinerlei Zustellzeiten si- No Spam! 43

44 5 -Adressen von Webseiten verbannen cher. Insbesondere ergeben sich aus einer -Adresse auch keine Antwortzeiten. Schnelligkeit ist also bei sicher nicht gewährleistet. Sieht man aber den Begriff der Schnelligkeit eher weit, wie es die Interpretation suggeriert, dann müsste sich auch der Begriff elektronisch weit auslegen lassen. Damit wäre auch eine Telefonnummer eine Möglichkeit der schnellen, elektronischen Kontaktaufnahme. Zudem stellt das Telefon anders als die die zeitlich unmittelbare Kommunikation eher sicher, sofern kein Anrufbeantworter oder Sprachcomputer den Anruf entgegennimmt. Tatsächlich wird von vielen Autoren sogar unter anderem in Hinblick auf die Entstehung des Gesetzes angenommen, dass mit der Möglichkeit der schnellen, elektronischen Kontaktaufnahme mindestens eine Telefonnummer gemeint sei und eben keine -Adresse. Diese Auffassung stützt beispielsweise [GRAV03] und folgert das vor allem aus der Bundestagsdrucksache 14/6098, die das Telefon explizit als Mittel der schnellen elektronischen Kontaktaufnahme nennt. Die Aufforderung jedoch, eine Adresse der elektronischen Post anzugeben, ist (fast) eindeutig: Damit kann der Gesetzgeber eigentlich nur eine - Adresse gemeint haben, wenn auch die Übersetzung in die Gerichtssprache Deutsch eher krampfhaft wirkt. Somit kommt der gewerbsmäßige Homepage-Betreiber um die Angabe einer -Adresse wohl nicht herum, die gelegentlich praktizierte Angabe einer Handynummer und der Verweis auf SMS erscheinen auf den ersten Blick ungeeignet. Andererseits könnte man auch eine Faxnummer als eine Adresse der elektronischen Post ansehen: Das Telefax überträgt Schriftstücke auf elektronischem Weg und ermöglicht damit einen elektronischen Postversand. Die Faxnummer ist dabei zur Adressierung notwendig und somit eine Adresse der elektronischen Post. Mit gleicher Argumentation wäre dann auch die SMS elektronische Post. Auch die URL eines Kontaktformulars könnte die Adresse der elektronischen Post darstellen, schließlich lassen sich darüber unmittelbar s, die eindeutig zur elektronischen Post zu zählen sind, versenden. Allerdings ist auch über diese Spitzfindigkeit bislang von den Gerichten noch nicht entschieden worden. Will man also auf der sicheren Seite sein und poten- 44

45 Adressen fälschen ziell teuren Rechtsstreitigkeiten aus dem Weg gehen, bleibt einem nicht viel anderes übrig, als eine -Adresse im Impressum zu nennen. Zum Glück fordert das Gesetz nur die Angabe der Adresse. Eine Verlinkung derart, dass die -Adresse in ein -Programm übernommen wird, ist noch nicht notwendig, was auch in Hinblick auf die folgenden Lösungsvorschläge günstig ist: Viele von ihnen würden nicht mehr funktionieren, müsste die Adresse zwangsweise verlinkt werden. Dabei zeigt sich wieder ein interessanter Denkansatz der Gesetzgeber: Wenn das Sammeln von Adressen verboten ist und auch der Versand von Spam nicht erlaubt ist, dann kann beides nicht stattfinden. Das ähnelt Christian Morgensterns Palmström in Die unmögliche Tatsache ([MOR04]), der feststellt, dass nicht sein kann, was nicht sein darf. 5.1 Adressen fälschen Um der Pflicht oder dem Wunsch nach Angabe einer -Adresse nachzukommen, ohne jedoch bespammt zu werden, wird häufig zur Irreführung der Adressjäger eine verfälschte -Adresse angegeben: Dabei wird die -Adresse mit Zusätzen nach dem Muster REMOVE_TO_MAIL_ ME versehen. Nicht immer jedoch sind diese Zusätze eindeutig und zweifelsfrei zu erkennen oder zu entfernen. Dann besteht die Gefahr, dass eine falsche - Adresse generiert wird. Aber selbst, wenn die Zusätze erkennbar sind, kommt es immer wieder vor, dass versehentlich zuerst an die verfälschte Adresse g t wird. Die daraufhin zurückkommende Fehlermeldung, so die Verfechter dieser Methode, würde dem Absender schon zu erkennen geben, wie die Adresse korrigiert werden müsse. Allerdings entspricht bereits die Annahme nicht der Realität ein Großteil der Anwender ignoriert Fehlermeldungen schlicht und macht sich nicht die Mühe, deren, häufig englischsprachigen, Inhalt zu verstehen. Immer wieder wird von Anwendern sogar eine generelle Unlust angemeldet, sich mit diesem Computerzeug überhaupt zu befassen, schließlich handle es sich dabei um ein Werkzeug. Eine Haltung, die für mich nicht nachvollziehbar ist, denn auch der Umgang mit dem Werkzeug Auto oder Kettensäge erfordert eine Auseinandersetzung mit dem Gerät und den zugehörigen Regeln. No Spam! 45

46 5 -Adressen von Webseiten verbannen Allerdings muss man zugestehen, dass die Fehlermeldung nicht sonderlich aufschlussreich sein kann, denn sie beschreibt ein aus der verfälschten Adresse resultierendes Problem: beispielsweise, dass der Name des Mailservers nicht aufgelöst werden konnte, also z.b. DNS not found, oder aber, dass der Nutzer nicht existiert, z.b. User unkown. Beide Fehlermeldungen sind für den Laien nicht verständlich und weisen auch nicht auf die wahre Fehlerursache hin wie sollten sie auch. Typischerweise enthalten solche Meldungen noch weitere Diagnostic Informations, die für Fachleute verständlich sind, für den Laien aber die wahre Fehlermeldung so effektiv verbergen, dass sie der Endanwender in einem ITenglischen Zeichensalat kaum mehr finden kann. Auf diese Art und Weise werden zahllose Endanwender ausgeschlossen, was im Allgemeinen nicht im Sinne einer Homepage sein dürfte. Zudem sind solche Fälschungen, wie in Kapitel 4.4 diskutiert, technisch zweifelhaft und bergen zahlreiche Risiken. Auch mit dem Wunsch des Gesetzgebers, der sich hinter 6 TDG verbirgt, dem Endverbraucher bessere Kontaktmöglichkeiten zu bieten, ist dieses Vorgehen meines Erachtens nicht vereinbar. Eine verfälschte -Adresse könnte also durchaus noch zu einer berechtigten Abmahnung wegen eines unvollständigen Impressums führen. Damit ist der Einsatz von verfälschten -Adressen zwar geeignet, um die Harvester von Spammern zu blockieren, aber ansonsten völlig unbrauchbar. 5.2 Verstecken mit HTML-Code Somit bleibt als nächste Möglichkeit, die -Adresse auf der Seite so anzugeben, dass ein Sammelprogramm sie nicht automatisch auswerten kann. Zum Erkennen von -Adressen lassen sich zwei Merkmale nutzen: einmal der Link auf die Adresse: <A HREF= mailto:user@example.com > Und zum anderen die Adresse selbst: user@example.com Für die Suchmethoden der Harvester sind beide nahezu gleich gut zu finden. 46

47 Verstecken mit HTML-Code Der mailto-link jedoch ist noch einen Tick eindeutiger, da so neumodische Wörter, die anstelle eines a enthalten, nicht fälschlich für - Adressen gehalten werden können. Schließlich verlinkt mailto ausschließlich Mailadressen Kontaktformular Daher sollte man zunächst alle mailto-links aus der Homepage entfernen. Möchte man dennoch den Komfort bieten, durch einen direkten Klick eine Nachricht an diese Adresse zu verschicken, so empfiehlt sich der Einsatz eines Kontaktformulars. Dieses Kontaktformular kann man problemlos mit der (zunächst noch lesbar) angegebenen -Adresse verlinken. Ein solcher Link würde also in einem ersten Schritt so aussehen: <A HREF="./kontakt.html">user@example.com</A> Durch diese Maßnahme verschwinden alle mailto-links, die einfach automatisiert zu finden sind, von der Webseite. Diese Quelle für -Adressen ist damit trockengelegt. Sofern wir im Folgenden in HTML -Adressen verstecken, gehe ich immer davon aus, dass sie auf eine Kontaktseite verlinkt werden und nicht mit einem mailto-link versehen sind. Wie sollte ein sicheres Kontaktformular aussehen? Auch ein Kontaktformular kann von einem Harvester automatisch ausgelesen werden. Daher sollten weder im Kontaktformular als versteckte Werte noch auf der Kontaktseite selbst -Adressen unmittelbar lesbar angegeben werden. Daher sollte das Mail-Script, das vom Kontaktformular aufgerufen wird, automatisch den Empfänger der Nachricht aus einem übergebenen Code ermitteln können. Der Beispiel-Formmailer in PHP weiter unten ordnet dabei jedem Empfänger eine Nummer zu. Diese Zuordnung kann vom Harvester nicht umgekehrt werden. Auch das bekannte Perl-Formmailer-Script von Matt Wright ( scriptarchive.com), das von vielen Webspace-Providern vorinstalliert wird, kann man so modifizieren. No Spam! 47

48 5 -Adressen von Webseiten verbannen Als Nebeneffekt lässt sich das Kontaktformular nicht mehr zum Versenden von Spam missbrauchen: Es gab immer wieder Fälle, in denen das Formular auf der HTML-Seite selbst so modifiziert wurde, dass die nicht mehr an den von der Webseite vorgesehenen Empfänger ging, sondern an andere Adressaten. Aus diesem Grund verschickt das Beispielscript Nachrichten auch nur an Empfänger, die im Script selbst eingetragen sind. Das Script kann ein Angreifer nicht so einfach manipulieren wie eine HTML-Seite, denn um es bearbeiten zu können, müsste er sich Zugang zum Server verschafft haben, was in aller Regel weitere Probleme zur Folge hat. Programmbeispiel Formmailer Das Script versucht auch, alle Eingaben sehr streng zu überprüfen, um einen Missbrauch möglichst zu erschweren. Die notwendigen Übergabeparameter sind im Script selbst dokumentiert und werden im Beispiel unten gezeigt. Zum Verständnis des Scripts ist es sinnvoll, wenn Sie sich die in das Script eingefügten Kommentare durchlesen. Ich habe versucht, sie möglichst ausführlich zu halten. Dadurch stehen die wichtigen Hinweise direkt an den relevanten Stellen des Scripts. <?php /* ***************************************************************** Formmail-Script in PHP Autor: Tobias Eggendorfer (c) 2004, 2005 Fuer die Funktion wird keinerlei Gewaehrleistung uebernommen. Es handelt sich bei dem Script um ein Beispiel zu Lehrzwecken. ***************************************************************** */ /* ***************************************************************** Das Script erwartet als Uebergabeparameter wahlweise per GET oder POST: to: Die Nr. des Empfaengers der entsprechend dem Index des Empfaengers im globalen Array empfaenger unten. Default-Wert ist 0. Mehrere Empfaenger-Nummern koennen durch Komma getrennt angegeben werden. Beispiel: 1,2,3 48

49 Verstecken mit HTML-Code cc: Adressaten, an die die Mail in cc gehen soll. Ebenfalls als in Index in das Array empfaenger. Ist dieses Feld leer, wird kein cc:-header eingefuegt. cc an den Absender wird _nicht_ unterstuetzt, wegen der Gefahr des Missbrauchs des Scriptes als Spamming-Engine. bcc: Adressaten, an die die Mail in bcc gehen soll. Analog "cc". subject: Betreff der generierten , Default-Wert steht in der globalen Konstanten "DEF_SUBJECT". from: -Adresse des Absenders. Wird _nicht_ als Absender der eingetragen, um Spammen über Bounces zu vermeiden. from_name: Name des Absenders. msg: Nachricht, die der Absender eingegeben hat. vars: Variablennamen, kommasepariert, die zusätzliche Daten enthalten, die in der Mail stehen sollen. httpvars: http-umgebungsvariablen, die der Mail angefuegt werden sollen. Siehe dazu die PHP-Doku. ****************************************************************** */ /* Konfiguration des Scriptes */ define ('DEF_SUBJECT','Mail vom Formular'); /* Dieses Subject wird eingesetzt, wenn kein Subject uebergeben wurde. */ define /* _Gueltige_ -Adresse, die als From in der generierten Nachricht eingetragen wird. Empfehlung: Ihre eigene. */ /* Liste der Empfaengeradresse, die Erste hat den Index 0, die zweite 1 usw. */ $empfaenger = array ( 'einer@example.com', // Index 0 'anderer@example.com', // Index 1 /* oberhalb dieser Zeile weitere Adressen nach dem Muster oben anfuegen. No Spam! 49

50 5 -Adressen von Webseiten verbannen */ '' ); // bitte so stehen lassen /* **************************************************************** Funktionen **************************************************************** */ function valid_csv_numbers($text) /* Testet, ob $text csv-getrennte Ganzzahlen sind. Wenn ja, wird ein Array mit diesen Zahlen zurueckgeliefert. Wenn nein, FALSE */ $ret_value = FALSE; if ( isset($text) && (($text = trim($text))!= "") && (preg_match('/^[0-9]+(,[0-9]+)*$/',$text)!= 0) ) $ret_value = split(',',$text); } return $ret_value; } function to_address_line($numbers) /* setzt die uebergebenen Nummern ueber das array empfaenger in gueltige -Adressen um und schreibt sie so, dass die PHP-Funktion mail() sie unmittelbar nutzen kann. $numbers ist ein array. Ist das nicht der Fall, liefert die Funktion FALSE zurück. */ global $empfaenger; $ret_value = FALSE; if ( isset($numbers) && is_array($numbers) ) $ret_value = ''; foreach ($numbers AS $number) if ( isset($empfaenger[$number]) && ($empfaenger[$number]!= "") && 50

51 Verstecken mit HTML-Code $empfaenger[$number])!= 0) ) $ret_value.= $empfaenger[$number].","; } } // end foreach if ($ret_value!= "") $ret_value = substr($ret_value,0,-1); } else $ret_value=false; } } return $ret_value; } function send_header_and_head() header("last-modified: ".gmdate("d, d M Y H:i:s")." GMT"); header("expires: ".gmdate("d, d M Y H:i:s")." GMT"); header("last-modified: ".gmdate("d, d M Y H:i:s")." GMT"); header("cache-control: no-store, no-cache, must-revalidate"); header("cache-control: post-check=0, pre-check=0", false); header("pragma: no-cache"); header("content-encoding: iso "); header("content-type: text/html");?><!doctype HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>Mailformular</TITLE> </HEAD> <BODY> <?php } function send_footer()?> </BODY> </HTML> No Spam! 51

52 5 -Adressen von Webseiten verbannen } <?php function fehler($msg) /* Bricht den Programmlauf mit einer Fehlermeldung ab. */ send_header_and_head();?> <H1>Fehler</H1> <P><B>Ihre Mail wurde nicht versandt.</b></p> <P>Es ist ein Fehler aufgetreten. Die Fehlermeldung lautet: <?php print $msg;?></p> <P>Bitte verwenden Sie den Back-Button Ihres Browsers, um zur vorhergehenden Seite zurück zu gehen.</p> <? send_footer(); die(); } /* ****************************************************************** Beginn des eigentlichen Programmes ****************************************************************** */ foreach ($empfaenger AS $adresse) $adresse = trim($adresse); } /* validiere Eingabedaten */ $to = isset($_request["to"])? valid_csv_numbers($_request["to"]) : FALSE; $to = is_array($to)? to_address_line ($to) : to_address_line(array(0)); if ($to === FALSE) fehler('keine gültige Zieladresse gefunden.'); } $add_header = ""; 52

53 Verstecken mit HTML-Code if (isset($_request["cc"])) $cc = valid_csv_numbers($_request["cc"]); $add_header.= is_array($cc)? "Cc: ".to_address_line ($cc)."\r\n" : ""; } if (isset($_request["bcc"])) $bcc = valid_csv_numbers($_request["bcc"]); $add_header.= is_array($bcc)? "Bcc: ".to_address_line ($bcc)."\r\n" : ""; } $add_header.= "From: ".DEF_FROM."\r\n". "Reply-To: ".DEF_FROM."\r\n"; if ( isset($_request["subject"]) ) $subject = substr( str_replace("\r","", str_replace("\n","", trim( $_REQUEST["subject"]))),0,60); if ($subject == "") $subject = DEF_SUBJECT; } } else $subject = DEF_SUBJECT; } if (!isset($_request["msg"]) (trim($_request["msg"]) == "") ) fehler('die übergebene Nachricht war leer. Leere Mails '. 'können Sie über dieses Formular nicht '. 'versenden.'); } else $msg = $nachricht = trim($_request["msg"]); } No Spam! 53

54 5 -Adressen von Webseiten verbannen if ( isset($_request["vars"]) && (trim($_request["vars"])!= "") && (preg_match('/^[a-z0-9_]+(,[a-z0-9_]+)*$/i', trim($_request["vars"]))!== FALSE ) ) $vars = split(',',trim($_request["vars"])); $msg.="\n\n\nfolgende Variablen wurden uebergeben:\n\n\n"; foreach ($vars AS $var) $msg.= "$var: ". (isset($_request[$var])? $_REQUEST[$var] : ""). "\n\n"; } } if ( isset($_request["httpvars"]) && (trim($_request["httpvars"])!= "") && (preg_match('/^[a-z0-9_]+(,[a-z0-9_]+)*$/i', trim($_request["httpvars"]))!== FALSE ) ) $vars = split(',',trim($_request["httpvars"])); $msg.="\n\n\nfolgende HTTP-Variablen sollen ausgegeben werden:". "\n\n\n"; foreach ($vars AS $var) $msg.= "$var: ". (isset($_server[$var])? $_SERVER[$var] : ""). "\n\n"; } } if ( isset($_request["from"]) && (trim($_request["from"])!= "") ) 54

55 Verstecken mit HTML-Code $msg = "Absender- ".trim($_request["from"]). "\n\n".$msg; } if ( isset($_request["from_name"]) && (trim($_request["from_name"])!= "") ) $msg = "Absender-Name: ".trim($_request["from_name"]). "\n\n".$msg; } $mail_result $subject, $msg, $add_header."x-mailer: Webform\r\n"); if ($mail_result === TRUE) send_header_and_head();?> <H1>Nachricht erfolgreich gesendet.</h1> <P>Ihre Nachricht wurde erfolgreich gesendet.</p> <P>Zur Kontrolle hier nochmals der Inhalt der Nachricht: <PRE><?php print str_replace("<","<", str_replace(">",">", $nachricht));?> </PRE> </P> <?php send_footer(); } else fehler('ihre Nachricht konnte nicht versandt werden.'); } /* ******************************************************************* Ende ******************************************************************* */?> No Spam! 55

56 5 -Adressen von Webseiten verbannen Beispiel-Kontaktformular Im Iolgenden möchte ich Ihnen eine kleine HTML-Seite an die Hand geben, die Ihnen einen Eindruck vermittelt, wie das Kontaktformular erzeugt werden kann. Von optischen Gestaltungsversuchen habe ich dabei bewusst Abstand genommen schließlich müssen diese zum Design der fertigen Seite passen. Außerdem werden Sie auf Ihrer Seite vermutlich auch noch andere Felder als die von mir genannten nutzen wollen. Deutlich zu sehen ist, dass in dem Formular keine einzige -Adresse genannt wird. Stattdessen sind die verschiedenen möglichen Empfänger über eine Zahl codiert. Die Zahl entspricht dem Index in das Array $empfaenger im PHP-Script oben. <HTML> <HEAD> <TITLE>Muster-Kontaktformular</TITLE> </HEAD> <BODY> <H1>Kontaktformular</H1> <FORM METHOD="POST" ACTION="./formmail.php"> <INPUT TYPE="HIDDEN" NAME="httpvars" VALUE="HTTP_USER_AGENT,REMOTE_ADDR" /> <INPUT TYPE="HIDDEN" NAME="vars" VALUE="telefon,telefax" /> <P>Wen möchten Sie kontaktieren? <SELECT NAME="to"> <OPTION VALUE="0">Den Webmaster</OPTION> <OPTION VALUE="1">Den Autor</OPTION> <OPTION VALUE="0,1">Beide</OPTION> </SELECT> </P> <P>Ihr Name: <INPUT TYPE="text" NAME="from_name" /> </P> <P>Ihre -Adresse: <INPUT TYPE="text" NAME="from" /> </P> <P>Ihre Telefonnummer: <INPUT TYPE="text" NAME="telefon" /> </P> 56

57 Verstecken mit HTML-Code <P>Ihre Tefaxnummer: <INPUT TYPE="text" NAME="telefax" /> </P> <P>Betreff: <INPUT TYPE="text" NAME="subject" /> </P> <P>Ihre Nachricht: <TEXTAREA NAME="msg"></TEXTAREA> </P> <P><INPUT TYPE="SUBMIT" VALUE="Senden" /> <INPUT TYPE="Reset" VALUE="Rücksetzen" /> </P> </FORM> <P><SMALL>Mit freundlicher Unterstützung von <A HREF=" TARGET="_blank"> </SMALL></P> </BODY> </HTML> Meinungen zum Kontaktformular Der Einsatz von Kontaktformularen ist umstritten einige Anwender mögen sie überhaupt nicht, da sie dann keine Kopie der verschickten Nachricht in ihrem Mailprogramm haben und auch auf dessen gewohnte Funktionalität verzichten müssen. Auch können sich so leicht versehentlich Tippfehler in der Absenderadresse einschleichen. Andererseits setzt ein mailto-link voraus, dass auf dem Rechner des Anwenders ein Mailprogramm installiert ist und dieses Mailprogramm so konfiguriert ist, dass es auf solche Links reagiert. Außerdem muss das Mailprogramm mit den richtigen Nutzerdaten konfiguriert sein. Das ist häufig in Schulungsräumen, Internetcafés und Ähnlichem nicht der Fall. Da versendet der sorglose Anwender dann eine mit dem Absender PC15 im Local-Part. Viele Anwender nutzen heutzutage auch gar keine echten Mailprogramme mehr, sondern bearbeiten ihre Mails ausschließlich in Webmailern. Auch die starten mit einem Klick auf einen mailto-link nicht automatisch. No Spam! 57

58 5 -Adressen von Webseiten verbannen Aus meiner Sicht ist der Formmailer daher genauso nutzerfreundlich oder -unfreundlich wie ein mailto-link: Es gibt jeweils Szenarien, in denen das eine oder das andere praktikabler ist. Ein Formmailer ist jedenfalls für alle Nutzer unmittelbar benutzbar, während ein mailto-link die geeignete Konfiguration des Browsers erfordert. Aus Sicht des Webseitenbetreibers ist der Formmailer jedenfalls deutlich überlegen: Über ihn finden Harvester kein Futter. Auf alle Fälle liefert der Formmailer auch einen Weg zur schnellen, elektronischen Kontaktaufnahme und bietet eine Adresse der elektronischen Post. Er dürfte damit auch den Anforderungen des 6 Nr. 2 TDG genügen Tarnen mit HTML Durch den Einsatz eines Kontaktformulars haben wir die Webseite nun so gestaltet, dass Spammer keine mailto-links mehr finden. Aber auch Zeichenketten nach dem Muster zeichenfolge@zeichenfolge.zeichenfolge lassen sich gut automatisiert finden. Dabei läuft zwar der Harvester Gefahr, auch Produktnamen und Firmennamen, die ganz im Trend enthalten, zu finden und als -Adressen zu deklarieren. Aber die wenigen so gefundenen, fehlerhaften Adressen interessieren Spammer meist nicht häufig gehen die erzeugten Fehlermeldungen wegen ungültiger Adressen an unbeteiligte Dritte, da die Absenderadressen der Spammails gefälscht werden. Es stehen zahllose Möglichkeiten zur Verfügung, in einer HTML-Seite Text zu verdecken es sind im Prinzip die gleichen Verfahren, die auch Spammer tagtäglich einsetzen, um Spamfilter zu umgehen. Wenn Sie deren Methoden auch durchschauen wollen, lohnt sich ein Blick in [GRA04]. Was gibt es Schöneres, als den Gegner mit seinen eigenen Waffen zu schlagen? Zeichen ersetzen Eine dieser Methoden, die schon seit Jahren bekannt ist und daher durch geeignete Such- und Ersetzalgorithmen in Harvestern leicht umgangen werden kann, ist das Ersetzen durch at und des Punkts. durch dot. So wird aus user@example.com: user at example dot com 58

59 Verstecken mit HTML-Code Für Menschen bleibt das lesbar und verständlich, Harvester finden auf Anhieb keine gültige -Adresse mehr. Aus diesem Grund findet man diese Schreibweise auch mittlerweile sehr häufig im Netz. So werden z.b. die -Adressen der Kommentatoren im PHP-Onlinehandbuch auf so getarnt. Allerdings gehe ich davon aus, dass diese Methode kaum mehr langfristig erfolgreich sein wird. Schließlich lässt sich über regular expressions 28 mit geringem Aufwand eine Ersetzung vornehmen. s/[ \t\r\n]*at[ s/[ \t\r\n]*dot[ \t\r\n]*/./gi reichen dafür bereits aus. Es ist dabei kaum wahrscheinlich, dass so übermäßig viele ungültige Adressen generiert werden: Dazu müsste nach Entfernen von Leerzeichen und der Ersetzung von dot durch den Punkt bzw. at ein Zeichenmuster herauskommen, das aussieht wie eine -Adresse. Spammer machen dasselbe, um beispielsweise Viagra-Spam an Spamfiltern vorbei zuzustellen. Sie ersetzten den Markennamen durch den Wirkstoffnamen Sildenafil in ihren Werb s. Mittlerweile taucht auch der Wirkstoffname in den Filtern auf, weshalb sie das a in Viagra das i durch 1 ersetzen und Leerzeichen einfügen. Somit erhält man jetzt Angebote für V G Spamfilter können mittlerweile solche Tarnungen knacken. Auch Harvester sollten mit diesen Umschreibungen umgehen können. HTML-Kommentare Ebenso beliebt ist bei Spammern das Einfügen von HTML-Kommentaren, um typische Filterbegriffe unkenntlich zu machen. Genauso lassen sich auch -Adressen vor Harvestern verstecken. Aus <A HREF=./kontakt.html >user@example.com</a> wird damit <A HREF="./kontakt.html">user<!-- h@h@h@ ->@<!-- soso -->example<!-- dot! -->.<!-- da war der dot -->com</a> 28. Siehe z.b. [EGG05] oder auch [SEL02], [FRI02] oder [STU03] No Spam! 59

60 5 -Adressen von Webseiten verbannen Diese Kommentare werden von allen Browsern in der Darstellung unterdrückt, die -Adresse wird fehlerfrei dargestellt. Aber auch diese Kommentare lassen sich theoretisch von Harvestern mit geringem Aufwand filtern, um so die -Adresse zu extrahieren: Es reicht aus, die Zeichenfolge <!-- bis zum nächsten --> zu suchen und durch eine leere Zeichenkette zu ersetzen. Das lässt sich wiederum einfach mit regular expressions bewerkstelligen. Oder man verwendet den Textbrowser lynx: Mit der Kommandozeilenoption -dump verwandelt er HTML in Klartext und gibt das gerade richtig für Filter auf der Standardausgabe aus. Fast alle vorgestellten Verfahren lassen sich übrigens knacken die Frage ist nur, in welchem Verhältnis der Aufwand zum erwarteten Nutzen steht. Der Aufwand, HTML-Kommentare zu eliminieren und die oben beschriebenen Ersetzungen rückgängig zu machen, ist jedenfalls so gering und beide Verfahren sind so verbreitet, dass es sich für Spammer lohnen würde, sie in ihre Harvester zu implementieren. Gesperrte Schreibweise Eine ähnliche Idee ist, Adressen gesperrt anzugeben, also zwischen jedem Buchstaben ein Leerzeichen einzufügen: u s e e x a m p l e. c o m Diese Schreibweise lässt sich nur schwer automatisch zusammenfügen: Das Entfernen der Leerzeichen stellt zwar kein Problem dar, allerdings müssen auch die Ränder der Adresse richtig erkannt werden. Es darf kein umstehender Text mit in die Mailadresse einbezogen werden, da sie dadurch ungültig würde. Spamfilter haben hier einen Vorteil: Ihnen reicht es aus, ein Teilwort wie z.b. Viagra zu erkennen. Sie müssen keine -Adressen in verwertbarer Form generieren. Daher ist diese Methode für Spammer in ihren Spammails zur Umgehung von Spamfiltern ineffizient; im Kampf gegen Harvester hingegen ist sie sehr effektiv, denn diese müssen gültige -Adressen generieren. Der Aufwand, umgebende Wörter nicht versehentlich mit in die Adresse einzubeziehen, steht in keinem Verhältnis zum Nutzen. Markiert man die Leerzeichen durch geeignete Cascading Style Sheets (CSS) als unsichtbar, bemerkt der Besucher der Webseite noch nicht einmal diesen Trick, wie Abbildung 5.1 demonstriert. 60

61 Verstecken mit HTML-Code Abb. 5.1: Darstellung einer gesperrten -Adresse mit geeignetem CSS im Mozilla Der zugehörige HTML-Code lautet: <html> <head> <title>gesperrte Darstellung</title> <style type="text/css"> div.in visibility:hidden; display:none; } </style> </head> <body> u<div class="in"> </div>s<div class="in"> </div>e<div class="in"> </div>r<div class="in"> </div>@<div class="in"> </div>e <div class="in"> </div>x<div class="in"> </div>a<div class="in"> </div>m <div class="in"> </div>p<div class="in"> </div>l<div class="in"> </div>e <div class="in"> </div>.<div class="in"> </div>c<div class="in"> </div>o <div class="in"> </div>m </body> </html> Dabei können im HTML-Quelltext durchaus auch mehrere Leerzeichen, Zeilenumbrüche oder sonstige so genannte Whitespace-Zeichen eingefügt werden. Die zusätzlichen Zeichen machen unter Umständen das Erkennen der Mail-Adresse für einen Harvester aufwendiger, für den Nutzer bleiben sie transparent, da mehrere Whitespace-Zeichen im HTML-Code von Browsern in der Darstellung stets nur in ein Leerzeichen verwandelt werden. No Spam! 61

62 5 -Adressen von Webseiten verbannen Die gesperrte Darstellung funktioniert mit allen Browsern und sollte auch ohne Probleme mit speziellen Ausgabegeräten wie Braille-Zeilen kompatibel sein. Ein ähnliches Verfahren wird unter dem Namen Microdot von Spammern verwendet: Anstatt Leerzeichen einzufügen, wird eine extrem kleine Schriftart gewählt und ein beliebiges, sonstiges Zeichen ausgegeben. Durch die kleine Schriftart und häufig auch durch die Wahl der Schriftfarbe ist dieses Zeichen unsichtbar. Für Spammer ist die aufwendigere Methode notwendig, da Zeichenketten wie Viagra auch nach dem Entfernen aller Leerzeichen aus einer Mail von Spamfiltern erkannt werden. Durch den Microdot werden andere Buchstaben eingestreut, die das Wort unkenntlich machen. Zum Verstecken der -Adresse reicht die Leerzeichenmethode hingegen aus: Denn auch der reguläre Text auf der Webseite enthält Leerzeichen. Er würde, entfernt man alle Leerzeichen, mit der Mailadresse verschmelzen und sie ungültig machen. HTML-Entities Eine andere, häufig empfohlene Möglichkeit ist die Verwendung von HTML- Entities (z.b. [CDT03]). Dabei werden die Zeichen durch ihre ASCII-Codes und spezielle HTML-Symbole ersetzt. Der ASCII-Code weist jedem Zeichen in eindeutiger und umkehrbarer Weise eine Zahl zu. Aus <A wird <A HREF=./kontakt.html a mplecom</a> Allerdings lassen sich auch diese Ersetzungen automatisiert rückgängig machen und bieten damit allenfalls vorübergehenden Schutz. Schon mit einer Zeile effektivem PHP-Code lässt sich diese Ersetzung automatisch auflösen: 62

63 Verstecken mit HTML-Code #!/usr/local/bin/php <? echo preg_replace('/&#([0-9]+);/e',"chr('\$1}')", file_get_contents('php://stdin'));?> Dieses kleine Script liest von der Standardeingabe (STDIN) HTML-Code mit ASCII-Entities ein und gibt auf der Standardausgabe den Klartext aus. Es mag ungewöhnlich erscheinen, PHP von der Kommandozeile zu verwenden, aber PHP bietet den Vorteil, regular expressions mit Funktionen zu koppeln, in diesem Fall mit der Funktion chr, die das Zeichen zu einem ASCII-Code ausgibt. Dadurch lässt sich die Ersetzung so einfach codieren. Die ab PHP verfügbare Funktion decode_html_entities() ersetzt zumindest in PHP bis Version keine numerischen HTML-Entities und ist daher für diesen Zweck ungeeignet. Da das Script von STDIN liest und auf STDOUT ausgibt, kann es einfach in den oben beschriebenen Beispielharvester (Kapitel 3.2.1) eingesetzt werden, z.b. bevor sed ausgeführt wird. Damit das Script an der Kommandozeile ausgeführt werden kann, muss PHP mit dem Command-Line-Interface (CLI) kompiliert werden. Das ist bei den meisten RPM-Versionen standardmäßig der Fall. Die erste Zeile im Script gibt an, wo PHP auf dem jeweiligen System installiert ist. Dadurch muss beim Aufruf des Scripts nicht der PHP-Interpreter mit angegeben werden, sondern es kann direkt von der Kommandozeile aus gestartet werden. Die Alternative ist wiederum lynx mit der Option -dump: Auch hier werden die Ersetzungen rückgängig gemacht und die -Adressen im Klartext ausgegeben. URL-Encoding Genauso funktioniert das URL-Encoding und es kämpft mit den gleichen Restriktionen. Spammer verwenden es gerne in Phishing-Mails, um die Identität der aufgerufenen Webseite zu verschleiern. Der Link, der eine -Adresse verschleiert, sähe dann so aus: <A HREF="mailto:%75%73%65%72%40%65%78%61%6D%70%6C%65%2E%63%6F%6D"> senden</a> No Spam! 63

64 5 -Adressen von Webseiten verbannen Die Manipulation erfolgt hier also zur Tarnung des Links selbst. Die auf der Seite angegebene Mailadresse müsste mit anderen Mitteln verdeckt werden. Auch hier ist es ein Leichtes, die Ersetzungen rückgängig zu machen der mailto:-vorspann, der sich noch dazu nicht verschlüsseln lässt, macht es nochmals um einiges leichter, diese Zeichenkette als Mailadresse zu identifizieren. Das folgende PHP-Script führt wiederum die Rückübersetzung durch: #!/usr/local/bin/php <? echo urldecode(file_get_contents('php://stdin'));?> Dabei lassen sich dieses Script sowie das obige Script sehr einfach zu einem Script vereinen, um damit sowohl URL-Encoding als auch HTML-Entities rückgängig zu machen. Beide Verfahren versprechen also nur vorübergehend Sicherheit. Tabellen Erfolgversprechender erscheint die Verwendung von Tabellen: Man schreibt einen mehrzeiligen Text über mehrere Tabellenzellen verteilt. Betrachten wir das an einem Beispiel: <HTML> <HEAD> <TITLE>Tabellentest</TITLE> </HEAD> <BODY> <H1>Verdeckte Mailadresse</H1> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"> <TR VALIGN="TOP"> <TD>M<BR />u</td> <TD>e<BR />s</td> <TD>i<BR />e</td> <TD>n<BR />r</td> <TD>e<BR <TD> <BR />e</td> <TD>M<BR />x</td> <TD>a<BR />a</td> <TD>i<BR />m</td> <TD>l<BR />p</td> 64

65 Verstecken mit HTML-Code <TD>a<BR />l</td> <TD>d<BR />e</td> <TD>r<BR />.</TD> <TD>e<BR />c</td> <TD>s<BR />o</td> <TD>s<BR />m</td> <TD>e<BR /> </TD> </TR> </TABLE> </BODY> </HTML> Diese HTML-Seite erzeugt z.b. im Textbrowser Links die Ausgabe in Abbildung 5.2 (die Schriftgröße in der Terminalemulation wurde stark vergrößert). Abb. 5.2: -Adresse versteckt in einer Tabelle In Mozilla sieht die Ausgabe etwas verbeult aus, denn Mozilla verwendet als Standardschrift eine so genannte Proportionalschriftart. Dabei wird für jeden Buchstaben nur so viel Platz reserviert, wie er wirklich benötigt. Das i ist also deutlich schmaler als das m. Genau diese beiden Zeichen stehen aber in unserem Beispiel übereinander. Allerdings lässt sich das optische Problem durch die Wahl von Schriftarten und -größen, die Formatierung der Tabellenzellen und eventuell auch durch No Spam! 65

66 5 -Adressen von Webseiten verbannen das Zusammenführen von zwei oder mehr Zellen zu einer größeren durchaus lösen. In dem Textbrowser Links fällt dieser Effekt nicht auf, da er mit festen Buchstabenbreiten arbeitet wie man in Abbildung 5.2 sieht. Um das Tabellenlayout zu knacken, muss der Harvester HTML interpretieren können, die tatsächliche optische Darstellung ermitteln und das Ergebnis dieser Bearbeitung auswerten. Das setzt etwas mehr Know-how voraus, als lediglich Kommentare zu entfernen und ASCII-Codes zu ersetzen. Meines Wissens gibt es derzeit kein Programm, das diese Übersetzung leisten kann. Mit dieser Art der Tarnung kämpfen ebenfalls die Spamfilter: Denn auch diese Methode verwenden Spammer in ihren s, um Begriffe für die Spamfilter unsichtbar zu machen. Die Tabelle muss dabei immer mindestens zweizeiligen Text enthalten: Erst dadurch führt das einfache Entfernen aller HTML-Tags zu sinnlosem Buchstabensalat. In unserem Beispiel lautet der Text ohne HTML-Tags: emxaaimlpalder.ecsosme. Zudem hat dieses Verfahren gegenüber allen anderen, die wir jetzt noch betrachten werden, den Vorteil, auch mit Textbrowsern kompatibel zu sein. Nahezu alle Browser, bis auf Lynx, können Tabellen darstellen. Somit kann die E- Mail-Adresse von (fast) allen Nutzern vernünftig erkannt werden. Ob auch spezielle Lesegeräte, wie eine Braille-Zeile, mit dieser Darstellung zurechtkommen, ist mir nicht bekannt. Allerdings steht zu befürchten, dass sie Schwierigkeiten haben dürften. Die -Adresse kann auch hier wieder verlinkt werden jedoch mit etwas mehr Aufwand, weil in jeder Tabellenzelle ein Link gesetzt werden muss Rechtliches Sämtlichen Verfahren ist gemein, dass sie mit fast allen verfügbaren Browsern problemlos funktionieren. Somit sind für jeden Besucher der Seite die - Adressen unmittelbar lesbar. Damit wird eine Adresse der elektronischen Post, nämlich eine -Adresse, dargestellt und dieser Bedingung des 6 Nr. 2 TDG genüge getan. Somit dürften sich aus diesen Codierungsverfahren keine Angriffsmöglichkeiten für eine Unterlassungsaufforderung konstruieren lassen. 66

67 Bilder und Ähnliches Insbesondere die Lösung, die mit Einfügen von Leerzeichen arbeitet, ist auch barrierefrei und zudem kaum zu knacken. Damit stellt das ein effektives Verfahren zur Tarnung der Mailadresse dar. 5.3 Bilder und Ähnliches Die Codierung der -Adresse mit HTML-Mitteln hat vor allem für den Ersteller der Seite den Nachteil, sehr zeitaufwendig und umständlich zu sein. Weniger arbeitsaufwendig scheint die Verwendung von Bildern Adresse als Bild Am einfachsten erstelle man dazu einmal die Seite mit einem richtigen Maillink, um anschließend einen Screenshot 29 der angezeigten Seite mit dem echten Maillink zu machen und diesen Teil der Grafik auszuschneiden und in einer GIF-Datei zu speichern 30. Es empfiehlt sich dabei, den Hintergrund transparent zu wählen. Dann ersetze man in der HTML-Datei den Maillink von <A HREF=./kontakt.html durch <A HREF=./kontakt.html ><IMG SRC="mailadresse.gif"></A> Auf diesem Weg sieht man der -Adresse auf der Seite (fast) nicht an, dass sie als Bild eingefügt wurde. Für den normalen Surfer, der mit einem grafikfähigen Browser unterwegs ist, der so konfiguriert ist, dass er Bilder anzeigt, ist die Mailadresse sichtbar. Für Anwender, die einen Textbrowser verwenden oder deren Browser per Konfiguration so eingestellt ist, dass er keine Bilder anzeigt, bleibt die Mailadresse dagegen verborgen. Auch dürften Anwender, die beispielsweise über eine Braille-Zeile surfen, ausgebremst werden. 29. Auf Windows-Rechnern mit der Taste PrtScr bzw. Druck, auf Linux-Systemen z.b. mit The Gimp, erhältlich unter JPEG ist für solche Grafiken unsinnig der Kompressionsalgorithmus von JPEG ist eher auf Fotos optimiert, der von GIF auf solche Bilder. No Spam! 67

68 5 -Adressen von Webseiten verbannen HTML-Hinweise In jedem Fall sollte für dieses Bild wie für jedes andere Bild auf einer Homepage auch sowohl die Höhe als auch die Breite (HEIGHT=, WIDTH= ) angegeben werden, damit der Browser die Seite von Anfang an richtig berechnen und darstellen kann. Außerdem sollte ein aussagekräftiger Alternativtext angegeben werden. Dieser Text wird von Textbrowsern immer und von normalen Browsern so lange angezeigt, bis das Bild geladen wurde. Die meisten grafikfähigen Browser zeigen ihn auch an, wenn man mit dem Mauszeiger über das Bild fährt 31. Allerdings sollte der Alternativtext nicht die -Adresse selbst enthalten sonst beißt sich die Katze in den Schwanz. Technische Bewertung Das Verfahren ist sehr effizient: Würde ein Harvester alle Bilder einer Seite herunterladen, steigt das zu übertragende Datenvolumen erheblich. Momentan beschränken sich diese Programme daher auf das Auslesen von HTML-Seiten, die im Allgemeinen deutlich kleiner als Bilder sind. Außerdem müsste der Harvester dann in der Lage sein, GIF-, PNG- und JPEG- Bilder richtig zu decodieren. Er müsste weiterhin über eine OCR-Software, also ein Programm zur Zeichenerkennung, verfügen, durch die er dann den in Bildern enthaltenen Text automatisch extrahieren kann. Geht man davon aus, dass ein Promille der Bilder im Netz -Adressen enthalten, was wahrscheinlich bereits um einige Zehnerpotenzen zu hoch gegriffen ist, dann müssen 1000 Bilder für eine -Adresse analysiert werden. Der Rechenzeitaufwand ist gigantisch und nicht sonderlich erfolgversprechend: Die Erkennungsfehler der OCR-Software sind immer noch recht hoch. Zudem lässt sich die Erkennungsrate durch geschickte Gestaltung des Bilds weiter verschlechtern. Außerdem spricht nichts dagegen, das Bild zu zerschneiden und durch mehrere, kleine Bilder zu ersetzen. Spätestens jetzt ist die OCR-Software am Ende: Keines der Bilder enthält eine vollständige -Adresse. 31. Ausführlicher dazu: bzw. [MÜN02] und [MÜN02a] 68

69 Bilder und Ähnliches Rechtliche Bewertung Fraglich ist natürlich, ob diese Lösung mit 6 Nr. 2 TDG kompatibel ist: Denn nicht jeder bekommt das Bild zu sehen, die -Adresse ist somit nicht immer angegeben. Andererseits kann man heutzutage davon ausgehen, dass die Surfer in der Mehrheit über einen grafikfähigen Browser verfügen, wie man diversen Statistiken (z.b. auf [WIL04d]) entnehmen kann. Das ist auch logisch, denn auf vielen Seiten ist ohne Grafiken gar nichts zu erkennen. Damit wäre es wenig plausibel, dass ein Surfer ohne grafikfähigen Browser das Impressum und damit die scheinbar fehlende -Adresse entdecken könnte. Somit dürfte sich der Versuch, einen entsprechenden Unterlassungsanspruch gerichtlich durchzusetzen, mit der Begründung, dass der Seitenbetreiber nicht für technische Besonderheiten und daraus resultierende Probleme eines Einzelfalls verantwortlich sein kann, abschmettern lassen wobei das in der rechtswissenschaftlichen Literatur durchaus umstritten ist ([AND04a]). Denn auch dem Nutzer eines solchen Browsers ist es nicht unmöglich, die über einen Alternativtext gekennzeichnete Grafik herunterzuladen und mit einem geeigneten Programm zu betrachten. Zudem kann der Forderung nach unmittelbarer Angabe der -Adresse das schützenswerte Interesse des Seitenbetreibers entgegengehalten werden, seine -Adresse nicht automatisch in die Listen von Spammern eintragen zu lassen. Damit dürfte eine Darstellung der -Adresse als Grafik meiner Ansicht nach gerade noch im Rahmen des rechtlich Vertretbaren liegen. Anders ist die Lage zu beurteilen, wenn die Seite gezielt barrierefrei gestaltet wurde PDF Statt in eine Grafik lässt sich eine -Adresse natürlich auch in eine PDF- Datei schreiben. Auf sie kann man mit einem Link hinweisen; anders als eine Grafik lässt sie sich jedoch nicht in die Webseite einbinden. 6 Nr. 2 TDG fordert aber nur die Angabe einer -Adresse. Über die Form ist nichts ausgesagt. Programme zur Darstellung von PDF-Dateien existieren für alle gängigen Betriebssysteme und Plattformen: Mittlerweile gibt es sogar PDF-Reader für PalmOS und Symbian. PDF-Dateien können somit von fast allen Systemen dargestellt werden, bei geeigneter Gestaltung können sie sogar über eine No Spam! 69

70 5 -Adressen von Webseiten verbannen Braille-Zeile ausgegeben werden. Insofern dürfte die rechtliche Lage der für Grafiken mindestens vergleichbar sein. Von Nachteil ist jedoch, dass sich der Text aus PDF-Dateien problemlos extrahieren lässt, die entsprechenden Funktionen sind beispielsweise im Acrobat Reader zum Markieren und Kopieren von Text enthalten. Auch eine automatische Umsetzung ist möglich so durchsucht Google auch PDF-Dateien und nimmt sie in den Index auf. Diese Extraktion ist dabei unabhängig von einer eventuell in der PDF-Datei eingerichteten Sperre für Cut-and-Paste. Da auf vielen Webseiten PDF-Dokumente abgelegt sind und viele dieser Dokumente die -Adresse des Autors enthalten, könnte es sich für Spammer durchaus lohnen, PDF-Dateien von einem Harvester automatisiert auszuwerten, auch wenn bisher noch kein Harvester bekannt ist, der das leistet. Der Umweg über eine OCR-Software ist hier nicht notwendig, denn ein PDF- Dokument enthält eine Beschreibung der Seite. Dabei bleibt, ähnlich wie in einer HTML-Datei, der Originaltext erhalten 32. Insofern wäre eine Lösung mittels einer PDF-Datei schlechter als die Grafikvariante und somit ungeeignet Flash Viele Anwender haben heutzutage auch die Möglichkeit, Flash-Filme zu betrachten. Diese Filme werden gerne als Intro für Homepages missbraucht und sollen damit wohl demonstrieren, dass der Gestalter der Seite auch mit Flash umgehen kann. Daher werden reine Flash-Seiten von erfahrenen Net-Citizens häufig nicht sonderlich geschätzt, da dort Flash oft nur Selbstzweck ohne Zusatznutzen ist. Allerdings können Flash-Filme auch durchaus sinnvolle Anwendungen realisieren. So lassen sich beispielsweise komplexe, technische Zusammenhänge interaktiv veranschaulichen. Auch kleine Spiele lassen sich in Flash verwirklichen und können damit ein nettes Gadget sein. Flash ist interaktiv, insbesondere können in Flash-Filmen Aktionen auf Mausklicks ausgelöst werden. Flash kann auch Links enthalten und damit ebenfalls Links auf -Adressen. Und Flash lässt sich problemlos in Webseiten integrieren. 32. Siehe dazu: 70

71 Bilder und Ähnliches Damit könnte man Links auf s anklickbar mit mailto-links in einen Flash-Film packen. Der Haken an der Sache: Das offizielle Programm von Macromedia, um Flashdateien zu generieren, ist sehr teuer. Allerdings gibt es mittlerweile im Netz zahlreiche Gratislösungen 33, die, eventuell mit eingeschränktem Funktionsvorrat, das kostenlose Erzeugen von Flash-Dateien ermöglichen. Auch kann das kostenlose Office-Paket OpenOffice.org ( dessen Funktionsumfang dem kommerzieller Konkurrenten entspricht und völlig ausreichend ist, um Dokumente wie dieses Buch zu erstellen, und sein für Forschung und Lehre kostenloser großer Bruder Star- Office ( Präsentationen als Flash-Filme exportieren. Jedoch setzt das Abspielen von Flash-Filmen die Verfügbarkeit des Flash- Players voraus. Den gibt es zwar mittlerweile für eine Vielzahl von Plattformen, aber er ist nicht standardmäßig auf allen Systemen verfügbar. Einige Anwender begründen ihre Weigerung, Flash zu installieren, mit daraus resultierenden Sicherheitsrisiken 34. Damit dürfte anders als bei Grafiken der Vortrag eines eventuellen Unterlassungsklägers aufgrund der Vorschriften des 6 Nr. 2 TDG mehr Substanz haben und könnte damit auch eher zum Erfolg führen. Und zu guter Letzt auch in Flash-Dateien werden Textinformationen 35 im Prinzip als Text gespeichert. Sie lassen sich somit automatisiert extrahieren, auch wenn mir bislang keine Anwendung bekannt ist, die das tut. Die Flash-Lösung hat also bis auf die Möglichkeit, einen Link direkt einzutragen keine Vorteile gegenüber einer eingebundenen Grafik, aber erhebliche Nachteile. Insofern erscheint sie mir weder aus rechtlicher noch aus technischer Sicht empfehlenswert. 33. Beispielsweise auf und dem gruselig gestalteten Siehe dazu: [SCHWE04], von realen Fällen berichtet: [BAC04b] 35. Siehe dazu: flash/open/spec/ No Spam! 71

72 5 -Adressen von Webseiten verbannen 5.4 JavaScript Eine andere Alternative ist es, mit JavaScript die -Adresse auf der Webseite auszugeben. JavaScript kann derzeit von Harvestern noch nicht ausgeführt werden. Der Aufwand, einen Harvester entsprechend anzupassen, wäre schlicht zu hoch. Und das, obwohl man sich beispielsweise die Java- Script-Bibliotheken des OpenSource-Browsers Mozilla herunterladen und in seinen Harvester integrieren könnte. Da sich aber auf herkömmlichem Weg noch ausreichend -Adressen sammeln lassen, ist der Aufwand unverhältnismäßig hoch. Die meisten Browser können im Gegensatz zu Harvestern mit JavaScript umgehen. Ausnahmen sind die textbasierten Browser wie Lynx und Links. In vielen Browsern deaktivieren außerdem Anwender aus Sicherheitsgründen JavaScript. Gerade die Produkte von Microsoft, die JavaScript mit ActiveX koppeln, weisen aufgrund von Programmierfehlern insbesondere im ActiveX erhebliche Sicherheitslücken auf. So sind ActiveX-Controls fast schon Standard, um ohne Nutzerinteraktion 0190-Dialer zu installieren. Leider kann man im Internet Explorer JavaScript nur zusammen mit ActiveX deaktivieren. Für JavaScript hege ich wegen der begründeten, eingeschränkten Verfügbarkeit daher grundsätzlich die gleichen Bedenken bezüglich der rechtlichen Implikationen wie ich sie oben für die Flash-Lösung (Seite 70) beschrieben habe. Allerdings ist JavaScript aus technischer Sicht sehr effektiv Das Grundprinzip Mit JavaScript lässt sich eine -Adresse relativ elegant tarnen. Der einfachste Ansatz ist dabei: <HTML> <HEAD> <TITLE>Beispielseite</TITLE> <SCRIPT LANGUAGE= JavaScript > <!-- mailadresse = 'user@example.com'; //--> </SCRIPT> </HEAD> 72

73 JavaScript <BODY>... <SCRIPT LANGUAGE= JavaScript > <!-- document.write('<a HREF= mailto:'+mailadresse+' >'+ mailadresse+'</a>'); //--> </SCRIPT>... </BODY> </HTML> Allerdings hat dieser einfache Ansatz gleich zwei Haken: Einmal steht die E- Mail-Adresse in lesbarer Form direkt in der Datei, zum anderen ist es relativ umständlich, einen -Link anzugeben. Als Abhilfe für das erste Problem bietet es sich an, das Script aus einer externen Datei nachzuladen. Das hat zudem den Vorteil, dass man für den Fall einer Änderung der Mailadresse diese nur einmal für die gesamte Webseite ändern muss. Damit entsteht eine zweite Datei, die ich im Folgenden .js nenne. Sie enthält die notwenigen JavaScripten. Zunächst besteht sie nur aus einer Zeile: mailadresse = 'user@example.com'; Die HTML-Datei ändert sich dann zu: <HTML> <HEAD> <TITLE>Beispielseite</TITLE> <SCRIPT LANGUAGE="JavaScript" src="./ .js"> </SCRIPT> </HEAD> <BODY>... <SCRIPT LANGUAGE= JavaScript > <!-- document.write('<a HREF= mailto:'+mailadresse+' >'+ mailadresse+'</a>'); //--> </SCRIPT>... </BODY> </HTML> No Spam! 73

74 5 -Adressen von Webseiten verbannen Der Unterschied ist klein aber effektiv: Harvester laden derzeit keine Java- Script-Dateien nach, denn den enthaltenen JavaScript-Code können sie nicht interpretieren. Damit ist die Mailadresse versteckt. Doch ist es prinzipiell kein Problem, einen Harvester so zu erweitern, dass er JavaScript-Dateien ebenfalls herunterlädt und nach -Adressen durchsucht. Damit wäre der Vorteil dahin. Ein anderer Nachteil wiegt jedoch viel schwerer: Es ist nicht definiert, wann der Browser die JavaScript-Datei nachlädt. Damit kann es sein, dass der Browser die JavaScript-Datei noch nicht geladen hat, wenn er zur Funktion document.write kommt und diese ausführt. Diese verwendet dann aber eine Variable, deren Wert noch nicht definiert ist, was zum einen zu einem JavaScript- Fehler führt, zum anderen aber auch dazu, dass keine Mailadresse ausgegeben wird. Die Lösung mit der externen JavaScript-Datei ist so also noch unbrauchbar Eine stabilere Lösung Es muss eine stabilere Lösung her günstigerweise sogar so, dass die notwendigen JavaScript-Befehle kürzer werden. Und so, dass das Ganze auch mit einer externen JavaScript-Datei funktioniert der Vorteil der einfacheren Wartung soll erhalten bleiben. Dazu bietet es sich an, die Datei .js wie folgt abzuändern: function mailme() document.location.href="mailto:"+mailadresse; } Damit ändert sich auch die zugehörige HTML-Datei: <HTML> <HEAD> <TITLE>Beispielseite</TITLE> <SCRIPT LANGUAGE="JavaScript" src="./ .js"> </SCRIPT> </HEAD> <BODY>... <A HREF="javascript:mailMe();"> senden</a> 74

75 JavaScript... </BODY> </HTML> Allerdings wird hier keine -Adresse ausgegeben, sondern nur ein -Link angelegt. Möchte man die -Adresse ausgeben, bleibt entweder das document.write() -Problem bestehen oder man müsste die Funktion mailme() in jede HTML-Datei einfügen. Dann könnte man wiederum problemlos mit document.write() arbeiten: <HTML> <HEAD> <TITLE>Beispielseite</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function mailme() document.location.href="mailto:"+mailadresse; } //--> </SCRIPT> </HEAD> <BODY>... <A HREF="javascript:mailMe();"><SCRIPT LANGUAGE="JavaScript"> <!-- document.write(mailadresse); //--> </SCRIPT></A>... </BODY> </HTML> Ich favorisiere die Verwendung einer externen JavaScript-Datei dadurch wird der Pflegeaufwand für die Gesamtseite kleiner allerdings um den Preis, die -Adresse nicht direkt mittels eines JavaScripts ausgeben zu können. Möchte man nicht auf die HTML-Verfahren zurückgreifen, kann man die Ausgabe in etwas anderer Form auch in JavaScript lösen. Dazu erweitert man die Datei .js um eine weitere Funktion: No Spam! 75

76 5 -Adressen von Webseiten verbannen function mailme() document.location.href="mailto:"+mailadresse; } function showmail() alert('die -Adresse lautet'+mailadresse+'.'); } Dazu passt dann beispielsweise die folgende HTML-Datei: <HTML> <HEAD> <TITLE>Beispielseite</TITLE> <SCRIPT LANGUAGE="JavaScript" src="./ .js"> </SCRIPT> </HEAD> <BODY>... <A HREF="javascript:mailMe();"> senden</a><br /> <A HREF="javascript:showMail();"> -Adresse anzeigen</a>... </BODY> </HTML> Die -Adresse wird jetzt in einem kleinen JavaScript-Popup angezeigt. Für welche Variante Sie sich letztlich entscheiden, bleibt Ihnen überlassen. Sie kennen jetzt einige Beispielmethoden, die Grundlage für Ihre eigenen Weiterentwicklungen sein können. Ich gehe im Folgenden davon aus, dass eine Möglichkeit zur Verfügung steht, die -Adresse auszugeben, und werde weiterhin mit einer Datei .js und einer HTML-Seite arbeiten, in der nur ein Link auf die -Adresse existiert Theoretische Informatik ausnutzen Noch ist die bisherige Lösung nicht optimal: In der JavaScript-Datei steht immer noch eine -Adresse im Klartext. Damit ist sie leicht von jedem Harvester, der sich die Mühe macht, JavaScript-Dateien herunterzuladen, aufzufinden. Der Harvester muss dazu noch nicht einmal JavaScript können es 76

77 JavaScript reicht aus, wenn er mit einer regular expression nach etwas sucht, das aussieht wie eine Mailadresse. Also wäre eine Lösung sinnvoll, die die Mail-Adresse nicht im Klartext enthält. Viele denken dabei sofort an Verschlüsselung mit etwas Wissen aus der theoretischen Informatik geht es aber auch einfacher: Denn grob zusammengefasst sagt der Satz von Rice, dass es kein Programm gibt, das erkennen kann, was ein anderes Programm macht. Eine Tatsache, die Sie leicht an Ihrem Virenscanner nachprüfen können: Der lädt regelmäßig Signatur-Updates herunter, um auch neue Viren zu erkennen. Könnte er bestehende Programme auf ihre Funktion untersuchen, würde er auch unbekannte Viren erkennen. Also reicht es aus, zur Tarnung der Adresse den Harvester zu zwingen, Java- Script auszuführen. Am einfachsten geht das mit folgender .js: localpart='user'; domain='example'; toplevel='com'; mailadresse=localpart; mailadresse+=domain+'.'+toplevel; function mailme() document.location.href="mailto:"+mailadresse; } Dort wird die Mailadresse nach und nach aus ihren verschiedenen Teilen zusammengebaut. Das ist für uns Menschen leicht lesbar ein Harvester müsste, um die Adresse zu finden, jedoch JavaScript beherrschen Mit Verschlüsselung Um auch für Menschen die unmittelbare Lesbarkeit zu erschweren ohne jedoch den Schutz vor Harvestern zu erhöhen, lässt sich die -Adresse auch mit JavaScript-Mitteln verschlüsseln. Welches Verfahren dabei zum Einsatz kommt, ist de facto unerheblich: In der JavaScript-Datei stehen der komplette Dechiffrieralgorithmus und der notwendige Schlüssel. Damit kann jeder, der JavaScript ausführen kann, auch die verschlüsselte -Adresse auslesen. No Spam! 77

78 5 -Adressen von Webseiten verbannen Das ist auch in Ordnung so, denn das Ziel ist, dass jeder Browser später die E- Mail-Adresse anzeigen kann. Es soll nur verhindert werden, dass Harvester die Adresse auslesen können. Und das wird aufgrund der Annahme, dass Harvester kein JavaScript ausführen, erreicht. Daher kann ein einfacher Verschlüsselungsalgorithmus angewandt werden, beispielsweise Cäsars Schiebealgorithmus 36. Der wird in verschiedenen Ausprägungen empfohlen manche sagen, dass eine Verschiebung um ein Zeichen genüge, da das im Notfall auch ohne JavaScript leicht im Kopf nachgerechnet werden könne. Andere schlagen vor, das verbreitete ROT13-Verfahren zu verwenden. Dabei wird das Alphabet um dreizehn Zeichen verschoben. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Abb. 5.3: Beispiel für ein einfaches Schiebealphabet Abbildung 5.3 zeigt ein Schiebealphabet mit dem Schlüssel 3, also einer Verschiebung um drei Zeichen. Eine weitere Möglichkeit, die nichts anderes leistet als das Schiebealphabet, sieht das Anwenden einer XOR-Verknüpfung auf jedes Zeichen vor. XOR ist ein logischer Operator 37, der auf jedes Bit des ASCII-Werts des Zeichens angewandt wird und im Gegensatz zu den anderen booleschen Operatoren den Vorzug hat, wieder eindeutig umkehrbar zu sein. Im Ergebnis sind alle diese Verfahren äquivalent. Ich wähle für das Beispiel hier wegen der einfachen Implementation XOR. Das Symbol für XOR in Java- Script ist der Circonflexe: ^. Damit sieht die neue .js mit dem Schlüsselwert 183 wie folgt aus: local = new Array (194,196,210,197); local_part = ''; domain = new Array (210,207,214,218,199,219,210,153,212,216,218); domain_part = ''; 36. Dazu einführend z.b. [EGG04e], detaillierter [BAU93], [BAU00], [BEU02], [BEU02a], [SIN04] oder auch [SCHWE02] 37. Siehe dazu z.b. [EGG05], dort den Exkurs zur booleschen Algebra 78

79 JavaScript 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; } Die HTML-Datei selbst ändert sich nicht: <HTML> <HEAD> <TITLE>Beispielseite</TITLE> <SCRIPT LANGUAGE="JavaScript" src="./ .js"> </SCRIPT> </HEAD> <BODY>... <A HREF="javascript:mailMe();"> senden</a>... </BODY> </HTML> Die JavaScript-Datei definiert zwei Arrays: local und domain. local enthält alle Zeichen vor in diesem Fall user, in verschlüsselter Form. domain umfasst alle Zeichen nach in diesem Fall wieder example.com. Die beiden for-schleifen führen die Entschlüsselung der beiden Teile der Mailadresse durch und schreiben die Ergebnisse in local_part bzw. domain_part. Anschließend werden local_part, das den ASCII-Code 64 hat, und domain_part zu einer -Adresse zusammengefügt. Die for-schleifen sind in einer verkürzten Form geschrieben. Ausgeschrieben sieht die Schleife für den Local-Part wie folgt aus, was auf den ersten Blick vielleicht leichter lesbar ist: for (i=0; i<local.length; i++) local_part += String.fromCharCode(local[i] ^ 183); } No Spam! 79

80 5 -Adressen von Webseiten verbannen Damit bleibt ein letztes Problem bestehen: das Verschlüsseln. Denn schließlich müssen die Zahlenwerte in die beiden Arrays eingefügt werden. Um Ihnen die dafür nötige Arbeit so leicht wie möglich zu machen, habe ich eine kleine HTML-Datei vorbereitet, die die notwendigen Funktionen zur Verschlüsselung bereitstellt: <HTML> <HEAD> <!-- **************************************************************** XOR-Verschlüsselung in HTML und JavaScript Autor: Tobias Eggendorfer (c) 2004, 2005 **************************************************************** --> <TITLE>XOR-Verschlüsselung</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function validate_key() /* Ueberprueft den Schluessel auf Plausibilitaet. */ schluessel = false; if ( (document.krypt.schluessel) && (isnan(document.krypt.schluessel.value) == false) && (document.krypt.schluessel.value > 0) && (document.krypt.schluessel.value < 256) ) schluessel = document.krypt.schluessel.value; } else alert('bitte geben Sie einen gueltigen '+ 'Schluessel ein.'); } return schluessel; } 80

81 JavaScript function validate_msg() /* Ueberprueft die Nachricht auf Gueltigkeit. */ nachricht = false; if ( (document.krypt.nachricht) && (document.krypt.nachricht.value!= '') ) nachricht = document.krypt.nachricht.value; } else alert('bitte geben Sie den zu '+ 'verschluesselnden Text ein.'); } return nachricht; } function encrypt(schluessel,nachricht) numbers=''; for (i=0; i<nachricht.length; numbers+=(nachricht.charcodeat(i) ^ schluessel)+", ", i++); return numbers; } function ausgabe(numbers) if (document.krypt.ausgabe) document.krypt.ausgabe.value = numbers; } else alert('ausgabefehler aufgetreten.'); } } No Spam! 81

82 5 -Adressen von Webseiten verbannen function do_it() if ( (schluessel = validate_key()) && (nachricht = validate_msg()) ) numbers = encrypt(schluessel,nachricht); ausgabe(numbers); } return false; // Unterdruecke Form-Action } //--> </SCRIPT> </HEAD> <BODY> <H1>Verschlüsseln mit XOR</H1> <FORM METHOD="GET" ACTION="./xor_encrypt.html" NAME="krypt" > <P>Der Schluessel (Ganzzahl zwischen 1 und 255) <INPUT TYPE="text" NAME="schluessel" /> </P> <P>Der zu verschluesselnde Text: <INPUT TYPE="text" NAME="nachricht" /> </P> <P><INPUT TYPE="BUTTON" VALUE="Verschlüsseln" onclick='do_it(); return false;'/> <INPUT TYPE="Reset" VALUE="Rücksetzen" /> </P> <P>Das Chiffrat: <TEXTAREA NAME="ausgabe"></TEXTAREA> </P> </FORM> </BODY> </HTML> Im Beispiel ist der JavaScript-Code in der Seite bewusst defensiv programmiert und er prüft alle erhaltenen Eingaben kritisch ab. [TUCEK] implementiert eine ähnliche Lösung, verwendet jedoch einen wesentlich aufwändigeren Verschlüsselungsalgorithmus: Kann der Harvester Java- Script ausführen, ist die Güte des Verschlüsselungsalgorithmus irrelevant, da sowohl Algorithmus als auch Schlüssel unmittelbar in JavaScript codiert sind. 82

83 JavaScript Harvester mit JavaScript Wollte man auch JavaScript-fähige Harvester blockieren, müsste man den Nutzer auffordern, den auf der Seite angegebenen Schlüssel in eine Dialogbox einzugeben. Das würde eine einfache Mensch-Maschine-Erkennung implementieren und damit den Harvester nachhaltig ausbremsen. Denn jetzt reicht es für den Harvester nicht mehr aus, nur JavaScript zu lernen, er muss auch korrekte Eingaben in eine Benutzerschnittstelle vornehmen können. Das wäre dann doch etwas zu viel der künstlichen Intelligenz. Die .js für eine solche Lösung sieht wie folgt aus: local = new Array (194,196,210,197); domain = new Array (210,207,214,218,199,219,210,153,212,216,218); function decode_mailadresse() domain_part = ''; local_part = ''; schluessel = prompt('bitte geben Sie die Zahl 183 ein, um die '+ 'Mail-Adresse zu erhalten.',''); if ( (isnan(schluessel) == false) && (schluessel == 183) ) for (i=0; i<local.length; local_part += String.fromCharCode(local[i] ^ schluessel), i++); for (i=0; i<domain.length; domain_part += String.fromCharCode(domain[i] ^ schluessel), i++); mailadresse = local_part + String.fromCharCode(64) + domain_part; } else mailadresse = 'Ihre Eingabe war falsch. Bitte nochmal probieren.'; } return mailadresse; } No Spam! 83

84 5 -Adressen von Webseiten verbannen function mailme() document.location.href="mailto:"+mailadresse; return false; } Auch die HTML-Datei muss minimal geändert werden: <HTML> <HEAD> <TITLE>Beispielseite</TITLE> <SCRIPT LANGUAGE="JavaScript" src="./ .js"> </SCRIPT> </HEAD> <BODY onload='mailadresse=decode_mailadresse();'>... <A HREF="javascript:mailMe();"> senden</a>... </BODY> </HTML> Jetzt wird der Besucher beim Aufruf der Seite aufgefordert, die Zahl 183 einzugeben, die dann unmittelbar als Schlüssel verwendet wird. Alternativ könnte man die Entschlüsselungsfunktion auch aus der Funktion mailme() aufrufen JavaScript-freie Browser [BELL03] hat einen interessanten Lösungsvorschlag, die JavaScript-Lösung zu Browsern kompatibel zu gestalten, die kein JavaScript unterstützen. Die Idee basiert darauf, einen Link auf die Kontaktseite bei verfügbarem Java- Script durch einen Link auf die -Adresse zu ersetzen. Dadurch erhalten Nutzer, die ohne JavaScript surfen, die Kontaktseite angeboten. Bei Nutzern, die über JavaScript verfügen, wird ein mailto-link ausgeführt. Dazu muss die weiter oben beschriebene .js wiederum nur minimal geändert werden ich verzichte hier wieder auf die Mensch-Maschine-Erkennung, da ich sie für zu aufwendig halte. local = new Array (194,196,210,197); local_part = ''; domain = new Array (210,207,214,218,199,219,210,153,212,216,218); domain_part = ''; 84

85 JavaScript 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; return false; } Die HTML-Seite ändert sich dann zu: <HTML> <HEAD> <TITLE>Beispielseite</TITLE> <SCRIPT LANGUAGE="JavaScript" src="./ .js"> </SCRIPT> </HEAD> <BODY>... <A HREF="kontakt.html" onclick="return mailme();"> senden</a>... </BODY> </HTML> Dadurch, dass die Funktion mailme() den Wert false zurückgibt, wird der Link zum Kontaktformular von einem JavaScript-fähigen Browser nicht aufgerufen, sondern nur der mailto-link ausgeführt. Möchte man dieses Verhalten ändern, muss man lediglich den Rückgabewert von mailme() auf true setzen. Ein Browser ohne JavaScript ignoriert das JavaScript und linkt direkt zum Kontaktformular. Irreführend für den Nutzer könnte es noch sein, dass in der Statuszeile des JavaScript-fähigen Browsers der Link auf das Kontaktformular ausgegeben wird. Das lässt sich jedoch durch folgende Änderung des Links in der HTML- Datei beheben: <A HREF="kontakt.html" onclick="return mailme();" onmouseover="self.status=mailadresse; return true;" onmouseout="self.status=''; return true;"> senden</a> Dieser Lösungsansatz dürfte sich auch günstig auf die oben dargestellte rechtliche Problematik bei der Verwendung von JavaScript auswirken. Dort stützte No Spam! 85

86 5 -Adressen von Webseiten verbannen sich die Argumentation im Wesentlichen darauf, dass viele Nutzer JavaScript aus Sicherheitsgründen deaktivieren. Diese Lösung bemüht sich aber auch um Surfer ohne JavaScript: Diesen wird ein Kontaktformular angeboten. Nutzern, die über JavaScript verfügen, wird die -Adresse unmittelbar ausgegeben. Durch die so gewährleistete hohe Kompatibilität dürfte es schwer fallen, einen Unterlassungsanspruch wegen der Verwendung eines unvollständigen Impressums durchzusetzen. 5.5 Weitere Verfahren [GUN04] berichtet, dass Harvester in zunehmenden Maße auf Suchmaschinen zurückgreifen, um Webseiten mit -Adressen zu finden, und gar nicht mehr die Links auf Webseiten verfolgen. Dieses Verhalten konnte ich aber nicht bestätigen: Die von mir getesteten Harvester verfolgten durchaus Links auf Webseiten. Auch die Zugriffe auf meine Teergrube, die ich in Kapitel 8 beschreibe, dokumentieren, dass Links gefolgt wird. Dieses Verhalten wird auch in den einschlägigen Diskussionsforen vielfältig beschrieben. Harvester nutzen zwar teilweise Suchmaschinen, um die Seiten zielgruppengerecht ausfindig zu machen, die sie anschließend nach Mailadressen abgrasen. Allerdings scheint es mir ineffizient, nur nach Mail-Links zu suchen. Würde jedoch tatsächlich nur nach mailto-links gesucht, dann ließen sich mailto-links mit einem einfachen Redirect verstecken, wie es [WILLI02] vorschlägt. Dazu muss serverseitig ein einfaches Script laufen, das aus einem übergebenen Parameter den passenden Redirect konstruiert. Die einfachste Lösung dazu stellt [WILLI02] selbst vor ohne jedoch eventuelle Sicherheitsprobleme zu berücksichtigen. Nach seinem Vorschlag reicht die folgende Seite aus: <HTML> <HEAD> <TITLE>Beispielseite</TITLE> </HEAD> <BODY>... <A HREF="mail.php?user=user"> senden</a>... 86

87 Test auf echten Webseiten </BODY> </HTML> Das aufgerufene PHP-Script mail.php soll die folgende Form haben: <??> header("location: ". ($user? : " Führt man eine kritischere Prüfung des Eingabenparameters über regular expressions durch, überprüft man, ob der HTTP-Parameter Host tatsächlich gesetzt ist, der erst ab HTTP/1.1 existiert, und erweitert man dieses Script möglichst so, wie den Formmailer im Kapitel Programmbeispiel Formmailer, der nur numerische Parameter akzeptiert, dann könnte dieser Ansatz funktionieren. Allerdings nur unter der falschen Annahme, dass Harvester keinen Links folgen ansonsten liefert man die Mailadresse auf dem Präsentierteller. Daher erscheinen mir die anderen in diesem Kapitel vorgeschlagenen Verfahren effizienter. 5.6 Test auf echten Webseiten Um die Leistungsfähigkeit der beschriebenen Verfahren zu prüfen, führte ich einen Test durch. Dazu habe ich eine neue Webseite eingerichtet, die verschiedene -Adressen mit einigen der hier beschriebenen Verfahren tarnt. Die dafür verwendeten Domains wurden meinen Recherchen zufolge vorher von keinem anderen verwendet. Insofern ist davon auszugehen, dass unter dieser Domain bis zum Start der Tests noch keine -Adressen existierten, so dass die Ergebnisse durch solche Effekte nicht verfälscht sind. Auf einfachen Webseiten, habe ich entsprechend der obigen Vorschläge codierte -Adressen versteckt. Dabei waren die entsprechenden Bereiche mittels geeigneter CSS für normale Besucher unsichtbar, um zu verhindern, dass ein Mensch versehentlich die Adressen liest und sie bei Newslettern anmeldet. Durch ebenso unsichtbare Verlinkung der Testseiten von vielen tausend Webseiten weltweit habe ich sichergestellt, dass möglichst viele Harvester die Seiten besuchten. Das hat auch sehr gut geklappt. Durch die unsichtbaren Links war gewährleistet, dass hauptsächlich automatische Suchprogramme auf die Seite gelangten und nur wenig Menschen. No Spam! 87

88 5 -Adressen von Webseiten verbannen Um die Mailmenge zu dokumentieren, konfigurierte ich einen Mailserver so um, dass er die eingehenden s sortiert nach der verwendeten - Adresse in eine Datenbank einträgt. Für jede Tarnmethode habe ich natürlich eine gesonderte Mailadresse verwendet. Der Test zeigte, dass im Klartext genannte -Adressen bevorzugt bespammt werden. Das geschah unabhängig vom Kontext der Seite: Auch eine in einem JavaScript-Bereich genannte Klartextadresse wurde bespammt. Daraus lassen sich zwei Erkenntnisse über das Verhalten von Harvestern ableiten: 1. Ob eine -Adresse mit mailto: verlinkt ist oder im Klartext unmittelbar angegeben wird, ist unerheblich. Harvester scheinen nach Zeichenketten vom Muster zu suchen. 2. Harvester ignorieren den Kontext der Seite. Als Konsequenz folgt, dass -Adressen also keinesfalls unmittelbar genannt werden dürfen. Interessant ist, dass auch an die per Entities getarnte Adresse Nachrichten geschickt wurden. Offensichtlich machen sich Harvester bereits die Mühe, HTML-Entities aufzulösen. Die Ergebnisse stimmen mit den Ergebnissen aus [CDT03] überein. Spammer sammeln offensichtlich die Adressen ihrer Opfer mittels Harvestern von Webseiten ab. Die im Vergleich zu [CDT03] zusätzlich getesteten Verschlüsselungs- und Tarnverfahren erwiesen sich als effizient gleichzeitig hat sich aber auch gezeigt, dass einfache Verfahren, die nur auf einer Zeichenersetzung beruhen, wie die Tarnung via HTML-Entities, bereits jetzt unsicher sind. Es ist davon auszugehen, dass in Zukunft bald alle Harvester damit umgehen können, wenn diese Verfahren zunehmende Verbreitung finden. Das dürfte auch für URL-encoding gelten. Das eigentlich einfache Verfahren, eine Mailadresse mit Leerzeichen aufzublähen, hat sich als zuverlässiger Schutz erwiesen. Es dürfte sich auch technisch schwierig gestalten, es automatisch zu erkennen und zu entschlüsseln. 88

89 Test mit echten Harvestern 5.7 Test mit echten Harvestern Um die Testergebnisse von oben zu bestätigen, habe ich auf einem Testrechner voll funktionsfähige Demoversionen von vier kommerziell erhältlichen Harvestern installiert. Abb. 5.4: Screenshot von Harvester 1 Abb. 5.5: Ergebnis von Harvester 2 No Spam! 89

90 5 -Adressen von Webseiten verbannen Zwei der drei Programme (siehe Abbildung 5.4 und Abbildung 5.5) fanden nur die im Klartext angegebenen -Adressen. Dabei wurde scheinbar nur nach dem Muster einer -Adresse gesucht, nicht nach dem Link-Beginn mailto:. Die beiden anderen scheinen ausschließlich nach mailto: gesucht zu haben: Sie fanden nur derart verlinkte -Adressen (Abbildung 5.6). So wurden auch die verlinkten, getarnten Adressen entdeckt. Jedoch verfügten beide Programme über keine Funktion, um die Entities bzw. die URL-Verschlüsselung in den Klartext zurückzuführen. Damit sind zwei der drei von diesen beiden Programmen gefundenen mutmaßlichen Mailadressen nicht als Zieladressen für Spam brauchbar, da die notwendige Entschlüsselung in RFC-konforme Mailadressen nicht durchgeführt wurde, wie man in Abbildung 5.6 sieht. Allerdings ist der Entschlüsselungsschritt, wie ich in Kapitel gezeigt habe, trivial. Das überrascht, denn eines der Programme wird damit beworben, dass es auf den Internet Explorer aufsetzen würde und auch mit aufwendig und geschickt getarnten Seiten keine Probleme habe. Abb. 5.6: Ergebnis von Harvester 3 90

91 Test mit echten Harvestern Im Ergebnis bestätigt sich dadurch der Test mit den Webseiten: Aufwendiger getarnte Adressen werden nicht gefunden. Auch wurde die externe JavaScript- Datei von keinem Programm nachgeladen. Beide Tests bestätigen somit, dass die vorgestellten Verfahren zur Tarnung von -Adressen effizient sind und dass es unter dem Gesichtspunkt der Spamprävention sinnvoll ist, keine mailto-links zu verwenden. No Spam! 91

92

93 6 Automatisch tarnen [WHA01] schlägt für dynamisch generierte Webseiten vor, die Ausgabe der -Adresse abhängig vom Besucher unterschiedlich zu gestalten: Besucht ein Harvester die Seite, soll keine Mailadresse ausgegeben werden, bei Menschen jedoch schon. Die Unterscheidung soll dabei anhand des gesendeten User-Agent, einer Identifikation des Browsers, erfolgen. [WHA01] stellt dazu fertige Java-Server-Pages zur Verfügung, die das grobe Funktionsprinzip vorstellen sollen. Allerdings sind wie er selbst in einer -Diskussion sagte bei seiner Lösung noch einige Verbesserungen denkbar, insbesondere wird bei Harvester-Verdacht stets ein Serverfehler HTTP 500 zurückgemeldet, der auf eine Misskonfiguration des Webservers hinweist. Dadurch wird zwar keine -Adresse ausgegeben, aber ein legitimer Besucher der Seite erhält auch keine Informationen, sondern bekommt den Eindruck, dass der Betreiber des Servers einen Fehler gemacht hat. Zudem ist die Unterscheidung von Mensch und Harvester wie in dem von ihm vorgelegten Vorschlag nur über den gesendeten User-Agent sehr fehlerträchtig: Schon der von mir oben beschriebene Minimal-Harvester auf wget-basis (Kapitel 3.2.1) meldet sich mit einem User-Agent, der keinen Verdacht erwecken soll. Das ist ein Vorgehen, von dem anzunehmen ist, dass es dem Standard bei Harvestern entspricht. Das bestätigen auch meine Experimente mit realen Harvestern und der Teergrube. Bis auf wenige Ausnahmen senden sie unauffällige User-Agents. Eine etwas elaboriertere Lösung, die jedoch auch nur anhand des User-Agent eine Mensch-Maschine-Unterscheidung vornimmt, stellt [GUN04] vor. Er blockiert die IP-Adresse des Harvesters automatisiert über eine stateless-firewall auf Basis von ipchains 38. Die Firewall wird dabei dynamisch über ein in Perl geschriebenes Apache-Modul aktualisiert. Doch [GUN04] berichtet selbst, dass seine Sperrentscheidung ausschließlich anhand des User-Agent bereits durch einen geeignet modifizierten Harvester umgangen wurde. 38. Eine Einführung in die Verwendung von ipchains liefert z.b. [ZIE99] No Spam! 93

94 6 Automatisch tarnen Dennoch hat die Idee ihren Reiz: Könnte man sicher Harvester von regulären Benutzern unterscheiden, wäre es problemlos möglich, wieder seine - Adresse auf der Webseite zu veröffentlichen, ohne Gefahr zu laufen, Opfer von Spam zu werden. Doch gerade an der sicheren Erkennung scheitert das Verfahren. Der User-Agent beispielsweise ist nur bedingt geeignet: Er kann beliebig manipuliert werden. Möchte man weitere Verdachtsmomente nutzen, wie die Surfgeschwindigkeit oder den Abruf von Bilddateien, stößt man schnell an die Grenzen des verbindungslosen HTTP. Das Protokoll bietet keine Möglichkeit zur Identifizierung zusammenhängender Zugriffe. Da Harvester zur Tarnung teilweise erhebliche Zeitspannen zwischen zwei Zugriffen abwarten, müsste man zudem gigantische Datenmengen durchsuchen. Betrachtet man den Aufwand der Lösung, die sinnvoll mit gewichteten Kriterien arbeitet, ist man kurz davor, einen eigenen, maßgeschneiderten Webserver entwickeln zu müssen, um eine halbwegs zuverlässige Lösung zu konstruieren oder man modifiziert z.b. den Apache-Webserver 39. Den Aufwand wird wohl kaum jemand ernsthaft betreiben wollen, zumal dann auch Sicherheits-, Stabilitäts- und Kompatibilitätsfragen zu lösen sind. Auch ist es häufig nicht möglich, auf einem angemieteten Webserver die Serversoftware auszutauschen oder nach eigenem Bedarf zu erweitern. Somit wäre eine solche Lösung nur für einen sehr kleinen Nutzerkreis tauglich. 6.1 Apache-Modul Daher erscheint es einfacher, Webseiten standardmäßig mit getarnten Mailadressen auszuliefern. Dabei sollten alle Seiten, die vom Webserver ausgeliefert werden, automatisch so verändert werden, dass die angezeigten -Adressen getarnt sind. Das sollte natürlich ohne Änderung der bestehenden Seiten möglich sein und auch mit dynamisch generierten Seiten funktionieren. 39. Ein verbreiteter, modular erweiterbarer OpenSource-Webserver. Zu finden unter httpd.apache.org 94

95 Apache-Modul Mit einem Apache-Modul 40 lässt sich das realisieren: Apache bietet zusammen mit mod_perl 41 die Möglichkeit, Ausgabefilter 42 zu schreiben. Diese Filter setzen im Ausgabestrom an und sehen alle Daten, bevor sie endgültig zum Client gesendet werden. Dadurch können auch dynamisch generierte Seiten automatisch modifiziert werden. Außerdem müssen die bestehenden HTML-Seiten nicht verändert werden. Da es sich dabei um einen Ausgabefilter handelt, funktioniert der Ansatz unabhängig vom Dateityp und damit auch mit dynamisch erzeugtem Inhalt. Der Filter bearbeitet aber nur Ausgabedaten vom Typ text/plain und text/html. Ein solcher Filter kann nun mit regular expressions Mailadressen finden und sie dann mit einem der oben beschriebenen Verfahren tarnen Installation Das weiter unten vollständig dargestellte Script sollte auf einem Linux-System in eines der Include-Verzeichnisse von Perl installiert werden, z.b. nach /usr/ lib/perl5/site_perl/myapache. Der Dateiname muss ObMail.pm lauten. Wie bei Perl-Modulen üblich, müssen Verzeichnisname und Dateiname dem Modulnamen entsprechen. Um den Filter zu aktivieren, müssen in die Konfigurationsdatei des Apache die folgenden Zeilen aufgenommen werden: SetHandler modperl PerlModule MyApache::ObMail <Directory /var/www/html> PerlOutputFilterHandler MyApache::ObMail </Directory> Nach einem Neustart des Apache wird jede Ausgabe, bevor sie zum Client gesandt wird, durch diesen Filter geschickt. Der Webserver zerlegt dabei die Ausgabe in speichergerechte Happen, sucht nach Zeichenketten, die eine -Adresse sein könnten, und ersetzt sie durch ihre getarnte Version. 40. Allgemein dazu: [STEI99] 41. Siehe dazu: [FÖR05] 42. Siehe auch: No Spam! 95

96 6 Automatisch tarnen Programmierzauber Da der Eingabepuffer wahrscheinlich kleiner als der zu bearbeitende Datenstrom ist, wird die Ausgabe in mehrere Teilen zerlegt bearbeitet. Diese Zerlegung übernimmt der Webserver unabhängig vom Inhalt. Dadurch kann es auch passieren, dass eine Mailadresse getrennt wird. Um Mailadressen korrekt zu erkennen, zerlegt daher der Ausgabefilter die Pufferdaten anhand von Whitespaces: Eine -Adresse enthält keine Whitespaces. Alle Zeichen nach dem letzten Whitespace werden abgetrennt und dem nächsten Datenhappen vorangestellt. Das geschieht über die Variable $leftover. Dieser Überhang wird dem nächsten Puffer vorangestellt. Damit können -Adressen auch über Puffergrenzen hinweg gefunden werden. Ein kleines Beispiel erläutert das. Sei Die Adresse lautet der erste Puffer und example.com. Weitere Informat der Inhalt des Puffers im zweiten Durchlauf. Dann wird in der ersten Runde Die Adresse lautet aus dem Puffer extrahiert und nach $leftover verschoben. Für die zweite Runde wird der Puffer example.com. Weitere Informat vorne durch $leftover ergänzt, so dass jetzt Weitere Informat im Puffer steht. Nun kann der Filter eine -Adresse eindeutig erkennen. Für einen Angreifer könnte aber gerade dieser Zwischenspeicher eine geeignete Angriffsfläche bieten: Schafft er es, einen Datenstrom einzuschleusen, der keine Whitespaces enthält, wächst $leftover und damit auch der Puffer mit der Zeit über alle Grenzen. Es entsteht ein so genannter Pufferüberlauf, der aus Sicherheitssicht zu erheblichen Gefahren führen kann. Um das zu verhindern, darf der Puffer maximal doppelt so groß werden wie die eingestellte Pufferobergrenze. Wird er zu groß, wird der Pufferinhalt unverändert ausgegeben. Dadurch könnten zwar Adressen versehentlich nicht getarnt werden, aber dafür ist das System vor solchen Angriffen geschützt Tarnfunktion Die gesamte Tarnung der Adresse findet in der Funktion obfuscate statt. Dadurch können Sie das Script jederzeit einfach anpassen und andere Ersetzungsmuster integrieren oder das verwendete Muster weiter verfeinern. 96

97 Apache-Modul Die -Adressen werden dabei von der regular expression in der While- Schleife einzeln gefunden und stehen unmittelbar hinter dem Schleifenkopf in der Variablen $1. Im Beispiel wird die Adresse mit Leerzeichen aufgebläht, das Verfahren hat sich wie oben dargestellt als besonders effektiv erwiesen Das Script selbst Das folgende Script wurde mit Apache 2.0 und mod_perl 1.99 unter Fedora Core 2 und Core 3 erfolgreich getestet. Es sollte allerdings auch mit anderen Versionen zusammenarbeiten können. Vor einem Einsatz in einer Produktivumgebung empfiehlt sich in jedem Fall ein gründlicher Test. Zusätzliche Hinweise in Ergänzung zu den obigen Erläuterungen finden sich in eingestreuten Kommentaren. # Perl-Filter für Apache 2.0 # # Zur automatischen Tarnung von -Adressen. # # (c) 2004, 2005 Tobias Eggendorfer package MyApache::ObMail; use strict; use warnings; use Apache::Filter (); use Apache::RequestRec (); use APR::Table (); use Apache::Const -compile => qw(ok DECLINED); use constant BUFF_LEN => 10240; # Die Groesse des Eingabepuffers ist die hauptsaechliche # Determinante der Performance des Scripts. Sie sollte durch # Tests z.b. mit ApacheBench individuell optimiert werden. # Ein zu kleiner Puffer bremst unnoetig, ein zu großer # erfordert swap-speicher und bremst dadurch. sub obfuscate # Hier wird die Mailadresse verschluesselt # Als Parameter wird ein Bufferinhalt übergeben, der # möglicher Weise Mailadressen enthält. my $line = shift; No Spam! 97

98 6 Automatisch tarnen my $mail_regexp = '[A-Za-z_0-9.-]+@([A-Za-z_0-9-]+\.)+[A-Za-z]2,6}'; my $adr = undef; while ( $line =~ /($mail_regexp)/g ) # Adresse in einzelne Zeichen zerlegen und # dann mit Leerzeichen dazwischen wieder # eintragen. # Hier kann nach Bedarf ein anderes Verfahren # eingesetzt werden. Die Adresse steht in $1. $adr = join(' ',split(//,$1)); # Alle Vorkommen der Adresse in der Zeile # ersetzen. # Vorsicht: Wenn oben das Verfahren geaendert # wurde und dort mit einer RegExp gearbeitet # wurde, koennte $1 hier den falschen Wert haben! $line =~ s/(.*)$1(.*)/$1$adr$2/gi; } # end while mail_regexp return $line; } sub handler # Diese Funktion wird vom Apache aufgerufen # und kuemmert sich um die blockweise # Bearbeitung der Daten. my $f = shift; unless ($f->ctx) # Nur beim ersten Besuch pruefen unless ($f->r->content_type =~ m!text/(html plain)!i ) # Nur Text-Daten bearbeiten # Bei anderen Daten wird "abgelehnt" gemeldet. return Apache::DECLINED; } # end unless # Wir veraendern die bereits berechnete Content-Length # daher wird sie zurueckgesetzt. $f->r->headers_out->unset('content-length'); } # end unless 98

99 Apache-Modul } 1; my $leftover = $f->ctx; while ($f->read(my $buffer, BUFF_LEN)) $buffer = $leftover. $buffer if defined $leftover; if (length($buffer) > (2*BUFF_LEN)) # Zu lange keine Leerzeichen gefunden => # Gefahr eines Bufferoverflow. $f->print(obfuscate($buffer)); $buffer = $leftover = ""; } else $buffer =~ /(.*)(\s\s*)\z/gs; $leftover = $2; $buffer = obfuscate($1); $f->print($buffer); } # end if bufferoverflow } # end while read if ($f->seen_eos) # Dateiende erreicht - Rest ausgeben. if (defined $leftover) $leftover=obfuscate($leftover); $f->print(scalar $leftover); } } else # Weitere Daten vorhanden, Rest an den # naechsten Aufruf uebergeben. $f->ctx($leftover) if defined $leftover; } # end if # Erfolgreiche Bearbeitung rückmelden return Apache::OK; No Spam! 99

100 6 Automatisch tarnen 6.2 Tuning Erwartungsgemäß bremst der Filter die Auslieferung von Webseiten. Zwar werden Apache-Perl-Module mit mod_perl beim Start des Webservers kompiliert, so dass der Nachteil der interpretierten Sprache minimal ist, aber das Analysieren des Ausgabestroms beansprucht auch Rechenzeit und Speicherplatz. Allerdings ist die Verzögerung selbst unter stärkster Belastung, wie man sie mit dem in Apache 2.0 enthaltenen Benchmark Apache Bench simulieren kann, bei üblichen HTML-Dateigrößen kaum messbar: In einem Test habe ich 1000 exakt parallele Zugriffe auf eine HTML-Datei simuliert, die Auslieferungszeit für eine kleine Webseite verlängerte sich von 1,5 ms auf 2,3 ms. Das sind Schwankungen, die für normale Besucher nicht erkennbar sind, da zu viele weitere Faktoren, wie die verfügbare Netzwerkbandbreite, hineinspielen. Dabei lässt sich die Performance des Ausgabefilters noch sehr gut entsprechend des individuellen Systems tunen: Je nach Größe des Puffers, die in der Konstanten BUFF_LEN eingestellt wird, schwankt die Zugriffszeit. Das liegt einfach an der Speicherauslastung: Je größer der Puffer, desto mehr Speicher muss der Filter belegen. Je öfter der Filter parallel läuft, das heißt je mehr parallele Zugriffe erfolgen, und je größer der Puffer, desto schneller ist der Arbeitsspeicher des Systems voll und der Server muss anfangen, Speicher auf die langsame Festplatte auszulagern. Das Ziel ist nun, durch Testen die für den eigenen Server und die Zugriffszahlen optimierte Puffergröße zu ermitteln. Dazu sollten Sie sich zunächst überlegen, wie viel parallele Zugriffe Ihr Server abarbeiten muss. Die Auslastung des eigenen Servers lässt sich leicht anhand der Logfiles herausfinden: Viele Programme, die Webserver-Logs analysieren, geben direkt die mittlere Anzahl paralleler Zugriffe aus. Private Homepages haben kaum parallele Zugriffe dazu sind die Zugriffszahlen einfach zu gering. Hier bietet es sich an, Performance-Tests mit zehn konkurrierenden Zugriffen durchzuführen, da ist dann schon genug Luft nach oben enthalten. Anders sieht das bei großen Webportalen aus: Hier können leicht mehrere tausend parallele Zugriffe erfolgen. 100

101 Tuning Um den Puffer jetzt sinnvoll anzupassen, lohnt es sich, nachzusehen, wie viel Speicher aktuell frei ist. Die Information liefert z.b. das Programm top oder cat /proc/meminfo Die Größe des freien Speichers dividiert durch die geschätzte Maximalzahl paralleler Zugriffe liefert dann einen ersten Anhalt für die Puffergröße. Bei z.b. 25 MByte freiem Speicher und 1000 parallelen Zugriffen wäre ein erster Testwert 25 KByte. Mit dem Wert und Apache Bench lässt sich dann die mittlere Zugriffszeit bestimmen. Jetzt heißt es, alternative Werte zu testen. Dabei macht es Sinn, zunächst in jeder Richtung mit 5 und 10 KByte zusätzlichem oder verkleinertem Puffer zu testen, daraus lässt sich häufig schon die Richtung ableiten. Dabei machen Puffergrößen über 64 KByte praktisch selten Sinn: Die wenigsten HTML-Dateien sind größer. Wenn die Seite sowieso schon komplett in den Puffer passt, dann ist auch durch einen größeren Puffer kein Performancegewinn mehr zu erwarten. Auf meinem Testsystem war eine Puffergröße von 10 KByte optimal. Wurde die Größe z.b. auf 1 KByte verkleinert, benötigte der Benchmark etwa fünfmal mehr Zeit. War jedoch eine größere Puffergröße von 20 KByte eingestellt, musste mein Testsystem bereits swappen und verlor durch die Festplattenzugriffe Leistung die Laufzeit des Benchmark verlängerte sich um etwa den Faktor 10. Wichtig ist, dass nach jeder Änderung der Puffergröße der Apache selbst neu gestartet werden muss, da das Perl-Modul kompiliert im Speicher liegt und Änderungen in der Datei selbst sonst nicht erkannt werden. Insgesamt lässt sich durch geschicktes Tuning die Verzögerung, die durch den Filter zwangsläufig entsteht, so weit reduzieren, dass Besucher der Seite sie nicht mehr bemerken. Da der Filter sich auch um dynamisch, z.b. mit PHP oder Perl, erzeugte Seiten kümmert, ist der minimale Performance-Verlust im Verhältnis zum erzielten Spamschutz leicht vertretbar. No Spam! 101

102

103 7 Missbrauch fertiger Scripten Auf fast allen Webseiten findet sich mindestens ein serverseitiges Script: sei es entweder ein Kontaktformular, die Send-To-A-Friend-Funktion oder ein Grußkarten-Script. Alle diese Scripte können unter Umständen als Spamming- Engines verwendet werden, also als Hilfsmittel, um Spam unerkannt zu versenden. Die Problematik der Grußkarten ist in etwa der Send-To-A-Friend-Funktion vergleichbar in beiden Fällen wird ein Teil der Webseite einem Dritten weiterempfohlen: einmal in Form einer elektronischen Postkarte, im anderen Fall als Hinweis, dass diese Seite einen interessanten Beitrag enthält. Send-To-A- Friend findet sich entsprechend bei zahlreichen Online-Shops unter dem Begriff Einem Freund empfehlen oder bei Online-Magazinen. In beiden Fällen kann eine Mitstörerhaftung 43 des Seitenbetreibers an über diese Funktionen versandtem Spam entstehen, da der Seitenbetreiber Nutznießer der -Werbung ist: Seine Seite wird beworben. Böswillige Zeitgenossen können also den Betreiber einer Seite massiv schädigen, indem sie gezielt als spammerfeindlich bekannte Personen anschreiben und dann abwarten, dass eine Unterlassungsklage eingereicht wird. In einem der in Fußnote 43 zitierten Urteile wurde dem Kläger dann auch eine Nachricht mit dem viel sagenden Text mit spammenswerten Grüßen zugesandt, wie man im Urteilstext nachlesen kann. Man mag das als mut- und böswillig bezeichnen, vielleicht auch den Verdacht eines Abmahnwahns unterstellen, andererseits ist ein solches Script tatsächlich hervorragend zu missbrauchen, um völlig anonym Spam zu versenden. Es erfüllt also die gleiche Funktion wie ein Open Relay oder ein Open Proxy. Insofern ist verständlich, dass einem solchen Treiben durch die entsprechende Unterlassungsverfügung Einhalt geboten werden soll. 43. Siehe dazu u.a.: LG München I, Urteil vom , Az: 33 O 17030/02, LG München Milch macht schön, Urteil vom , Az: 33 O 5791/03, OLG München, Urteil vom , AZ: 8 U 4223/03, AG Hamburg, Urteil vom , Az.: 36A C 37/ 03, LG Rostock, Beschluss vom , Az.: 1 S 49/03 zu AG Rostock, Urteil vom , Az.: 43 C 68/02 No Spam! 103

104 7 Missbrauch fertiger Scripten Genau das Gleiche gilt für schlecht programmierte oder fehlerhaft konfigurierte Kontaktformulare, die für den Versand von Spam missbraucht werden können. So ermöglichen es manche Formmailer, Dritte in CC zu nehmen oder lassen sich gar als Versandprogramm für Spam missbrauchen. Möglichkeiten, die eigenen Scripten vor solchem Missbrauch zu schützen und seine Seite so zu gestalten, dass auch Online-Grußkarten versandt werden können, stelle ich im Folgenden vor. 7.1 Missbrauch von Kontaktformularen Ein Kontaktformular besteht typischerweise aus mehreren Eingabefeldern, in die der Absendername, die -Adresse des Absenders, ein Subject und die Nachricht eingetragen werden können. Die Daten werden per HTTP zum Server übertragen, wo ein PHP oder Perl-Script aus ihnen eine erzeugt und an eine definierte Adresse versendet. Dieses Script wird in Anlehnung an das bekannte formmail.pl, das unter zum Download bereitsteht (von Matt Wright gerne Formmailer genannt) Empfänger als INPUT TYPE HIDDEN Die erste Schwachstelle bei vorgefertigten Formmailern ist deren Flexibilität: Häufig wird das Script über zusätzliche, versteckte Eingabefelder in der HTML-Seite konfiguriert. Dort wird häufig auch der Empfänger der Nachrichten eingetragen. Dieser Eintrag ist sehr einfach zu manipulieren: Entweder lädt man sich die Datei auf den eigenen Rechner herunter und ersetzt dort die Zieladresse und korrigiert den ACTION-Parameter des Forms oder man manipuliert die Seite direkt im Internet. Dazu bietet sich z.b. der DOM-Inspector von Mozilla an. Abbildung 7.1 zeigt die Manipulation eines Formulars am Beispiel des Beispiel-Kontaktformulars in Kapitel 8.2. Dort wird das verdeckte Eingabefeld HTTP_VARS manipuliert. Analog könnte auch dort eine eingetragene -Adresse ersetzt werden und damit der Inhalt des Formulars an einen Dritten gesandt werden. Allerdings dürfte es relativ aufwendig sein, über diese Schwachstelle automatisiert zu spammen. 104

105 Missbrauch von Kontaktformularen Abb. 7.1: Manipulation des Beispielkontaktformulars mit dem DOM-Inspector Andererseits ist der Aufwand zur Behebung minimal: Das in Kapitel vorgestellte Beispiel-Formmail-Script in PHP verwendet anstatt der - Adresse des Empfängers eine eindeutige Identifikationsnummer. Modifiziert No Spam! 105

ECDL Information und Kommunikation Kapitel 7

ECDL Information und Kommunikation Kapitel 7 Kapitel 7 Bearbeiten von E-Mails Outlook Express bietet Ihnen noch weitere Möglichkeiten, als nur das Empfangen und Versenden von Mails. Sie können empfangene Mails direkt beantworten oder an andere Personen

Mehr

Dr. Heinz Kabutz und Sven Ruppert. Dynamic Proxies. Effizient programmieren. schnell+kompakt

Dr. Heinz Kabutz und Sven Ruppert. Dynamic Proxies. Effizient programmieren. schnell+kompakt Dr. Heinz Kabutz und Sven Ruppert Dynamic Proxies Effizient programmieren schnell+kompakt Dr. Heinz Kabutz und Sven Ruppert Dynamic Proxies. Effizient programmieren schnell+kompakt ISBN 978-3-86802-340-4

Mehr

Gradle. Ein kompakter Einstieg in modernes Build-Management. Joachim Baumann. Joachim Baumann, Gradle, dpunkt.verlag, ISBN

Gradle. Ein kompakter Einstieg in modernes Build-Management. Joachim Baumann. Joachim Baumann, Gradle, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm Joachim Baumann Gradle Ein kompakter Einstieg in modernes Build-Management Joachim Baumann joachim.baumann@codecentric.de Lektorat: René Schönfeldt Copy Editing: Sandra Gottmann, Münster-Nienberge

Mehr

PROBLEME BEIM VERSAND BEHEBEN

PROBLEME BEIM  VERSAND BEHEBEN PROBLEME BEIM E-MAILVERSAND BEHEBEN Inhalt 1 Einführung... 1 2 Probleme beim E-Mailversand... 2 2.1 Ein Überblick über die E-Mail-Verfahren... 2 3 Festlegen des Standard-E-Mailprogramms unter Windows...

Mehr

Datenschutz-Erklärung für das IKT-Forum

Datenschutz-Erklärung für das IKT-Forum Datenschutz-Erklärung für das IKT-Forum Das KI-I veranstaltet das IKT-Forum. Darum gehört die Webseite www.iktforum.at dem KI-I. KI-I ist die Abkürzung für: Kompetenznetzwerk Informationstechnologie zur

Mehr

Anleitung Dokumente versenden aus Pinus-Faktura via

Anleitung Dokumente versenden aus Pinus-Faktura via Dokumente versenden aus Pinus-Faktura via E-Mail Seite 1 von 14 Anleitung Dokumente versenden aus Pinus-Faktura via E-Mail Dokumente versenden aus Pinus-Faktura via E-Mail Seite 2 von 14 Anleitung Dokumente

Mehr

Self Service Reset Password Benutzerhandbuch

Self Service Reset Password Benutzerhandbuch Self Service Reset Password Benutzerhandbuch Der Service Self Service Reset Password bietet den Benutzern der Provinzdomäne die Möglichkeit, ihr Passwort selbständig zu ändern oder zurückzusetzen. Um den

Mehr

Administrationshandbuch

Administrationshandbuch Administrationshandbuch Inhaltsverzeichnis INHALTSVERZEICHNIS 2 1 VORWORT 3 2 BENUTZER 4 2.1 Benutzer Übersicht 4 2.2 Benutzer Details 5 3 WHITELIST 7 3.1 Whitelist Übersicht 7 3.2 Whitelist Detail 8 3.3

Mehr

Anleitung. Kontenverwaltung auf mail.tbits.net

Anleitung.  Kontenverwaltung auf mail.tbits.net Anleitung E-Mail Kontenverwaltung auf mail.tbits.net E-Mail Kontenverwaltung auf mail.tbits.net 2 E-Mail Kontenverwaltung auf mail.tbits.net Leitfaden für Kunden Inhaltsverzeichnis 1. Überblick über die

Mehr

Self Service Reset Password Benutzerhandbuch

Self Service Reset Password Benutzerhandbuch Self Service Reset Password Benutzerhandbuch Der Service Self Service Reset Password bietet den Benutzern der Provinzdomäne die Möglichkeit, ihr Passwort selbständig zu ändern oder zurückzusetzen. Um den

Mehr

Fang den Klammeraffen

Fang den Klammeraffen Fang den Klammeraffen Vielleicht hilft Ihnen der eine oder andere Tipp, damit Ihr E-Mail noch besser ankommt. Kommentare und Verbesserungsvorschläge gern per E-Mail an mich. Michael Tavernaro MichaelTavernaro@iMovements.com

Mehr

Aufsetzen des HIN Abos und des HIN Praxispakets

Aufsetzen des HIN Abos und des HIN Praxispakets Aufsetzen des HIN Abos und des HIN Praxispakets HIN Health Info Net AG Pflanzschulstrasse 3 8400 Winterthur Support 0848 830 740 Fax 052 235 02 70 support@hin.ch www.hin.ch HIN Health Info Net AG Grand-Rue

Mehr

Datenschutzerklärung:

Datenschutzerklärung: Datenschutzerklärung: Datenschutz Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen

Mehr

E-MAIL MIT WINDOWS LIVE MAIL 2009

E-MAIL MIT WINDOWS LIVE MAIL 2009 Windows Live Mail 2009 1 E-MAIL MIT WINDOWS LIVE MAIL 2009 MAILS ABHOLEN UND VERSENDEN Der Befehl Synchronisieren im Hauptfenster veranlasst Windows Live Mail, die Post beim Mailserver abzuholen und von

Mehr

Titelmasterformat durch IT Klicken bearbeiten

Titelmasterformat durch IT Klicken bearbeiten Titelmasterformat durch IT Klicken bearbeiten Datenaustausch über https://transfer.cadfem.de Stand 03.12.2014 1 Erstellen eines Accounts Jeder User kann sich selbst einen Account erstellen https://transfer.cadfem.de

Mehr

Politische und rechtliche Maßnahmen gegen unerwünschte s

Politische und rechtliche Maßnahmen gegen unerwünschte  s Politische und rechtliche Maßnahmen gegen unerwünschte Emails Abschlussbericht Jan-Ole Beyer 29.05.2006 1 Konzept und Ziel (1) 1. Einführung in die Thematik 1.1. technische Grundlagen Funktionsweise des

Mehr

Einrichten Ihres IMAP -Kontos

Einrichten Ihres IMAP  -Kontos Einrichten Ihres IMAP E-Mail-Kontos HIN Health Info Net AG Pflanzschulstrasse 3 8400 Winterthur Support 0848 830 740 Fax 052 235 02 70 support@hin.ch www.hin.ch HIN Health Info Net AG Grand-Rue 38 2034

Mehr

Sebastian Springer, Testgetriebene Entwicklung mit JavaScript, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm

Sebastian Springer, Testgetriebene Entwicklung mit JavaScript, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm D3kjd3Di38lk323nnm Sebastian Springer ist Diplom-Informatiker (FH) und arbeitet als JavaScript-Entwickler bei der Mayflower GmbH in München. Neben seiner Tätigkeit als Consultant unterrichtet er als Dozent

Mehr

Registrierung als Redakteur/-in für das Mitteilungsblatt der Verbandsgemeinde Dierdorf

Registrierung als Redakteur/-in für das Mitteilungsblatt der Verbandsgemeinde Dierdorf Registrierung als Redakteur/-in für das Mitteilungsblatt der Verbandsgemeinde Dierdorf Sie benötigen grundsätzlich nur einen aktuellen Browser vorzugsweise Mozilla Firefox ab Version 52. Andere Browser

Mehr

Internetadresse: starthilfe50.de. Art der Internetseite: Lernplattform. Anmeldepflicht: Nein. Gebühren: Nur bei Bestellung

Internetadresse: starthilfe50.de. Art der Internetseite: Lernplattform. Anmeldepflicht: Nein. Gebühren: Nur bei Bestellung Internetadresse: starthilfe50.de Art der Internetseite: Lernplattform Anmeldepflicht: Nein Gebühren: Nur bei Bestellung Inhaltsverzeichnis: Sicherheit: von Webreife.de zuletzt auf Sicherheit geprüft: 07.11.2014

Mehr

Avamboo GmbH Avamboo Encrypt. SICHERE MIT Avamboo Encrypt. für Outlook 2010 / 2013 / Handbuch

Avamboo GmbH Avamboo Encrypt. SICHERE  MIT Avamboo Encrypt. für Outlook 2010 / 2013 / Handbuch SICHERE E-MAIL MIT Avamboo Encrypt für Outlook 2010 / 2013 / 2016 Handbuch Inhaltsverzeichnis Avamboo GmbH Avamboo Encrypt Installation 3 E-Mail verschlüsseln 4 Verschlüsselt antworten Link 5 Passwortverwaltung

Mehr

Konfiguration von Mozilla Thunderbird

Konfiguration von Mozilla Thunderbird {tip4u://091} Version 7 Zentraleinrichtung für Datenverarbeitung (ZEDAT) www.zedat.fu-berlin.de Konfiguration von Mozilla Thunderbird Diese Anleitung erläutert die für das Lesen und Versenden von E-Mails

Mehr

Installation und Einrichtung Thunderbird, GnuPT, GPGHash und GPGee

Installation und Einrichtung Thunderbird, GnuPT, GPGHash und GPGee 1 Warum diese Anleitung? http://www.radio-utopie.de/2012/02/25/spionage-dienste-geben-ausschnuffelung-von-37- millionen-ihrer-emails-allein-in-2010-zu/ Die Schnüffelei in den emails ist erschreckend (aber

Mehr

Beschreibung zur sicheren -Kommunikation mit der IFB Hamburg

Beschreibung zur sicheren  -Kommunikation mit der IFB Hamburg Beschreibung zur sicheren E-Mail-Kommunikation mit der IFB Hamburg Inhaltsverzeichnis Einleitung... 2 Überblick... 2 Allgemeine Informationen zur E-Mail-Verschlüsselung... 2 Zusammenfassung... 2 Vorgehensweise...

Mehr

Windows 7 - aber sicher

Windows 7 - aber sicher {} Version 6 Zentraleinrichtung für Datenverarbeitung (ZEDAT) www.zedat.fu-berlin.de Der Betrieb von PC-Arbeitsplätzen mit Zugang zum Internet bedarf einiger Schutzmaßnahmen. Diese Anleitung beschreibt

Mehr

Wie richtet man Outlook ein?

Wie richtet man Outlook ein? Wie richtet man Outlook ein? Wer eine eigene Homepage besitzt, der kann sich auch eine eigene E-Mail-Adresse zulegen, die auf dem Namen der Domain endet. Der Besitzer der Webseite www.petershomepage.de

Mehr

Secure So sicher wie ein Brief mit Siegel. Kundeninformation

Secure   So sicher wie ein Brief mit Siegel. Kundeninformation : So sicher wie ein Brief mit Siegel. Kundeninformation Stand: August 2017 Inhalt Vorwort... 3 Secure E-Mail bietet... 3 Erster Schritt... 4 Unterschiedliche Varianten... 5 Anmeldung am Secure WebMail

Mehr

BLOCKCHAIN-TECHNOLOGIE IM -MARKETING

BLOCKCHAIN-TECHNOLOGIE IM  -MARKETING BLOCKCHAIN-TECHNOLOGIE IM E-MAIL-MARKETING - 1 / 5 - DOIChain und DOICoin Funktionsprinzip der DOIChain, einer Blockchain zur nachprüfbaren Verwaltung von Double-Opt-in-Bestätigungen im Permission-Marketing

Mehr

Anleitung zum Gebrauch des TFC-Kalenders

Anleitung zum Gebrauch des TFC-Kalenders Anleitung zum Gebrauch des TFC-Kalenders JEDER Besucher unserer Homepage wird mittels TFC-Kalender umfassend und detailliert über die TFC- Termine informiert. Turniere, Veranstaltungen, Feste sind hier

Mehr

THINK PROJECT! USER PORTAL

THINK PROJECT! USER PORTAL THINK PROJECT! USER PORTAL ANLEITUNG Die neue Zentrale für Ihre tägliche Arbeit mit think project! think project! thinkproject.com AGENDA Allgemeine Informationen zum think project! User Portal Wichtige

Mehr

Bedienungsanleitung der LT-Forum Flohmarktsoftware V2.3

Bedienungsanleitung der LT-Forum Flohmarktsoftware V2.3 Bedienungsanleitung der LT-Forum Flohmarktsoftware V2.3 1.) Neu Anmelden 2.) Eine Anzeige erstellen 3.) Die eigenen Daten ändern 1.) Neu Anmelden Um eine Anzeige im LT-Flohmarkt aufgeben zu können, müsst

Mehr

Konfiguration von Opera für

Konfiguration von Opera für {tip4u://051} Version 2 Zentraleinrichtung für Datenverarbeitung (ZEDAT) www.zedat.fu-berlin.de Konfiguration von Opera für E-Mail Um Ihre E-Mails über den Mailserver der ZEDAT herunterzuladen oder zu

Mehr

Anleitung NetCom Mail Service

Anleitung NetCom Mail Service Ein Unternehmen der EnBW Anleitung NetCom Mail Service Bedienung des Webmails, Weiterleitungen und Verteilergruppen Stand 02/2016 Diese Anleitung zeigt Ihnen, wie Sie Ihr Webmail einrichten und benutzen

Mehr

Check die Welt des Internet. www wir wollen s wissen Kids im Internet

Check die Welt des Internet. www wir wollen s wissen Kids im Internet Check die Welt des Internet www wir wollen s wissen Kids im Internet So ist das Internet... Das Internet sind wir alle! Das Internet verbindet die Menschen weltweit! Das Internet kennt keine Grenzen! Das

Mehr

Anleitung Formmail- Script für den DA-FormMaker

Anleitung Formmail- Script für den DA-FormMaker Anleitung Formmail- Script für den DA-FormMaker 1 Allgemeines In diesem Dokument wird die Installation des Formmail-Scriptes für den DA-FormMaker beschrieben. Das Formmail-Script übernimmt die Aufbereitung

Mehr

Inhaltsverzeichnis. Umstellung auf Exchange

Inhaltsverzeichnis. Umstellung auf Exchange Inhaltsverzeichnis Umstellung auf Exchange... 1 Neuer Benutzername... 2 Outlook Web Access (OWA)... 2 Entfernen eines IMAP Outlook-Kontos... 3 Einrichtung Exchange unter Outlook 2013... 5 IMAP und SMTP...

Mehr

Einrichtungen der Jugendhilfe

Einrichtungen der Jugendhilfe Einrichtungen der Jugendhilfe Suche Interessierte haben über das Bürgerportal des Landesjugendamtes Mecklenburg-Vorpommerns die Möglichkeit Einrichtungen und Träger der Jugendhilfe zu suchen oder sich

Mehr

Anleitung: -Login für Lernende der FREI'S Schulen

Anleitung:  -Login für Lernende der FREI'S Schulen Anleitung: E-Mail-Login für Lernende der FREI'S Schulen Inhaltsverzeichnis Kurzanleitung: Nutzungsmöglichkeiten / Login... 1 Angebot / Anwendungszweck... 2 Einschränkungen... 2 Login über WWW... 3 Einrichten

Mehr

Konfigurationsmanagement mit Subversion, Maven und Redmine

Konfigurationsmanagement mit Subversion, Maven und Redmine Gunther Popp Konfigurationsmanagement mit Subversion, Maven und Redmine Grundlagen für Softwarearchitekten und Entwickler 4., aktualisierte und erweiterte Auflage Gunther Popp gpopp@km-buch.de Lektorat:

Mehr

Anleitung. Webmail Portal

Anleitung. Webmail Portal Anleitung Webmail Portal Webmail Portal 2 Webmail Portal Leitfaden für Kunden Inhaltsverzeichnis 1. Überblick Webmail...3 2. Anmeldung am Webmail Portal...3 3. Webmail Portal Übersicht...4 4. Einstellungen...5

Mehr

Themenabend 24.09.2012

Themenabend 24.09.2012 Themenabend 24.09.2012 SPAM ist ursprünglich ein Markenname für Dosenfleisch, bereits 1936 entstanden aus SPiced ham, fälschlich auch Spiced Pork And Meat/hAModer Specially Prepared Assorted Meatgenannt.

Mehr

Einstellungen im Überblick

Einstellungen im Überblick Philipp von Thunen Siekbreede 21 33649 Bielefeld email: info@pvth.de Web: https://pvth.de/ Bielefeld, den 13.09.2016 Einstellungen im Überblick E-Mail Posteingangsserver (IMAP): Posteingangsserver (POP3):

Mehr

Zum Bearbeiten ins Backend einloggen

Zum Bearbeiten ins Backend einloggen Ihre Internetseite wurde mit dem Contentmanagementsystem (CMS) Contao aufgebaut. Ein Content-Management-System (kurz: CMS, deutsch Inhaltsverwaltungssystem ) ist eine Software zur gemeinschaftlichen Erstellung,

Mehr

Rechtliche Grundlagen

Rechtliche Grundlagen Rechtliche Grundlagen November 2013 Was beim Versand von E-Mail Kampagnen in Österreich zu beachten ist Seite 1 Die ständige Online-Präsenz des Kunden, die hohe Effizienz bei niedrigen Kosten und die direkte

Mehr

Anleitung Dokumente versenden aus Pinus-Faktura via

Anleitung Dokumente versenden aus Pinus-Faktura via Dokumente versenden aus Pinus-Faktura via E-Mail Seite 1 von 9 Anleitung Dokumente versenden aus Pinus-Faktura via E-Mail Dokumente versenden aus Pinus-Faktura via E-Mail Seite 2 von 9 Anleitung Dokumente

Mehr

Benutzerhandbuch für WebMail. Februar 2016

Benutzerhandbuch für WebMail. Februar 2016 Benutzerhandbuch für WebMail Februar 2016 Inhaltsverzeichnis 1 Beschreibung 3 2 Sicherheit 3 3 Funktionen 3 3.1 Eröffnungsbestätigung 3 3.2 Erstmalige Anmeldung 3 3.3 Standard Anmeldung 5 3.4 Übersichtsseite

Mehr

-Abwesenheitsnachricht einrichten

-Abwesenheitsnachricht einrichten E-Mail-Abwesenheitsnachricht einrichten Inhalt 1. Abwesenheitsnachricht erstellen... 2 1.1. Textbaustein... 2 1.2. E-Mail-Nachricht... 4 2. Filter für die automatische Benachrichtigung erstellen... 5 2.1.

Mehr

E-Mail, Spam, Phishing

E-Mail, Spam, Phishing 1 1. Drei Tipps zum Versenden von E-Mails Tipp 1 Dateianhänge: Wenn du größere Anhänge verschickst, dann solltest du die Empfänger vorher darüber informieren. Tipp 2 - Html Mails: Verschicke nur zu besonderen

Mehr

Aufsetzen des HIN Abos und des HIN Praxispakets

Aufsetzen des HIN Abos und des HIN Praxispakets Aufsetzen des HIN Abos und des HIN Praxispakets HIN Health Info Net AG Pflanzschulstrasse 3 8400 Winterthur Support 0848 830 740 Fax 052 235 02 70 support@hin.ch www.hin.ch HIN Health Info Net AG Grand-Rue

Mehr

Anleitung zum Anlegen und Einrichten eines Accounts

Anleitung zum Anlegen und Einrichten eines  Accounts Ingenieurbüro Anleitung zum Anlegen und Einrichten eines Email Accounts 1. Anlegen eines Accounts 2. Clienteinrichtung 2.1. WebMailer Tonn, Biastoch & Partner Unter der Internetadresse https://webmail2.tobiconfig.de

Mehr

Mail-Sniper Benutzerdokumentation zur Mozilla Thunderbird Extension

Mail-Sniper Benutzerdokumentation zur Mozilla Thunderbird Extension Mail-Sniper Benutzerdokumentation zur Mozilla Thunderbird Extension Entwickelt von Martin Schreiner (agentsway@users.sourceforge.net) Sascha Strasser (lucypher@users.sourceforge.net) Inhalt Seite 1. MAIL-SNIPER.........................................

Mehr

Mail: Christina

Mail: Christina Ausgabe 2011/1. Auflage alle Rechte vorbehalten Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung ohne Zustimmung von FLOCOM und dem Autor ist unzulässig. Das gilt

Mehr

Konfiguration von Outlook 2010

Konfiguration von Outlook 2010 {tip4u://096} Version 2 Zentraleinrichtung für Datenverarbeitung (ZEDAT) www.zedat.fu-berlin.de Konfiguration von Outlook 2010 Zu jedem FU Account gehört auch ein E-Mail-Postfach bei der ZEDAT. Auf dieses

Mehr

Neues aus dem DFN-CERT. 49. DFN-Betriebstagung - Forum Sicherheit 21. Oktober 2008 Andreas Bunten, DFN-CERT

Neues aus dem DFN-CERT. 49. DFN-Betriebstagung - Forum Sicherheit 21. Oktober 2008 Andreas Bunten, DFN-CERT Neues aus dem DFN-CERT 49. DFN-Betriebstagung - Forum Sicherheit 21. Oktober 2008 Andreas Bunten, DFN-CERT Agenda Veranstaltungen des DFN-CERT Aktuelle Schwachstellen und Angriffe SPAM Joe Jobs 49. DFN-Betriebstagung,

Mehr

Impressum / Haftungsausschluss / Datenschutzerklärung

Impressum / Haftungsausschluss / Datenschutzerklärung / Haftungsausschluss / Datenschutzerklärung Kontaktadresse ECO PHYSICS GmbH Umwelt- und Prozess-Messtechnik Schleißheimer Straße 270B 80809 München 089 307667 0 089 307667 29 info@ecophysics.de Gesellschaft

Mehr

WebTransfer ZH Bedienungsanleitung

WebTransfer ZH Bedienungsanleitung Kanton Zürich Baudirektion Amt für Raumentwicklung Geoinformation Datenlogistik ZH WebTransfer ZH Bedienungsanleitung Version 3.12 vom 06.10.2017 2/13 Inhalt 1. Allgemeines 4 2. Transfer 5 3. Upload 8

Mehr

Fernwartung mit IPX/S Geräten Konfiguration mit Fritz!Box 7270

Fernwartung mit IPX/S Geräten Konfiguration mit Fritz!Box 7270 Fernwartung mit IPX/S 3.1.1 Geräten Konfiguration mit Fritz!Box 7270 GPG BUILDING AUTOMATION Dok.-Typ: Schritt-für-Schritt Anleitung Dok.-Nr. 9AKK106713A8893 Dok.-Version: 1.2 Abteilung: Global Support

Mehr

Bedienungsanleitung BITel WebMail

Bedienungsanleitung BITel WebMail 1. BITel WebMail Mit BITel WebMail stellt Ihnen die BITel ab sofort einen neuen Service zur Verfügung. Ob im Büro, auf Geschäftsreise, oder im Urlaub von überall auf der Welt kann der eigene elektronische

Mehr

Diese Anleitung hilft Ihnen dabei, in Ihrem -Programm ein neues -Konto einzurichten. Dazu sind mehrere Schritte nötig.

Diese Anleitung hilft Ihnen dabei, in Ihrem  -Programm ein neues  -Konto einzurichten. Dazu sind mehrere Schritte nötig. Diese Anleitung hilft Ihnen dabei, in Ihrem Email-Programm ein neues Email-Konto einzurichten. Dazu sind mehrere Schritte nötig. 1. Einrichtung einer Email-Adresse inkl. Postfach über Ihr Plesk- Kundenmenü

Mehr

DATENSCHUTZERKLÄRUNG ZUR DATENVERARBEITUNG AUF DER WEBSITE DER

DATENSCHUTZERKLÄRUNG ZUR DATENVERARBEITUNG AUF DER WEBSITE DER DATENSCHUTZERKLÄRUNG ZUR DATENVERARBEITUNG AUF DER WEBSITE DER FOCUS Institut Marketing Research Ges.m.b.H Maculangasse 8 1220 Wien T: +43 (0)1 258 97 01 F: +43 (0)1 258 97 01 99 M: dsgvo@focusmr.com (im

Mehr

Das Tablet mit Android 6.x. Kommunikation & Organisation Fotos, Videos & Medien. Markus Krimm. 1. Ausgabe, Juli 2016 ISBN

Das Tablet mit Android 6.x. Kommunikation & Organisation Fotos, Videos & Medien. Markus Krimm. 1. Ausgabe, Juli 2016 ISBN Markus Krimm. Ausgabe, Juli 206 ISBN 978-3-86249-593- Das Tablet mit Android 6.x Kommunikation & Organisation Fotos, Videos & Medien K-TAB-AND6X-G 4 Kommunikation Mit Threema Nachrichten sicher verschicken

Mehr

Sichere E -Mail. E- Mails versenden aber sicher! Kundenleitfaden Kurzversion. Stadt-Sparkasse Langenfeld

Sichere E -Mail. E- Mails versenden aber sicher! Kundenleitfaden Kurzversion. Stadt-Sparkasse Langenfeld Sichere E -Mail E- Mails versenden Kurzversion Stadt-Sparkasse Vorwort Wir leben in einem elektronischen Zeitalter. Der Austausch von Informationen erfolgt zunehmend über elektronische Medien wie z.b.

Mehr

Joomla!- Templates. Design und Implementierung. Know-how ist blau. in Farbe. Überzeugende Vorlagen für das Open-Source-CMS FRANZIS.

Joomla!- Templates. Design und Implementierung. Know-how ist blau. in Farbe. Überzeugende Vorlagen für das Open-Source-CMS FRANZIS. Alexander Schmidt Know-how ist blau. Joomla!- Templates Komplett in Farbe Design und Implementierung > Joomla!-Screendesigns mit Photoshop entwerfen > Photoshop-Grafiken in ein Joomla!-Template verwandeln

Mehr

Dongle Generator: Technisches Datenblatt Betriebsanleitung Generieren Sie Ihren Dongle selbst!!! Allgemeine Angaben:

Dongle Generator: Technisches Datenblatt Betriebsanleitung Generieren Sie Ihren Dongle selbst!!! Allgemeine Angaben: Dongle Generator: Technisches Datenblatt Betriebsanleitung Generieren Sie Ihren Dongle selbst!!! Allgemeine Angaben: Die Software Dongle-Generator macht aus jedem USB Stick einen Dongle. Dazu werden verschiedene

Mehr

INHALTSVERZEICHNIS: 1. ANMELDUNG ÜBER WEBMAIL 2. MAILBOX

INHALTSVERZEICHNIS: 1. ANMELDUNG ÜBER WEBMAIL 2. MAILBOX Webmail INHALTSVERZEICHNIS: 1. ANMELDUNG ÜBER WEBMAIL 2. MAILBOX 2.1 E-MAILS LESEN 2.2 E-MAIL SCHREIBEN 2.3 ADRESSEN 2.4 ORDNER 2.5 OPTIONEN 2.6 SUCHEN 2.7 KALENDER 2.8 FILTER ok_anleitung Webmail Seite

Mehr

Anleitung Kirchliche Mails via GMail-Konto senden. Bausteine von kirchenweb.ch gmbh

Anleitung Kirchliche Mails via GMail-Konto senden. Bausteine von kirchenweb.ch gmbh Bausteine von kirchenweb.ch gmbh Anleitung Kirchliche Mails via GMail-Konto senden Versenden Sie kirchliche Mails über Ihr GMail-Konto, so dass der kirchliche Absende ersichtlich bleibt. Eine Dienstleistung

Mehr

Umgang mit Spam. Zusammenfassung. 1. Woher kommt das Wort Spam? 2. Wie erkenne ich Spam? 3. Weshalb bekomme ich Spam?

Umgang mit Spam. Zusammenfassung. 1. Woher kommt das Wort Spam? 2. Wie erkenne ich Spam? 3. Weshalb bekomme ich Spam? Umgang mit Spam Zusammenfassung Im Internetzeitalter bezeichnet man unerwünschte oder gefährliche E-Mails als Spam. Dieses Merkblatt enthält einige Antworten zu den folgende Fragen: Wie erkenne ich Spam?

Mehr

Die XHOSTPLUS Online Applikation xhonline

Die XHOSTPLUS Online Applikation xhonline Die XHOSTPLUS Online Applikation xhonline http://www.xhostplus.at -> Kundenbereich -> Online Kundenbe oder direkt via http://online.xhostplus.at Einführung Die XHOSTPLUS Webapplikation, kurz xhonline,

Mehr

Lektion 2: Mail und Kontakte

Lektion 2: Mail und Kontakte Lektion 2: Mail und Kontakte Als nächstes schauen wir uns die Mail-App an, damit du deine Mails auf dem ipad lesen und schreiben kannst. Und weil zu Mail schreiben auch Adressen gehören, lernst du auch

Mehr

38. Benutzerverwaltung

38. Benutzerverwaltung 38. Benutzerverwaltung Stellen Sie Standard-Variablen für jeden Benutzer individuell ein. Begrenzen Sie den Zugang für einzelne Benutzer zeitlich, z.b. für Praktikanten. Legen Sie fest, wie HVO2go und

Mehr

JavaScript objektorientiert

JavaScript objektorientiert JavaScript objektorientiert Verständlicher, flexibler, effizienter programmieren Bearbeitet von Nicholas Zakas 1. Auflage 2014. Taschenbuch. XIV, 122 S. Paperback ISBN 978 3 86490 202 4 Format (B x L):

Mehr

Neues System an der BO

Neues  System an der BO Datenverarbeitungszentrale Neues email System an der BO Liebe Nutzer des email Dienstes an der BO. Wir haben ein neues Mail System installiert, welches wir vor Inbetriebnahme testen möchten. Dazu bitten

Mehr

IT-Dienste und Anwendungen. Einrichtung eines. für Studierende. Dokumentennummer: IT-ZSD-007

IT-Dienste und Anwendungen. Einrichtung eines. für Studierende. Dokumentennummer: IT-ZSD-007 IT-Dienste und Anwendungen Einrichtung eines h_da-e-mail-clients für Studierende Dokumentennummer: IT-ZSD-007 Version 3.4 Stand 11.07.2018 Historie Version Datum Änderung Autor 1.0 05.08.2008 Dokumentenerstellung

Mehr

Zusatzinformationen zum Produkt

Zusatzinformationen zum Produkt Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte Daten sind im Internet über http://dnb.ddb.de

Mehr

:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: Süsstrunk :: Büchli :: :: :: :: :: :: :: :: :: :: :: :: :: Webdesignkurshandbuch Worum es geht HTML-Dokumente sind in der Regel statisch - will

Mehr

Handbuch & FAQ für Payment Card Industry Data Security Standard (PCI)

Handbuch & FAQ für Payment Card Industry Data Security Standard (PCI) Handbuch & FAQ für Payment Card Industry Data Security Standard (PCI) Der Schutz der Daten unserer gemeinsamen Kunden ist uns besonders wichtig. Aus diesem Grund haben wir ein neues Sicherheitstool im

Mehr

Datenschutzerklärung

Datenschutzerklärung Datenschutzerklärung Die, als Verantwortlicher (i. S. d. Art. 4 Nr.7 EU DSGVO) für die Webseite(n) unter der Domain: www.webxells.com, möchte Sie mit dieser Datenschutzerklärung darüber informieren, ob

Mehr

Seminar Internet & Internetdienste. Spam. SS 2004 Bernd Öchsler

Seminar Internet & Internetdienste. Spam. SS 2004 Bernd Öchsler Seminar Internet & Internetdienste Spam SS 2004 Bernd Öchsler Was ist Spam? Stupid Person Advertisement / Sending Personally Annoying E-Mails, Eigentlich: SPAM - Spiced Pork And Meat wurde bekannt durch

Mehr

CargoDocs für Schiffsführer - Benutzeranleitung

CargoDocs für Schiffsführer - Benutzeranleitung CargoDocs für Schiffsführer - Benutzeranleitung Januar 2017 Seite 1 Inhaltsverzeichnis Einleitung 2 Anmelden... 3 Anmelden eines neuen Benutzers 3 Schleppkahn ändern 6 Passwort vergessen 7 Benutzername

Mehr

FRANZIS COMPUTERBUCH. Wissen pur für den Computeralltag

FRANZIS COMPUTERBUCH. Wissen pur für den Computeralltag FRANZIS COMPUTERBUCH Wissen pur für den Computeralltag Christian Immler Computer Lexikon Christian Immler Computer Lexikon Mehr als 900 Begriffe rund um Computer, Handy und Internet FRANZIS COMPUTERBUCH

Mehr

1. Einführung. 2. Probleme beim Emailversand

1. Einführung. 2. Probleme beim Emailversand 1. Einführung Mit orgamax können Sie Ihre Vorgänge, Briefe, Mahnungen etc. bequem per Email versenden. orgamax spricht dabei die gängigsten Email-Programme wie Outlook und Thunderbird an, unterstützt dabei

Mehr

Sophos Mobile Control Benutzerhandbuch für Windows Mobile

Sophos Mobile Control Benutzerhandbuch für Windows Mobile Sophos Mobile Control Benutzerhandbuch für Windows Mobile Produktversion: 2 Stand: Dezember 2011 Inhalt 1 Über Sophos Mobile Control... 3 2 Einrichten von Sophos Mobile Control auf einem Windows Mobile

Mehr

Wie komme ich in die IPA-Mitgliederverwaltung- Online (MVO)?

Wie komme ich in die IPA-Mitgliederverwaltung- Online (MVO)? Wie komme ich in die IPA-Mitgliederverwaltung- Online (MVO)? Inhalt 1) Allgemeines... 2 2) Einstieg in die Mitgliederverwaltung (MVO)... 3 Einleitung... 3 Die Referenzadresse... 3 Freischalten der MVO

Mehr

Was ist Spam? - Motivation für Spam

Was ist Spam? - Motivation für Spam Was ist Spam? - Motivation für Spam Präsentation von Henning Störk im Rahmen der Veranstaltung Internetkommunikation von Prof. Dr. M. Leischner im Henning Störk Folie 1 von 21 Gliederung Was war Spam /

Mehr

ANTWORTEN AUF HÄUFIGE FRAGEN TKB E-BANKING

ANTWORTEN AUF HÄUFIGE FRAGEN TKB E-BANKING Andere Fragen? Rufen Sie uns an unter 0848 111 444 oder schreiben Sie uns. Bitte Thema wählen TKB E-Banking Stichwortsuche (optional) 69 Einträge gefunden Treffer 16-30 von 69 1 2 3 4 5 16 Wieviel kostet

Mehr

Elisabeth-Knipping-Schulmailadressen Kollegium EKS Mailadresse einrichten - wie geht das? Datum: 1/2019

Elisabeth-Knipping-Schulmailadressen Kollegium EKS Mailadresse einrichten - wie geht das? Datum: 1/2019 1 Aufbau der Adresse Sie ist da, die neue Mailadresse, z. B. s.schmidt@elisabeth-knipping-schule.de Oh je, so lang, aber das ist kein Problem, da wir sie in der Regel nur selten wieder eintippen müssen.

Mehr

Installation von MS SQL-Server 2014 Express

Installation von MS SQL-Server 2014 Express ALGE 2016 SQL Server Installation Inhaltsverzeichnis Installation von MS SQL-Server 2014 Express...1 Datenbank für Remote- Zugriff vorbereiten...6 Windows Firewall Konfiguration...9 Falls Sie ein Englischsprachiges

Mehr

Formulare mit HTML. Beispiele. Beispiele & Nutzen. Web. Fach: Klasse: BW2. Datum: (Freitag) Agenda zu HTML und PHP

Formulare mit HTML. Beispiele. Beispiele & Nutzen. Web. Fach: Klasse: BW2. Datum: (Freitag) Agenda zu HTML und PHP 1 2 Fach: Klasse: Datum: Web BW2 01.03.2019 (Freitag) Agenda zu HTML und PHP Formulare mit HTML Beispiele & Nutzen PHP - Definition XAMPP - PHP-Quelltext ausführen mit XAMPP 3 4 Formulare mit HTML Beispiele

Mehr

Wir haben es schon angekündigt das wir zur Vorbereitung von Veranstaltungen eine Internetseite Einrichten wollen auf der das soll.

Wir haben es schon angekündigt das wir zur Vorbereitung von Veranstaltungen eine Internetseite Einrichten wollen auf der das soll. Hallo die Damen und Herren Wir haben es schon angekündigt das wir zur Vorbereitung von Veranstaltungen eine Internetseite Einrichten wollen auf der das soll. Nun ist es so weit die Seite ist Online und

Mehr

Anleitung Dudle 1. Name 2. Terminauswahl Name - 1 -

Anleitung Dudle 1. Name 2. Terminauswahl Name - 1 - 1 Allgemeine Informationen Dudle ist eine Anwendung zum Erstellen von Umfragen, die mittels Link (z.b. per E-Mail) an die gewünschten Teilnehmer/innen versendet werden kann. Somit können Sie kostenlos

Mehr

Auskunftsportal Verwaltersuche

Auskunftsportal Verwaltersuche Die Anleitungen zur Nutzung So funktioniert es! Sie suchen eine neue Verwaltung? Profitieren Sie von den guten und schlechten Erfahrungen, die andere WiE-Mitglieder mit ihren Verwaltungen gemacht haben!

Mehr

Beschreibung zur sicheren -Kommunikation mit der IFB Hamburg

Beschreibung zur sicheren  -Kommunikation mit der IFB Hamburg Beschreibung zur sicheren E-Mail-Kommunikation mit der IFB Hamburg Inhaltsverzeichnis Einleitung... 2 Überblick... 2 Allgemeine Informationen zur E-Mail-Verschlüsselung... 2 Zusammenfassung... 2 Vorgehensweise...

Mehr

grep kurz & gut John Bambenek and Agnieszka Klus

grep kurz & gut John Bambenek and Agnieszka Klus grep kurz & gut grep kurz & gut John Bambenek and Agnieszka Klus Beijing Cambridge Farnham Köln Sebastopol Tokyo Copyright der deutschen Ausgabe 2009 by O'Reilly Verlag GmbH & Co.KG Darstellung eines

Mehr

Übersicht Beantragungs- & Installationsprozess

Übersicht Beantragungs- & Installationsprozess Übersicht Beantragungs- & Installationsprozess 1. Bestellen Sie das S/MIME Zertifikat über www.s-mime.info oder Ihr Administrator beantragt das S/MIME Zertifikat über die Managed Lösung EPKI 2. Sie erhalten

Mehr

Initiative Tierwohl Geflügel

Initiative Tierwohl Geflügel Initiative Tierwohl Geflügel Erzeugung + Übermittlung der Bewegungsdaten Schlachtbetrieb In 5 Schritten zur fertigen Schnittstellendatei Version 1.2 19.05.2016 arvato Financial Solutions Copyright bfs

Mehr

SCHULSPEZIFISCHEN ROLLENRECHTE

SCHULSPEZIFISCHEN ROLLENRECHTE Bei BASISDATEN > ADMINISTRATION organisieren Sie, wer SOKRATES an Ihrer Schule mit welchen Rechten nutzen kann. Außerdem können unter ADMINISTRATION mit SOKRATES intern Texte an andere Schulen geschickt

Mehr

BRL FileBox Anleitung online

BRL FileBox Anleitung online IT Helpline BRL FileBox Anleitung online Einleitung In zunehmendem Maße besteht der Bedarf, größere Dateien über das Internet auszutauschen. Da die Mailsysteme in der Regel eine Größenbeschränkung von

Mehr