Umgehen von „Jugendschutzprogrammen“ nach JMStV ist trivial

| 32 Kommentare | 3 TrackBacks

Es ist trivial, jeder beliebigen Webseite eine Alterskennzeichnung „ab 0 Jahren“ nach dem neuen Jugendmedienschutz-Staatsvertrag (JMStV) unterzuschieben und somit das zentrale Element des neuen JMStV auszuhebeln. Man braucht nur einen Apache-Webserver und drei Zeilen Konfiguration, danach kann man einen Proxy-Server im Browser eintragen und schon denkt der Filter, alle aufgerufenen Webseiten seien ab 0 Jahren freigegeben.

Eine wesentliche Idee am neuen JMStV, über den diese Woche die letzten Bundesländer abstimmen wollen und der zum 1. Januar 2011 den alten ablösen soll, ist die Etablierung von Inhaltsfiltern, die im Vertrag „Jugendschutzprogramme“ genannt werden. Diese sollen ein Alterskennzeichen der Webseiten auslesen und damit je nach Alter des Nutzers den Zugang erlauben oder verhindern. Vor ein paar Tagen habe ich über die Hintergründe der Entstehung der technischen Richtlinie zur Webseiten-Kennzeichnung nach dem neuen JMStV geschrieben. Nun habe ich mir die Richtlinie inhaltlich näher angeschaut.

Schon bei der Anhörung im Landtag in Düsseldorf hat Prof. Hannes Federrath bemängelt, dass diese Filterei einfach zu Umgehen ist. Und bei Betrachtung der nun vorliegenden technischen Richtlinie wird klar, dass es noch einen weiteren und wirksamen Weg gibt. Der Filter lässt sich trivial austricksen. Man muss ihn noch nicht einmal umgehen!

Die meisten Filter arbeiten wie eine Art transparenter Proxy-Server, klinken sich ins System ein und analysieren so alle Web-Inhalte. Hat ein Inhalt ein Kennzeichen „ab 18 Jahren“, so wird dieser beim Einsatz eines Internet-Filters blockiert. Das Kennzeichen liegt dabei als XML-Datei im obersten Verzeichnis auf der betreffenden Webseite, der Filter liesst es dann aus. 

http://www.irgendeine-webseite.tld/age-de.xml

Weitere Arten der Einbindung sind möglich (z.B. HTTP-Header und HTML-Meta-Tag), hier aber nicht weiter interessant. Um den Filter auszutricksen und sowohl nicht als auch mit einer hohen Altersstufe gekennzeichnete Inhalte anzeigen zu können, muss man nur ein eigenes niedriges Kennzeichen unterbringen. Am einfachsten geht dies mit einem selbst aufgesetzten Proxy-Server. Der ist schnell aufgesetzt, lässt sich beispielsweise auf einem VServer betreiben. Er muss nur immer eine eigene age-de.xmlausgeben.

Dies lässt sich mit den folgenden zwei Zeilen Konfiguration im Apache (z.B. in einem VirtualHost) erreichen:

# Apache Proxy mit mod_proxy aktivieren
ProxyRequests On

# Mittels mod_rewrite die age-de.xml Datei in jeden Webserver einblenden
RewriteEngine On
RewriteRule /age-de.xml http://localhost/age-dummy/dummy-age-de.xml [P]

Dabei liegt in diesem Beispiel unter http://localhost/age-dummy/dummy-age-de.xml (lokal) ein Kennzeichen, das alles ab 0 Jahren freigibt. Dieses wird dann für jede Seite als Kennzeichen ausgegeben, der Filter ist umgangen. Hier gibt es auch eine beispielhafte XML-Datei: dummy-age-de.xml

HINWEIS: mit obiger Konfigration erhält man einen offenen, für jeden im Netz nutzbaren Proxy. Das ist in der Regel keine gute Idee, Spammer nutzen solche gerne. Es bleibt dem Leser als Übung überlassen, den Server beispielsweise per Passwort zu sichern.

 

