Resultate zur DNS-Zensur

2009-08-22

Um Sperrlisten sichtbar zu machen habe ich mir heute mal die Top 13 der Internet Blackholes / Internet Enemies, http://www.rsf.org/List-of-the-13-Internet-enemies.html angesehen.

Das Suchen nach DNS-Servern auf www.ungefiltert-surfen.de lieferte ein mageres Ergebnis: Nur von rund der Hälfte sind funktionierende DNS-Server bekannt und zu diesen Ländern im Mittel nur 1,5 DNS-Server. Die Suche mit Google und Metager half nur wenig weiter; nur zu Burma/Myanmar war ein funktioierender DNS-Sever auffindbar. Als funktionierend wurden die Server gewertet, die zumindest ibm.com auflösen konnten.

Weil jedes Land eine Top-Level-Domain hat, findet man dazu auch DNS-Server bei http://www.iana.org/domains/root/db/ und auch bei http://www.issociate.de/tlds_s.php .
Allerdings lösen diese Server nur für die betreffende TLD auf; die dort gelisteten DNS-Server eignen sich leider nicht zur Überprüfung der DNS-Zensur.

Wie man in den Ländern die aktuell verwendeten Nameserver/DNS-Server ermitteln kann habe ich deshalb auf einer eigenen Seite hier zusammengefaßt.

Hier ist die Übersicht über der Ergebnisse vom Skript cens_dns_check1.sh:
Land funktioniernde DNS-Server von www.ungefiltert-surfen.de, google x von 9654 Domains (von list2.txt) werden zensiert
Ägypten 213.131.65.24 124
Burma/Myanmar -, 203.81.162.45 161
China 218.30.26.68, 202.102.24.35 227, 4037
Iran 217.218.155.105 141
Kuba -, - -
Nordkorea -, - -
Saudi-Arabien 212.76.68.201, 212.76.68.200 92, 103
Syrien -, - -
Tunesien 193.95.122.40, 193.95.93.77 95, 160
Turkmenistan -, - -
Usbekistan 195.158.7.98 1280
Vietnam -, - -
Weißrussland -, - -


Bei der Anzahl x der zensierten Domains muß man berücksichtigen, das die Fehlerrate vom Skript typischerweise 100 bis 200 beträgt, entsprechend rund 1,5 %. Daher bedeutet x < 250 praktisch keine Zensur, aber über 1000 zeigen eine starke Zensur.

Die Zensur-Listen zu den beiden stark zensierenden Servern findet man hier:

China: 202.102.24.35.txt.

Usbekistan: 195.158.7.98.txt.

Bei der Interpretation der Ergebnisse darf man nicht vergessen das die DNS-Zensur weitgehend verheimlicht wird (Meta-Zensur); das 80 % der getesteten DNS-Server praktisch unzensiert sind gilt bei diesem Test nur für Anfragen aus Deutschland. Für Anfragen aus dem jeweiligen Land sehen die Ergebnisse sicherlich ganz anders aus und dabei muß man noch berücksichtigen das die Ergebnisse aus Hotels mit vorwiegend ausländischen Gästen anders aussehen als die Ergebnisse über private Internet-Zugänge oder Internet-Cafes, die vorwiegend von Einheimischen genutzt werden. Beispielsweise ist von China bekannt, das Firmen für weniger zensierte Internet-Zugänge extra bezahlen.
Allerdings haben einige dieser Länder der Top 13 überhaupt keine gewöhnlichen Internet-Zugänge: In Nordkorea gibt es keine privaten Internet-Zugänge, das nordkoreanische Handy-Netz ist für Touristen nicht zugänglich und in Kuba gibt es nur sehr wenige private Internet-Zugänge mit starken Restriktionen, wie man u. A. in Wikipedia u. Wikitravel nachlesen kann.

Von den Nameservern der Top 13 konnten diejenigen nicht getestet werden, die auf Anfragen aus Deutschland nicht antworten; entsprechend fehlen sie in der obigen Tabelle. Beispielsweise hatte ich zwar zu Vietnam fünf DNS-Server gefunden, aber keiner konnte/wollte ibm.com auflösen und ein Testen damit ist sinnlos.

Deshalb decken sich die obigen Ergebnisse nur teilweise mit denen, die man unter http://opennet.net/research/profiles findet: In Staaten praktisch ohne Zensur des Internet-Zugangs (in der obigen Liste Ägypten) findet man keine DNS-Zensur, aber in Staaten mit deutlicher bis sehr deutlicher Zensur (Burma, China, Iran, Saudi-Arabien, Tunesien, Usbekistan) findet man nicht immer DNS-Zensur.
Die Zensur des Internet-Zugangs nach Opennet habe ich für die Top 13 quantifiziert und in dieser Tabelle zusammengefaßt:
Land Filtering Scoring
Ägypten 0
Burma/Myanmar 13
China 14
Iran 15
Kuba - (schätzungsweise 15)
Nordkorea - (schätzungsweise 15)
Saudi-Arabien 13
Syrien 12
Tunesien 14
Turkmenistan - (schätzungsweise 15)
Usbekistan 7
Vietnam 9
Weißrussland 2

