Ansichten eines Informatikers

Die Crux mit den Kinderporno-Stoppservern

Hadmut
22.4.2009 20:24

Man will Kinderpornographie sperren und “Stoppserver” vorschreiben, auf die bei einer Sperrung umgeleitet werden soll. Ein paar Anmerkungen dazu.

Die Zugriffe auf Kinderpornos sollen auf Stopp-Server umgeleitet werden. Und wer auf Kinderpornoserver – und damit, so die Vorstellung, umgeleitet auf die Stoppserver – zugreift, soll dann auch erfasst und die Liste an das BKA weitergeleitet werden. Die Sache hat Eigenschaften und Haken.

  • Wenn der DNS-Server eines Providers auf die Anfrage nach einem Hostnamen die IP-Adresse des Stoppservers liefert, weiß man, daß man einen staatlich zertifizierten Kinderpornoserver gefunden hat, noch bevor man darauf zugegriffen hat. Hätte man etwa eine Liste aller Second-Level Domains (bzw. Third Level in den Ländern mit einer Zweiten Hierarchie), oder wenigstens die Liste der .com-Domains, könnte man sich ruckzuck die Sperrliste herausziehen.
  • Jeder Kinderpornokonsument, aber auch jeder gute Mensch, der nicht versehentlich auf diese Stoppseiten und damit auf die Strafbarkeitsliste des BKA kommen will, würde gut daran tun, entsprechende Gegenmaßnahmen einzusetzen. Auch der, der keine Kinderpornos sucht, kann ganz einfach, ungewollt und unbemerkt auf diese Stoppseiten und damit auf die Listen kommen. Möglichkeiten gibt es viele. Beispielsweise könnte man auf harmlose Webseiten oder in HTML-Mails (Spam) Pornobilder einbinden und diese entweder auf 1×1 Pixel runterskalieren oder als Background hinter anderen Bildern verstecken. Man kann tinyurl.com-Methoden verwenden, Frames einbinden oder – ganz subtil – einfach das Style-Sheet einer Kinderporno-Seite verwenden. Man würde in den Logs als permanenter Pornokonsument auftauchen, und falls der PC im Rahmen einer Hausdurchsuchung beschlagnahmt würde, würde die Polizei die vielen Kinderpornos im Browser-Cache finden. Und schon wär man dran, ohne zu wissen, wie einem geschieht und ohne jemals Kinderpornos gesucht oder gar angesehen zu haben. Die Stopp-Seite und die Weiterleitung an das BKA führen sich gegenseitig ad absurdum. Insofern muß sogar jeder, der mit Kinderpornos nichts zu tun haben will, Gegenmaßnahmen ergreifen, um nicht in diese Mühle zu geraten.

    Eine Maßnahme wäre, wie bekannt, einen anderen DNS-Server (oder einen eigenen) verwenden.

    Eine andere, bisher nicht diskutierte Maßnahme wäre, auf der eigenen (Soft- oder Hardware-)Firewall die IP-Adressen der Stopp-Server in die Blockliste eintragen, damit man beim normalen Surfen (oder eben wenn Kinderschänder auf der Suche sind) nicht ungewollt auf die Stopp-Server läuft und damit in den Listen landet. Sicherlich gibt es früher oder später auch Plugins für Browser wie Firefox, die die Listen der Stopp-Server haben und von vornherein jeden Zugriff darauf unterlassen, um nicht in diesen Listen aufzutauchen. Jede ordentliche Firmen-Firewall würde die Stopp-Server (wohlgemerkt die Stopp-Server, nicht die Kinderporno-Server) sperren, um nicht umgewollt in diesen Listen zu landen.

  • Es besteht aber ohnehin die Tendenz, daß man nicht die Kinderpornogucker, sondern nur die ganz Doofen damit bekommt. Denn die Ansage ist ja, nicht gleich jeden festzunehmen, der da einmal versehentlich in den Listen landet, sondern die, die da länger drauf rumsurfen.

    Man nimmt also an, daß jemand – ein Pädophiler – sich dann, wenn er gegen dieses rote Stopp-Schild läuft, trotzdem genauso verhalten würde, als würde er eine Kinderpornoseite anschauen, also stundenlang drauf rumsurfen. Auf dem Stopp-Schild. Und weil das ja keine Links hat, im Prinzip stundenlang die Refresh-Taste drückt. Ich glaube, solche Leute hätten dann aber gute Chancen als nicht schuldfähig ein Zimmer mit ner dicken weichen Tapete zu bekommen.