Dieses Problem ist übrigens Systemimmanent und lässt sich durch eine Änderung der Spezifikation nicht beheben. Nur eine digitale Signatur des Alterskennzeichens durch eine zugelassene Stelle könnte das beheben, würde den Gesamtaufwand aber exorbitant erhöhen. 

Die Richtlinie selbst hat aber auch noch andere Probleme. Da gibt es am Ende ein Beispiel-XML. Das enthält aber Tags, die im gesamten Dokument gar nicht beschrieben wurden – z.B. url-parameter.

Und auf Seite 22 steht beschrieben, in welchen Fällen Alterskennzeichen aus HTTP-Headern ausgewertet werden:

Die Altersklassen‐Informationen werden (nur) in den http‐Header einer zusammenhängenden html‐ Seite geschrieben, nicht jedoch in die Header von Einzeldateien wie Bildfiles o.ä.

Da auf einer Webseite durchaus unterschiedliche Einstufungen vorkommen können, bedeutet dies:

Startseite http://www.tolle-seite.tld/ ist ab 6 Jahren, eine bestimmte Unterseite mit Bildern http://www.tolle-seite.tld/schweinkram/ ab 18. Beides kann mit dem System abgebildet und passend gefiltert werden. Auf der Unterseite ist das Bild eingebunden, das zu der Einstufung führte: http://www.tolle-seite.tld/schweinkram/schweinisch.jpg – die Unterseite http://www.tolle-seite.tld/schweinkram/ wird nun vom Filter blockiert, das eigentliche Bild http://www.tolle-seite.tld/schweinkram/schweinisch.jpg aber nicht. Das gleiche gilt natürlich auch für Filme und so weiter. Da fragt man sich schon, welcher, hmmm, … Intelligenzbolzen sich das ausgedacht hat!

 

Die zuletzt genannten Probleme lassen sich zwar beheben, aber die leichte Umgehbarkeit nicht. Und da reicht es, dass ein Schüler in der Schule einen solchen Proxy aufsetzt, und alle seine Mitschüler nutzen ihn mit. Aber andererseits ist das wieder eine gute Sache, denn sowohl die Evaluation zum bisherigen JMStV als auch die Praxis zeigen, dass Filter mehr Ärger als Nutzen mit sich bringen. Und ich hörte, dass in so mancher Schule an der Wand auch schon jetzt die Listen mit offenen Proxies zur Umgehung des Filters hängen (in manchen Umgebungen reicht ein einfacher externer Proxy zur Umgehung aus) – und von den Lehrern geduldet werden!

 

3 TrackBacks

Alvar Freude hat auf seinem Blog einen Artikel den lachhaften Bestimmungen des JMStV veröffentlicht. Darin veranschaulicht er, wie man die Jugendschutzfilter mit minimalem Aufwand umgehen kann. Mit Hilfe eines Apache-Proxies, der gefälschte Daten ausgi... Mehr

Schwachstellen in der Spezifikation der Implementierung der Alterskennzeichnung lassen es zu, dass der Jugendschutz mit einfachen technischen Mitteln ausgehebelt werden kann. Dieses bürokratische Regulierungsmonster sollte daher korrekterweise als Pisa... Mehr

Es ist ein Fehler anzunehmen, die CDU hätte in NRW gegen den JMStV gestimmt, weil sie inhaltlich gegen den JMStV gewesen wäre - keine der Parteien irgendwo in Deutschland hat aus inhaltlichen Gründen für oder gegen den JMStV gestimmt, sondern das ganz Mehr

32 Kommentare

Der größte Witz ist für mich, daß man meines Wissens den Betreiber eines solchen Proxies nicht mal belangen kann, weil der Vertrag den Fall schlicht nicht vorsieht, sondern nur direkt auf die Anbieter zielt. Damit wäre nicht nur die Technik, sondern gleich das gesamte juristische Vertragswerk gehackt.

da fehlt ein </labeltype-xmlfile>

Hmm, ich verstehe den Ansatz nicht, fürchte ich. Es gibt da zwischen meinem Rechner und dem vollen Internet einen "FSK-Proxy".
Den age-de.xml - Request wird der FSK-Proxy absetzen. Das heißt doch, ich muss den FSK-Proxy umkonfigurieren können, dass er meinen Proxy benutzt. Das halte ich für eher unwahrscheinlich.