Die Zahl ist die Summe der Wertungen in den vier Teildisziplinen des Filterns, mit 0 für "No evidence of filtering", 1 für "Suspected filtering" usw.. Wie in der ersten Tabelle bedeutet ein Strich das keine Daten vorliegen.
Interessanterweise betreiben andere Staaten die Zensur des Internet-Zugangs umfassender und intensiver als der Durchschnitt der Top 13: Der Mittelwert der Top 13 beim Filtering Scoring liegt bei 11, aber darüber liegen auch Bahrein mit 13 Punkten und Kuwait mit 12 Punkten - so als ob es die irakische Invasion in Kuwait, den zweiten Golfkrieg und die Befreiung von Kuwait nie gegeben hätte. Offenbar hat die Zensur dort nur die Richtung gewechselt und "befreit" wurde nur das Erdöl.


Update 2009-09-24

Getestet habe ich nun auch die weißrussichen DNS-Server ns1.bn.by und ns2.bn.by, aber mit 221 bzw. 243 der 9654 Domains (von list2.txt) wird praktisch nichts zensiert.


Update 2009-09-30

Die deutschen Provider blocken Anfragen an ihre Nameserver zunehmend: Von den 15 T-Online-Servern, die auf http://www.stanar.de/ gelistet sind, beantwortet keiner Anfragen die nicht aus einem zu T-Online gehörenden IP-Adress-Bereich stammen. Bei den anderen Providern sieht es (noch) anders aus: Stichproben bei Arcor und Versatel zeigen das die Nameserver erreichbar sind und z. B. die IPs zu ibm.com liefern.
Gegen das Problem des Blockens von Anfragen, die aus anderen IP-Adress- Bereichen stammen gibt es mehrere Lösungen:
A) Man kann sich zu einem Anschluß des betreffenden Providers begeben und dessen Nameserver testen. Hier hilft ein Bekannter beim betreffenden Provider oder auch ein Internet-Cafe beim betreffenden Provider, z. B. mit WLAN um mit dem eigenen Laptop zu testen, oder auch ein offenes WLAN, mit einem Zugang beim betreffenden Provider.
B) Man kann auf einem PC eines Kunden des betreffenden Providers einen Nameserver installieren, der die DNS-Anfragen nur durchleitet (caching-only). Damit kann man über diesen Nameserver den Nameserver des Providers erreichen. Mit kostenlosen Diensten wie DynDNS oder DNS2GO stören hierbei die meist dynamischen IP-Nummern der Internet-Zugänge nicht. Mit mehreren PCs gleichzeitig sind auch Disconnets oder länger abgeschaltete PCs kein Problem. Zur Sicherheit kann man für die Nameserver auf den PCs auch andere Ports als 53 verwenden; beispielsweise 1337.
Juristisch sind alle Lösungen problemlos: DNS-Einträge sind öffentlich, wie Einträge im Telefonbuch, und die wenigen Anfragen von Externen gehen im statistischen Rauschen unter.



Update 2009-10-03

Heute habe ich die deutlich zensierenden Server aus der ersten Liste oben, also 195.158.7.98 (Usbekistan) und 202.102.24.35 (China) getestet, aber praktisch keine Zensur gefunden: Es zeigten sich nur 91 bzw. 219 Unterschiede, bei 9654 Einträgen in list2.txt. Diese Unterschiede sind sehr gering, auch weil einige Seiten so gehostet sind, dass sie je nach geographischer Region auf andere IPs verweisen und weil weit auseinander liegende Nameserver verwendet wurden.
Die DNS-Zensur versteckt sich offenbar immer besser und erfordert zunehmend ein Ermitteln vor Ort, das man aber auch mit einem dortigen Root-Server vornehmen kann.

Nebenbei habe ich auch die Redundanz der Nameserver-Antworten untersucht, denn die Anzahl der Unterschiede zwischen einem zensierten und einem unzensierten Nameserver ist zwar aussagekräftig, aber hat zwei Nachteile: a) setzt sie einen unzensierten Nameserver zum Vergleichen voraus und hängt etwas von diesem ab und c) hängt sie von den Standorten der Nameserver ab, weil einige Seiten so gehostet sind, dass sie je nach geographischer Region auf andere IPs verweisen.
Sinnvoll ist daher eine zweite Kennzahl, mit der man auch mit nur einem Nameserver sofort einschätzen kann wie stark er zensiert, unabhängig vom Standort.
Eine mögliche Kennzahl ist die Redundanz der Antworten: Zu zensierten Einträgen liefern die Nameserver sehr ähnliche Antworten, normalerweise die gleiche Antwort, und dies bedeutet mehr Redundanz. Dies bedeutet das die Nameserver-Antworten weniger Entropie enthalten. Als einfache Maßzahl für die Redundanz verwende ich deshalb nicht die byteweise Entropie sondern einfach:

Redundanz = Anzahl der Duplikate / Gesamtzahl

kurz

R = y/x

und die Angabe als Prozent-Zahl, die einen Wert von 0 bis 100 anehmen kann, wobei kleiner besser ist.
Der Wert ist in der Praxis immer deutlich größer als 0, unter Anderem weil die Zensur-Listen häufig mehrere Seiten einer Domain aufgelistet haben und so auf die gleich IP verweisen, weil verschiedene Domains sich nicht selten auf dem gleichen Web-Server befinden, also nur Aliase sind, und weil auf Servern meist mehrere Domains gehostet werden, so das auch ganz verschiedene Domains manchmal die gleiche IP haben (Virtual hosting).
Die Anwendung der Redundanz erfolgt mit einem Programm zum Auffinden von Duplikaten, z. B. dupmerge, in dem Verzeichnis, in dem die Nameserver-Antworten vom Skript abgelegt werden (Verzeichnis ./dns/backup/<Nameserver-Name/IP>). Beim dupmerge muß man beachten das die Anzahl der gefundenen Duplikate im nodo-Modus (noch) nicht stimmt; das dupmerge muß die Duplikate (hart) verlinken um die Anzahl korrekt anzuzeigen. Allerdings verlinkt dupmerge keine Dateien der Größe 0, also leere Nameserver-Antworten und der so ermittelte Wert ist mehr oder minder kleiner als R. Trotzdem sollte die so in erster Näherung ermittelte Redundanz ausreichen. Wenn nicht, kann man mittels

find ./dns/backup/<Nameserver-Name/IP> -type f -size 0 | wc -l

auch die leeren Nameserver-Antworten hinzuzählen.

Deshalb bezeichne ich im Folgenden die Redundanzen als einfache bzw. komplette Redundanz.
Zum Bewerten der Redundanz benötigt man in jedem Fall genau genommen indirekt doch einen unzensierten Nameserver, mit dem die Redundanz ohne Zensur gemessen wurde, aber da sich die Redundanz nur langsam mit der Zeit ändert, kann man den Vergleichswert auch Wochen vorher woanders ermitteln. Nach dieser Vorarbeit benötigt man aber wirklich nur noch einen Nameserver.
Bei meinem lokalen forwarding-only (auch caching-only genannt) Nameserver, mit

forwarders {
87.118.100.175 port 110;
85.25.251.254 port 110;
94.75.228.29 port 110;
85.25.149.144 port 110;
87.106.37.196 port 110;
};

beträgt die einfache Redundanz der Antworten zur list2.txt 48,71 %, während sie beim chinesischen Nameserver 202.102.24.35 mit 53,05 % und beim Usbekischen Nameserver 195.158.7.98 mit 52,83 % deutlich höher ist.

Ein weiterer Grund für diese Redundanz-Messung ist das der Vergleich der Namensauflösungen eine Fehlerrate von um 1 % hat: Bei einer Liste von 10.000 Domains kann man die 100 Fehlmeldungen noch in wenigen Minuten überprüfen durch Nachsehen wohin denn aufgelöst wird (mit dem Browser), aber mit einer Liste nahezu aller Domains, aufgerundet 200 Millionen, ist das nicht mehr möglich; eine Zensurliste von 10.000 Einträgen würde bei den 2.000.000 normalen Unterschieden bei der Namensauflösung quasi im statistischen Rauschen verschwinden. Der Vergleich der Namensauflösungen allein skaliert linear und damit zu schlecht für sehr viele Domains.
Der Vergleich der Namensauflösungen ist aber bei sehr vielen Domains nicht nutzlos zum Auffinden von zensierten Domains, denn damit kann eine sehr schnelle Vorauswahl getroffen werden. Nach dieser Vorauswahl können die Domains dann genauer/aufwendiger untersucht werden auf Anzeichen von Zensur, z. B. durch Downloaden der Startseite der betreffenden Domains und Auswerten der Texte, Bilder und Links auf Anzeichen von Zensur.


Update 2009-10-22

Inzwischen fand ich heraus das das Suchen nach "<Landeshauptstadt> Nameserver" deutlich effizienter ist als nach "<Land> Nameserver".
Allerdings hilft das meist nur wenig weiter: Die Suche nach "Damascus Nameserver" lieferte von der ersten Seite der Treffer bei Google zwar

dns1.net.sy
dns2.net.sy
ns1.scs-net.org
ns2.scs-net.org
ns5.syrianobles.net
ns6.syrianobles.net