Übrigens bringt so ein Stopp-Server noch mehr Probleme mit sich:

  • Das beruht auf dem Irrtum, daß das ganze Internet auf HTTP basiert. Man wird aber einer HTTPS-Anfrage nicht einen Stopp-Server unterschieben können, denn es ist ja gerade Sinn und Zweck von HTTPS, das zu verhindern. Wie würde man eine Stopp-Server-Graphik etwa bei FTP anzeigen? OK, könnte man noch als ASCII-Text versuchen. Klappt aber auch nur mit normalen FTP-Clients, nicht mit normalen Browsern, denn die Zeigen die Nachricht des Servers gar nicht an. Protokolle wie rsync? Könnte interessant werden.
  • Selbst bei HTTP gibt es Fragen: Woher soll der Stopp-Server, auf den eine HTTP-Anfrage umgelenkt wird, wissen, ob der anfragende Browser nun eine HTML-Seite, eine Graphik, ein Javascript-Programm oder ein Style-Sheet usw. erwartet? Würde man beispielsweise auf einer nicht-gesperrten Seite oder einer HTML-EMail eine Graphik mit Link auf eine gesperrte Seite einbinden, würde der Stopp-Server zunächst mal eine HTML-Seite ausliefern, die der Browser aber nicht anzeigen würde, wenn sie mit einem img-Tag referenziert wird. Am ehesten hätte man noch Erfolg, wenn der Server immer eine Graphik liefert, weil diese wenigstens in diesen beiden Zugriffsfällen arbeiten würde.

Nebenbei bemerkt: Eigentlich würde man von einer Regierung erwarten, daß sie sich für Internet-Sicherheit einsetzt und schwache Protokolle wie DNS verbessern läßt anstatt deren Schwächen zu instrumentalisieren und zu institutionalisieren.

5 Kommentare (RSS-Feed)

Kosta_
22.4.2009 22:11
Kommentarlink

Ich wollte noch kurz anmerken, dass der Implementierungsstand zumindest bei o2 wohl zZ so aussieht, dass die nicht ihren DNS-Server manipulieren, sondern irgendwie “transparent” dazwischenfummeln.

Am Wochenende war eine harmlose Domain* von o2 aus kaputt (einfach keine Antwort), von der uni aus ging sie. Das war unabhaengig (!) von dem verwendeten Nameserver: Sogar der o2 Nameserver hat von der Uni aus die DNS-Abfrage beantwortet, nur nicht vom o2-Netz aus.

Wenn man das umgehen will, muss man also erstmal DNS irgendwohin tunneln. Das beliebte ssh -D, dass nen SOCKS-Proxy aufmacht und alles moegliche tunnelt, tunnelt leider kein DNS.

*= http://pictureisunrelated.com/


Hadmut
22.4.2009 22:24
Kommentarlink

Naja, sowas kann auch ein ordinäres Routingproblem gewesen sein. Man muß da auch soviel Selbstdisziplin aufbringen, keine Gespenster zu sehen und Fachwissen einsetzen. Solche Phänomene gab es im Internet schon immer.


Kosta_
23.4.2009 20:06
Kommentarlink

Ein o2 DNS Server anwortet einem Kunden nicht (es kommt kein Antwortpaket an) fuer genau eine spezielle Domain, waehrend er sich sonst ganz normal verhaelt. Der selbe DNS Server anwortet einem nicht-Kunden dafuer ganz normal mit der korrekten IP.

Wo genau soll da das Routing-Problem liegen?


Hadmut
23.4.2009 21:17
Kommentarlink

Na, zum Beispiel zwischen den Caches oder zwischen dem Cache und dem Nameserver der angefragten Domain. Kann auch andere Gründe haben, nicht alle DNS-Caches arbeiten fehlerfrei.

Ein DNS-Server, auf dem eine Domain gesperrt wird, antwortet nämlich normalerweise mit einem NX bzw. does not exist. Und nicht ohne Paket.

Sowas kann beispielsweise auch passieren, wenn der angefragte Host-Name so viele IP-Adressen hat, daß die Antwort größer als 512 Byte wird. Dann verwendet DNS nämlich TCP statt UDP, und da denken viele Firewall-Admins nicht dran, das dann aufzumachen.

Außerdem werden Domains auch nicht nur mal eben übers Wochenende gesperrt.


Kosta_
23.4.2009 23:02
Kommentarlink

Keine Ahnung was da genau lief – und das laesst sich jetzt nicht mehr mit Sicherheit klaeren. Allerdings passt es auch nicht zu Deinen Erklaerungen. Wenn Du willst, koennen wir gerne mal das Phaenomen, das ich beobachtet habe im Detail diskutieren 🙂 (Bei der Registrierung habe ich glaube ich meine E-Mail-Adresse angegeben)

Worauf ich letztlich hinauswollte ist: “DNS-Sperren” muessen nicht unbedingt so umgesetzt werden, dass ein Server die Domain nicht mehr kennt. Es kann auch sein, dass mittels Deep Packet Inspection reingeschaut wird und DNS-Abfragen (oder Antworten?) bzgl Domains auf einer Liste unterdrueckt werden. Das ist vom “Grundrechtseingriff” evtl heikler, aber technisch ist das moeglich. Hat fuer den Provider den Nachteil, dass der Gesamte Traffic gesnifft werden muss und den Vorteil, dass a) man nicht am DNS Server rumspielen muss und b) der “Dann nehm ich halt OpenDNS”-Trick nicht mehr geht. Und so eine Filterung passt wie die Faust aufs Auge zu meinem Phaenomen.

Dann hilft es nur, seinen DNS-Traffic (am besten verschluesselt) irgendwohin zu tunneln, wo DNS noch unzensiert ist. Wenn man das beliebte SSH -D nimmt, muss man halt aufpassen, dass der SSH Tunnel auch fuer DNS genommen wird. Bei Firefox muss man dafuer network.proxy.socks_remote_dns auf true setzen.