Gruß
TF

Wenn ich mir die Spezifikation anschaue steht in der xml Datei im Scope der Servernamen drin.

Was machen die Filterprogramme wenn der Scope in der "augetauschten" xml Datei nicht mit dem Server übereinstimmt von dem Sie Datei kommen müsste?

Oder übersehe ich was?

Das ließe sich mit einer dynamisch generierten age-de.xml beheben, wenn man die URL eh ändert, kann man auch gleich die original-Url als Parameter dranhängen.

Irgendwie mit der heißen Nadel gestrickt. Der Autor des PDFs weiß offenbar nicht, daß es nicht DDT, sondern DTD heißt. "Naturgemäß ist eine DDT [sic] oder XSD nicht Teil der Standard‐Definition" -- nein, genau andersherum verhält es sich. Ganz lustig ist ja -- sofern ich das richtig verstanden habe -- die Kennzeichnung von ausgehenden Requests (20.). Das wird aber bei Kindern sehr lange dauern, bis sie sich aus der HTML-Seite die URLs herauskopieren und einfach den Querystring verändern...

Klaus

ok. Das habe ich mir auch schon gedacht. Aber dann reicht der einfach Austausch der xml über einen Proxy nicht aus. Man muss schon etwas mehr Grips rein stecken.

Nichts was unmöglich wäre. Dauert wahrscheinlich 2 Stunden länger

Die bösen Bilder würden sich aber dann doch mit einer entsprechenden Zeile im HTTP-Header als solche kenntlich machen lassen, oder?

Das ist natürlich aufwändiger, als einen Meta-Tag in HTML einzufügen und dürfte auch nicht bei jeden Hoster möglich sein.

Die o.g. Umgehung mit dem Proxy hätte ich mit 17 als Mitglied der schulischen Computer-AG durchaus einrichten können.

Was bleibt ist die Unsicherheit, was man als Blog- und Webseitenbetreiber nun tun soll.

Danke, ist korrigiert, habe ich beim herumkopieren und rauslöschen vergessen.

Nein, der Filterproxy ist transparent im System integriert. Man kann also im Browser einen anderen einstellen.

Aber das kommt natürlich auf die Software an.

Und wenn man den Proxy im Browser nicht ändern kann? Nunja, auch das ist relativ einfach, analog zu http://de.web-blaster.org/

Der Scope erlaubt Wildcards. Im Beispiel-XML steht daher ein * drin.

Und selbst wenn das aus der Spezifikation gestrichen wird, ist das kein Problem: dann ist das XML eben nicht statisch sondern wird dynamisch generiert und fügt den Hostnamen auf den zugegriffen wird ein. Das geht sogar mit simplem SSI … ;-)

Die Alterskennzeichnung auch bei Bildern in den HTTP-Header reinzupacken geht technisch, ja. Aber die Spezifikation sagt ja in dem zitierten Absatz genau, dass das nicht ausgewertet wird/werden darf.
Das ist Unfug, ja. Deswegen frage ich mich ja auch, welcher Intelligenzbolzen das geschrieben hat …

Also wenn man im Browser einen anderen einstellen kann, dann kann man ihn doch auch einfach abstellen?
Einen zusätzlichen Proxy bräuchte ich ja nur, wenn der Browser am Schluss nochmal checkt, ob der Content altersverifiziert ist.

Nein, der transparente Proxy wird nicht im Browser eingestellt sondern hängt sich im System rein; sonst kann man ja auch einfach mit einem anderen Browser die Sperre umgehen.

Hm, die Kritik im letzten Absatz kann ich nicht ganz nachvollziehen, das es also "blöd" ist, das http://example.org/schweinkram/ ab 18 sein soll und das es ein Problem sei, das http://example.org/schweinkram/Bild.jpeg nocht gefiltert wird.