und die Nameserver sind noch aktiv, aber keiner von denen löst ibm.com auf.
Zumindest kann man mit einer gezielten Suche mit einer Suchmaschine wie Google oder einer Meta-Suchmaschine wie Metager für die allermeisten Länder Nameserver finden, auch wenn die Nameserver nicht auf Anfragen aus dem Ausland antworten.


Update 2010-05-15

Wie ich mir im Iran kürzlich ansehen konnte, sind die DNS-Server dort unzensiert, auch wenn man sie über ein offenes WLAN eines Einheimischen abfragt!
Das erklärt wieso viele in stark zensierenden Staaten stehende DNS-Server praktisch keine Zensur zeigen.
Die Zensur geschieht dort stattdessen über (Core-)Router mittels Deep Packet Inspection (kurz DPI) und zwar mal durch endloses Verzögern des Verbindungsaufbaus, was einen Timeout-Fehler bewirkt und mal durch "Zensiert-Seiten", meist in Farsi (Persisch), aber einige wenige auch in Englisch.
Bei der Zensur im Internet ist es daher zu stark vereinfachend nur Zensur-Eskalationsstufen zu verwenden weil die Zensur auch technisch nicht einfach mit Stufen (Zahlen) beschrieben werden kann. Stattdessen braucht man zumindest eine Matrix, in der man zu jeder Zensur-Art (DNS-Zensur, DPI, ...) eine Zensur-Eskalationsstufen verwenden kann.

Deshalb habe ich ein Skript angefangen, das auch DPI erkennt, durch Downloaden einzelner Seiten und Testen ob sie zensiert sind, also Anzeichen von Zensur zeigen.
Aber auch damit ist die Zensur über das Internet nur teilweise sichtbar, denn zur Zensur gehört auch die Überwachung des Traffics auf "Verdächtiges" und sowas wie ein Postgeheimnis gibt es in stark zensierenden Staaten wie dem Iran praktisch nicht. Hinzu kommt, das in solchen Staaten auch Datenschutz z. B. durch Kryptografie oder Steganografie fast immer illegal ist. Allerdings ist das rein theoretisch, denn richtig angewandte moderne Kryptografie wie Steganografie ist nicht nachweisbar und ein Verbot daher praktisch sinnlos.

Zensiert wird vom Iran ziemlich viel: Sogar ca. ein Drittel der Nachrichten auf web.de, auch wenn es keinen Bezug zum Iran, Sex oder auch nur irgendwie anstößiges gibt! Offenbar ist ein Bestandteil der Zensur auch eine fehlerträchtige Deep Packet Inspection.
Man kann diese Zensur aber relativ leicht und vor allem kostenlos umgehen, z. B. mit Torpark.

Im Gegensatz zum Iran betreibt China zusätzlich zur Zensur mit Deep Packet Inspection auch DNS-Zensur:
http://cyber.law.harvard.edu/filtering/china/appendix-tech.html#dns und daher könnt auch im Iran in Zukunft DNS-Zensur eingesetzt werden, die aber schon mit unzensierten DNS-Servern, insbesondere auf anderen Ports als dem Standard-Port (53) meist problemlos umgangen werden kann.

Nachtrag 2010-05-22

Die Zensur mit Deep Packet Inspection wird auch von anderen Stellen bestätigt, beispielsweise im Vortrag "Eine Zensur findet statt": http://anonymitaet-im-inter.net/wiki/_media/zensur-findet-statt-ds.pdf,
sowie im AnonWiki: http://anonymitaet-im-inter.net/wiki/zensur.

Pikant dabei ist auch, das die Exporte der verwendeten Hard- und Software für die Zensur im Iran fast immer illegal ist, weil damit gegen Embargos verstoßen wird. Beispielsweise dürfen nicht einmal aktuelle PC-Prozessoren wie gewöhnliche AMD Opterons (von denen ich in meinem PC vier habe) in den Iran exportiert werden: http://www.computerwoche.de/hardware/data-center-server/1898552/.

Die kurze Auswertung der gesammelten Daten ergab einige DNS-Server:
In Teheran: 80.253.128.5 und 80.253.128.29 = fe0.svr.NS2.HFT.azadnet.net
In Isfahan u. Shiraz: 4.2.2.4 = vnsc-pri.sys.gtei.net
Khomeni Airport: 62.220.100.202 = ns2.takta.net

Bei diesen IPs, wie auch den IPs der Internetzugänge gibt es keine besondere Auffälligkeit bis auf das whois (in Deutschland) zum 4.2.2.4 die Firma Level 3 Communications, Inc. in USA anzeigt. Zudem zeigt in Deutschland ein nslookup der Nameserver-IPs den gleichen Namen, bis auf den für 4.2.2.4: In D wird vnsc-pri-dsl.genuity.net (laut whois ebenfalls in USA) angezeigt.




Sitemap