Hadmut Danisch

Ansichten eines Informatikers

Die Penetration staatlicher Kommunikationsüberwachung und -filterung

Hadmut
10.8.2020 14:54

Am aktuellen Beispiel.

Ich hatte neulich mal beschrieben, dass das neue TLS-Protokoll 1.3 für Ärger sorgen wird, weil der Überwacher da dann nicht mehr erkennen kann, mit welchem Zertifikat sich der Server ausweist, man also nicht mehr selektiv blockieren und zensieren kann. Ein Grund dafür das anzusprechen war, dass mir immer mehr Leute schrieben, dass meine Webseite aus vielen öffentlich zugänglichen Netzen – Flughäfen, Supermärkte,… – nicht erreichbar sei, weil meine Webseite als „Pornoseite” gesperrt wird. Ich hatte mal über den Aktworkshop in Prag berichtet und dazu Bilder nackter Frauen gezeigt. Das nimmt man wohl als Vorwand, um mich hier als Pornoseite zu listen. Den Flughafen von Madrid (ich glaube, es war Madrid, bin mir jetzt nicht mehr völlig sicher, aber jedenfalls eine große Stadt in Spanien) hatte ich mal nach mehreren Leserbeschwerden angemailt und gefragt, sie müssten doch eigentlich als EU-Land auch EU-Recht, DSGVO, Pressefreiheit und so weiter. Antwort: Sie haben keinen blassen Schimmer, was da bei ihnen im Netz läuft, wer da wie und warum. Irgendwer legt da völlig willkürlich fest, welche Webseiten man vom Flughafen von Madrid aus abrufen darf.

Ich hatte dazu mal geschrieben, dass es mir unmöglich ist, das rückzuverfolgen, wer mich da als Pornoseite listet, weil ich da schon ein Dutzend Mal bei allen möglichen Anbietern nachgefragt habe und nie eine Antwort bekomme. Irgendwelche Firmen bekommen Geld dafür, dass sie da einen großen Haufen Mist als Webseiten-Rating ausgeben, und nachdem ich in diesem Haufen Mist irgendwie und aus irgendwelchen Grünen als Pornowebseite drinstehe, aber nicht herauszufinden ist, wer den Mist verwaltet, das aber offenbar ein probates Mittel zur Zensur durch die Hintertür ist, hatte ich nur geschrieben, die Leute mögen Geduld bis TLS 1.3 haben, weil dann anhand des Protokolls nicht mehr herauszufinden ist, mit welchem Server man sich verbindet.

Zwar könnte man immer noch DNS-Anfragen blockieren, aber die werden auch demnächst alle über DNS-over-HTTPS geführt. Ob das allerdings besser oder schlechter ist, wenn dann Firmen wie Google, die auch schon massiv zensieren, über DNS-Abfragen bestimmen, oder ob man dann aus dem Land der politischen Korrektheit überhaupt noch Serverzertifikate bekommt, wenn die Browser den Zugriff ohne nicht mehr durchführen, sei mal dahingestellt. Wir erleben gerade den Zusammenbruch der Informationsfreiheit, des freien Webs.

Heise berichtet gerade, dass die große Firewall von China inzwischen TLS 1.3 blockiert, und zwar genau deshalb, weil TLS 1.3 so gebaut ist, dass man damit verstecken kann, mit wem man kommuniziert.

Anhang von IP-Adressen direkt zu blockieren ist inzwischen nämlich auch schwierig, weil man die Server nicht mehr mit statischen Adressen aus dem eigenen IP-Bereich betreibt, wie vor 10 oder 20 Jahren, sondern inzwischen alles in der Cloud beim Hoster läuft und deshalb die IP-Adressen durcheinander gehen und viele Webserver sich über virtuelle Hosts, Content Delivery Netzwerke, Lastverteiler usw. gleiche IP-Adressen teilen oder sie umgekehrt häufig wechseln oder mehrere haben. Rein IP-adressbasiertes Sperren funktioniert deshalb auch nicht mehr gut.

Deshalb sperren die Chinesen TLS 1.3, weil sie sehen wollen, mit wem man kommuniziert.

Beachtlich nun folgendes:

Mit Methoden des maschinellen Lernens haben die Forscher nach eigenen Angaben gleich mehrere Möglichkeiten gefunden, die Blockaden mit jeweils 100-prozentiger Erfolgsrate zu umgehen – sowohl server- als auch client-seitig. Wie genau, beschreiben sie in ihrem Artikel. Sie weisen aber auch darauf hin, dass es sich dabei wohl um keine Strategien handelt, denen ein langfristiger Erfolg beschieden sein wird: Das Katz- und Maus-Spiel werde weitergehen.

Dazu verweisen sie auf eben diesen Artikel der Informatikfakultät der University of Maryland darüber, dass maschinelles Lernen herausfinden kann, wie die Firewall zu durchdringen ist und das 100%ig funktioniert:

How Can We Circumvent the Blocking?

Geneva (Genetic Evasion) is a genetic algorithm developed by those of us at the University of Maryland that automatically discovers new censorship evasion strategies. Geneva manipulates packet streams—injecting, altering, fragmenting, and dropping packets—in a manner that bypasses censorship without impacting the original underlying connection. Unlike most other anti-censorship systems, Geneva does not require deployment at both sides of the connection: it runs exclusively at one side (client or server).

Geneva trains its genetic algorithm against live censors, and to date has found dozens of censorship evasion strategies in various countries. Geneva’s strategies are expressed in a domain-specific language. Details of the language, along with the entire Geneva codebase, are available at the Geneva GitHub repository.

To learn more about how Geneva (or the Geneva strategy engine) works under the hood, see our papers or about page.