Angenommen, man hätte eine (nicht seo konforme…) http://example.Net/Index.php die die ganze Site Steuert unddurch quer Parameter gesteuert wird (also Index.php?Bild=Schweine bzw Index.php?Bild=Santa) — natürlich gehört der http Header in jeden Request rein. Aber was hat das mit dem /schweinkram/ "Verzeichnis" zu tun?

Diese Unterseite ist nur in dem Beispiel ein Verzeichnis, kann aber auch alles andere sein. Es geht darum, dass auf der Unterseite das „böse“ Bild eingebunden ist, das erst ab 16 oder 18 ist. Diese Seite ist dann also ab 16 oder 18 – wegen dem Bild!

Das Bild an sich aber lässt sich (laut Spezifikation) nicht mit einem Alterskennzeichen versehen und kann dann trotz aktivem Filter angeschaut werden, weil es z.B. ab 6 oder ab 12 wie die Gesamt-Domain eingestuft wird. Und das ist natürlich unfug.
Der HTTP-Header kann laut Spezifikation da nicht gesetzt werden, siehe das Zitat.

Dh., wenn man die gesamte Deite als Bild ausliefern würde (also Text -> Bild umwandeln würde), dann könnte man sich den Humbug mit der Kennzeichnung sparen?

...hab ich da jetzt nen Denkfehler oder könnte der Proxy nicht auch lokal auf dem Win-Client laufen? Sobald die erste passende Apache-Installationsanleitung im Netz steht, kann das doch Jeder nachkochen - auch ohne es zu verstehen. Dann braucht er weder einen VServer noch einen Kumpel mit VServer noch muss Jemand einen offenen Proxy betreiben, der das nicht will.

Gruss, J.

Nein, dann würde der lokale Proxy-Verkehr ja auch gefiltert. Aber wenn es schon so weit kommt, dass die Kids eigene Proxys installieren, dann kommen sie vermutlich auch zeitnah auf die Idee mit Live-CD booten, "rm /mnt/windowsplatte/Programme/TollerFilter/*" ;-)

Eine verpflichtende Kennzeichnung einzuführen ist eh Unsinn. Sinnvoll wäre es gewesen, einfach ein einheitliches System zu schaffen und staatlich zu zertifizieren.

Da gäbe es dann die Richtlinie: Das Label ab 6 Jahren darf nur verwendet werden, wenn die Inhalte den Richtlinien entsprechen. Autoren von Filtersoftware könnten dann einfach auf diese Tags vertrauen.

Ein Kindersiegel für Webseiten.

Aber da man ja was braucht, das der Gesellschaft schadet, wird stattdessen eine Kennzeichnungspflicht eingeführt…

Wie stellt sich diese Regierung eigentlich vor, dass das Gesetz, das ja bis heute noch nicht endgültig ist, per 01.01.2011 umgesetzt sein soll, zumal auch viele Web-Admins so was wie Familie, Weihnachtsferien und eine ausgeprägte LMAA-Haltung zur aktuellen Regierung haben?

Überrascht das denn irgenjemand? Wo war denn die letzte ausgegorene gesetzliche technische Richtlinie? Die sollten sowas lieber crowdsourcen, dann kommt nicht so ein Blödsinn raus.

Andererseits sollte man auch mal das positive Erwähnen: Durch die xml Lösung kann man seine gesamte Seite mit einem Handgriff ab 18 setzen, und durch die proxylösung verliert man auch keinen traffic.

Insofern ist das doch hervorragend gelöst. Hat mit Jugendschutz natürlich nichts zu tun, aber das hatte es ja eh nie.

Hi,

also pauschal würde ich das nicht unterschreiben. Natürlich gibt es einige Tricks, so z.B: die IP des Elternrechners ausspähen um Routersicherungen zu umgehen und vieles andere.

Bei kinkon.de haben wir das so gelöst, dass unser Filter unseren Proxy identifizieren kann. Umgeht man sowas durch den beschriebenen Weg von Alvar Freude, dann sperrt der Filter halt komplett. andersrum lässt sich aber auch der Proxy nicht fernsteuern.

Die Identifizierung passiert rein auf technischer Ebene - es werden hier keine Personendaten mitgeliefert. Denn Privatsphäre und Datenschutz ist uns/mir ziemlich heilig! Nur, bevor das jemand falsch interpretiert!