To allow Geneva to train directly against the GFW’s ESNI censorship, we wrote a custom plugin that performs the following steps:

  1. Geneva starts a TCP server on a random open port on a vantage point located outside of China. By randomizing our ports, we do not need to worry about residual censorship.
  2. Geneva drives a TCP client located inside of China to connect to the server.
  3. The client sends a TLS 1.3 ClientHello with the Encrypted SNI extension.
  4. The client sleeps for 2 seconds to allow the GFW censorship to kick in.
  5. The client sends a short test message “test” to test if it has been censored.
  6. Steps 4 & 5 are repeated.
  7. The server confirms that it receives both the full TLS ClientHello from the client and the test messages. If it does, the strategy is rewarded with a positive fitness; if not (or if the client timed out while sending its test messages), the strategy is punished.

With this, Geneva discovered multiple evasion strategies in just a few hours. We describe them in detail below.

The Geneva strategy engine is open source on our Github.

All of these strategies can be run with our open-source Geneva strategy engine (repository). Since they operate at the TCP layer, they can be applied to any application that needs to use ESNI: with Geneva running, even an unmodified web browser can become a simple censorship evasion tool.

Und dort dann zur näheren Funktion:

Geneva is a genetic algorithm, a form of biologically-inspired artificial intelligence. Much like how biological systems compose simple building blocks (the A, T, C, and G of DNA), Geneva generates new algorithms by composing very basic ways of manipulating packets. It can duplicate, tamper, drop, or fragment packets. Geneva composes these individual actions into “action trees.”

Action trees have a trigger; this controls which packets the action trees act upon. These action trees together form censorship evasion strategies.

Geneva creates many random individual strategies and runs each of them against real censors. Based on how successful they are (and other factors), it assigns a numerical fitness to each individual. The most fit survive from one generation to the next, and Geneva mutates and mates strategies to create new ones.

The key to Geneva’s success is its fitness function, which encourages the genetic algorithm to explore the space of strategies that does not damage the underlying TCP connection.

Over many successive generations, if Geneva discovers a strategy that defeats censorship, the fitness function encourages the genetic algorithm to refine and simplify the strategy.

Das Prinzip ist also, auszuprobieren, welche Datensendungen „erlaubt” und welche „verboten” sind, und sich seine Kommunkation dann eben nur aus den „erlaubten” Teilen als Zeichenketten zusammenzubauen.

Das ist genau einer der Gründe, mit denen ich 1997 bei der Bundestagsanhörung zum Kryptoverbot erklärt habe, warum man ein Kryptoverbot nicht durchssetzen kann und das ich dann 1997/98 in der Dissertation in Bemerkung 5.20 (Seite 135 f.) beschrieben hatte. Man schickt alle möglichen Daten, untersucht, welche zur „Bestrafung” führen, und entnimmt diese aus dem Zeichenvorrat, um dann mit den als legal detektierten als Bausteine seine Kommunikationsverbindung aufzubauen. Ein wie auch immer geartetes Kryptoverbot also effektiv auch nichts anderes ist als aus der Menge der möglichen Nachrichten manche zu verbieten und damit den Sender auf eine geringe Zahl von Nachrichten als Nachrichtenvorrat zu reduzieren, effektiv also nur die Bandbreite zu reduzieren und sonst gar nichts zu erreichen. Genau das ist hier der Fall, die probieren halt per KI/automatisches Lernen aus, welchen Klimbim und Christbaumschmuck sie sich umhängen müssen, um nicht mehr zur Menge der als verboten gewerteten Nachrichten zu gehören, also zusätzliches Gedöns zu übertragen und damit die Bandbreite zu reduzieren.

Nur hatte ich es damals vor 23 Jahren theoretisch beschrieben, während die Informatiker der University of Maryland nun eben ein automatisches System gebaut haben, dass das systematisch ausprobiert. Das hätte man damals noch nicht gekonnt, weil es noch keine solchen Sperrsysteme gab, an denen man ein System hätte trainieren können, und die Methoden maschinellen Lernens noch nicht weit genug waren. Das Prinzip ist dasselbe: Man eruiert, was erlaubt ist, und baut seine Kommunikation aus erlaubten Nachrichten zusammen.

Und das wurde damals von der Uni Karlsruhe auf Betreiben von Otto Leiberich, ehamaliger Direktor der Zentralstelle für das Chiffrierwesen (seit 1972) als komplett falsch und völliger Blödsinn abgelehnt. Das ist genau die Stelle, die in der Schweiz mit der CIA zusammen die Crypto AG betrieben hat, die faule Chiffriermaschinen verkauft hat um die Kommunikation anderer Staaten abhören zu können. Und als Zweitgutachten zur Ablehnung der Dissertation fungierte Ueli Maurer von der ETH Zürich, der laut Schweizer Presse einer derer gewesen wäre, die zugunsten der CIA die Sicherheit der Maschinen wahrheitswidrig bestätigt hätten, wenn es darauf angekommen wäre, zuvor selbst in den USA an einer CIA-verseuchten Uni ausgebildet.

Und nun kommt die University of Maryland, um mit dem Prinzip, was man in Karlsruhe vor 20 als komplett falsch abgelehnt hat, im Streit zwischen USA und China die große Chinesische Firewall zu penetrieren – also genau das, was Thema des Kapitels 5 meiner Diss war. (Und nennt es auch noch Geneva, aber das ist Zufall.)

Also wenden die USA gegen China gerade die Methoden an, die man hier auf Betreiben von CIA und BND vor 20 Jahren noch verboten und als „falsch” abgesägt hat.

Denkt mal drüber nach, was hier abläuft.