Aber an dieser Stelle vielen Dank an Alvar Freude für das große Engagement im Rahmen des JMStV!!!!

Weiter so!

Bzgl. Wirksamkeit dieser Umgehungsstrategie: ob es mit der beschriebenen Variante klappt, kommt darauf an, wie das Filterprogramm implementiert ist. Die meisten hängen sich transparent ins System rein und erlauben so, dass man einen Proxy vom Provider o.ä. nutzt. Und da funktioniert oben beschriebenes. Bei anderen Methoden wird es im schlimsten Falle ein klein wenig komplizierter.

Das Grundproblem der Selbstkennzeichnung bleibt aber bei jeder Variante. Wenn man keinen richtigen Proxy einstellen kann, dann nimmt man halt die Methode des Reverse Proxy. Dann erreicht man http://www.test.de/ mit manipuliertem Kennzeichen eben unter http://www.test.de.mein-0er-Kennzeichen.tld/ oder ähnliches.

Oder anders gesagt: die Einführung von nicht-signierten Kennzeichen eröffnet in jedem Fall eine neue, sehr einfache Methode zum Umgehen von Filtern. Nur signierte Kennzeichen zu erlauben erhöht die Kosten drastisch und wäre untragbar.

... da hilft ein Blick in den (neuen wie alten) JMStV: "gewöhnlich nicht wahrnehmen" ist die Messlatte, also keine Pentagon-Sicherheitstechnik. Der Umgehungsschutz muss ungefähr so sicher (oder unsicher, je nach Sichtweise) sein wie die Sendezeitbeschränkung im Fernsehen in Zeiten von Videorekordern. "Gewöhnlich nich wahrnehmen" heisst: Nicht ungewollt als Kind dauern draufkommen, nicht mehr und nicht weniger.

Hab ich bei diesem Schwachsinnsgesetz irgendwie was Grundlegendes verpasst?
Wie sollen denn Real-Life-PC-Nutzer überhaupt dazu motiviert werden, sich freiwillig so einen Filterproxy zu installieren, ohne den der ganze Schildbürgerstreich ja offensichtlich sowieso hinfällig ist?
Da Kinder unter 18 ja sowieso keinen eigenen Internetanschluß beantragen können, sondern der Anschluss eh immer über die Eltern läuft, kann ja auch seitens eines meinetwegen regierungskonform-speichelleckenden Providers schlecht ein Filter für den gesamten Anschluss installiert werden und wie realitätsfern muss man denn sein, wenn man glaubt, dass sich Eltern, die wenigstens 10% ihres Hirnvolumens sinnvoll nutzen können, tatsächlich so eine Idiotensoftware selbst auf ihren Rechner installieren?
Und die, die weniger als 10% verwenden, dürften wohl die Sachlage sowieso nicht voll erfassen können: Filter? Installieren? Ne, jetzt kommt doch gleich die Bundesliga im Ersten...

Da fragt man sich schon, welcher, hmmm, … Intelligenzbolzen sich das ausgedacht hat!

Das man nur auf dumme "Lösungen" kommt wenn man DRM implementieren will liegt in der Natur der Sache. Man kann nur unterschiedlich starke Illusionen von Unzugänglichkeit erzeugen.

Man hat nur die Möglichkeit den Datenfluss total zu überwachen und Verstöße zu sanktionieren - und das werden sie auch früher oder später auch tun. Denn, es geht hier schließlich um die Kinder.

… Sind Sie der Lobbyist, der schon vor ein paar Tagen an verschiedenen Stellen aufgeschlagen ist?

Sei's drum. Aber: der neue JMStV verspricht „besseren“ Jugendschutz. Und mit den neuen Filtern wird er schlechter, das Konzept ist jetzt schon ausgehebelt. Punkt. Alles andere ist Bullshit-Laberei.

Und wieso ist dazu ein neuer JMStV nötig?

Hallo Leute, was wird den nur hier diskutiert? Ein Rechner kann in der Regel jederzeit mit einem anderen Betriebssystem gestartet werde. Live-CD oder über F11 von einem Stick oder externe Festplatte.
Was soll der ganze Quatsch nur? Unsere Oberen glauben die Kinder der Wähler sind Doof.

Sven

Was machen die Filterprogramme wenn der Scope in der "augetauschten" xml Datei nicht mit dem Server übereinstimmt von dem Sie Datei kommen müsste? Oder übersehe ich was?

Filter kann man ja auf zwei Arten umgehen:
1) Man manipuliert die Kennzeichnung der Website
2) Man tunnelt den Datenverkehr durch den Filter
Eine Variante von 1. ist die im Artikel beschriebene. Diese lässt sich effektiv unterbinden, indem man verhindert, dass der Datenverkehr vor der Filtersoftware manipuliert werden kann. Am besten läuft die Software auf einem (Heim-)Router, dessen Konfiguration Passwortgeschützt ist. Zugriffe auf Webseiten können dann nicht auf einen Proxy umgelenkt werden. (Ok, der Datenverkehr zum Provider ist unverschlüsselt, also geht es doch irgendwie, sollte aber hinreichend schwer sein. Alternativ kann man den Filter direkt beim Provider betreiben).
Gegen 2) hilft im Grunde nichts. Unverschlüsselten Datenverkehr zu echten Proxies sollte man erkennen und unterbinden können. Verschlüsselten Datenverkehr kann man höchstens generell unterbinden. "Webprproxies" sollten ebenfalls entsprechend gekennzeichnet werden und so gefilter werden können.
Natürlich kann man immer Proxie-Datenverkehr so codieren, dass ein Filter diesen nicht erkennt. Man sollte aber auch bedenken, dass es vielleicht sinnvoll ist, Kinder von versehentlichem und schockierendem Kontakt mit Gewalt und Pornographie abzuhalten, dass man Jugendliche, die ihre Neugier befriedigen wollen, aber nicht abhalten können wird und dies vermutlich auch nicht sinnvoll ist.

Jede Art von Jugendschutz im Internet kann aber ohnehin nur unter Aussperrung des gesamten ausländischen Netzes funktionieren. Geeignet ist er also höchstens für Kinder bis zum Ende der Grundschule. Gegen deren technische Fähigkeiten sollte man noch halbwegs ankommen und damit verhindern können, dass sie in unbeaufsichtigten Momenten zufällig über Pornographie oder Gewalt stolpern. Sobald die Kinder anfangen, diese Dinge sehen zu wollen, werden sie sie auch sehen.

Aktuelle Kommentare

  • Timo: Hier ein interessanter Artikel über die SCHUFA und was sie weiter lesen
  • Pa: If your government (or company or school) blocks youtube site, weiter lesen
  • Egal: Noch ein Leak: Der Alvar hat auch ein Gutachten zur weiter lesen
  • Alvar: Zur Info: Nebenan habe ich unter http://blog.alvar-freude.de/2014/01/gutachten-vorratsdatenspeicherung.html ein technisches Gutachten weiter lesen
  • Robert L.: Ich finde das mit den rechtlichen Rahmenbedingungen gar nicht so weiter lesen
  • Anonym: ...genauer gesagt, war die auskunft der bahncard-kreditkarten-hotline, dass der verfügungsrahmen weiter lesen
  • tatata: die information stammt aus zwei telefonaten mit der commerzbank. ich weiter lesen
  • Alvar Freude: Hast Du nähere Infos darüber, dass die Bahn die Entscheidungen weiter lesen
  • tatata: das problem ist nicht die commerzbank. es ist die bahn. weiter lesen
  • Medyum: daß User auf Selbstzensur setzen, die wie Sie sicher wissen weiter lesen

Über diese Seite

Diese Seite enthält einen einen einzelnen Eintrag von Alvar Freude vom 12.12.10 19:42.

Pornoindustrie regelt sich Jugendschutz neu – zu Lasten von uns allen ist der vorherige Eintrag in diesem Blog.

Über die große IP-Phobie und das Allheilmittel Quick Freeze ist der nächste Eintrag in diesem Blog.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.