
Anfang der 2010er Jahre präsentierte ein gemeinsames Team von Spezialisten der Stanford University, der University of Massachusetts, des Tor Project und von SRI International die Ergebnisse ihrer
Forschung zum Umgang mit Zensur im Internet.
Wissenschaftler analysierten die Methoden zur Umgehung der damals existierenden Sperren und schlugen ihre eigene Methode vor, die als Flash-Proxy bezeichnet wird. Heute werden wir über seine Essenz und Entwicklungsgeschichte sprechen.
Einführung
Das Internet begann als ein Netzwerk, das für jede Art von Daten offen war, aber im Laufe der Zeit begannen viele Länder, den Verkehr zu filtern. Einige Staaten blockieren bestimmte Websites wie YouTube oder Facebook, während andere den Zugriff auf Inhalte blockieren, die bestimmte Materialien enthalten. In der einen oder anderen Form werden Schlösser in Dutzenden von Ländern aus verschiedenen Regionen, einschließlich Europa, verwendet.
Benutzer in Regionen, in denen Sperren verwendet werden, versuchen, diese mithilfe verschiedener Proxys zu umgehen. Es gibt verschiedene Richtungen für die Entwicklung solcher Systeme, eine der Technologien - Tor - wurde während des Projekts verwendet.
In der Regel verfügen Entwickler über Proxys zum Umgehen von Sperren mit drei Aufgaben, die behandelt werden müssen:
- Rendezvous-Protokolle. Das Rendezvous-Protokoll ermöglicht Benutzern in einem Land mit Sperren das Senden und Empfangen kleiner Informationsmengen, um eine Verbindung mit einem Proxy herzustellen. Im Fall von Tor verwendet es beispielsweise Rendezvous, um die IP-Adresse von Tor-Relays (Bridges) zu verteilen. Solche Protokolle werden für Verkehr mit niedriger Rate verwendet, und das Blockieren ist nicht so einfach.
- Proxy erstellen. Blockierungssysteme benötigen Proxys außerhalb der Region mit gefiltertem Internet, um den Datenverkehr vom Client zu den Zielressourcen und umgekehrt zu übertragen. Das Blockieren von Organisatoren kann als Reaktion darauf verhindern, dass Benutzer die IP-Adressen von Proxys erkennen und blockieren. Um einem solchen Sibyl-Angriff entgegenzuwirken, muss ein Proxy-Dienst ständig neue Proxys erstellen können. Die rasche Schaffung neuer Proxys ist das Hauptaugenmerk der von den Forschern vorgeschlagenen Methode.
- Tarnung. Wenn ein Client die Adresse eines nicht blockierten Proxys erhält, muss er seine Kommunikation mit ihm auf irgendeine Weise verbergen, damit die Sitzung nicht mit Tools zur Verkehrsanalyse blockiert werden kann. Es muss für „normalen“ Datenverkehr getarnt werden, z. B. für den Datenaustausch mit einem Online-Shop, für Online-Spiele usw.
In ihrer Arbeit schlugen Wissenschaftler einen neuen Ansatz zur schnellen Erstellung von Proxys vor.
Wie funktioniert es?
Die Schlüsselidee besteht darin, viele Websites zu verwenden, um eine große Anzahl von Proxys mit einer kurzen Lebensdauer von nicht mehr als einigen Minuten zu erstellen.
Erstellen Sie dazu ein Netzwerk kleiner Websites, die Freiwilligen gehören, z. B. Startseiten von Benutzern, die außerhalb der Region mit Internet-Sperren leben. Diese Websites sind in keiner Weise mit den Ressourcen verknüpft, auf die der Benutzer zugreifen möchte.
Auf einer solchen Site wird ein kleines Abzeichen installiert. Hierbei handelt es sich um eine einfache Schnittstelle, die mit JavaScript erstellt wurde. Ein Beispiel für einen solchen Code:
<iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe>
So sieht das Abzeichen aus:

Wenn ein Browser von einem Ort außerhalb einer Region mit Sperren mit einem Ausweis zu einer solchen Site gelangt, beginnt er, Datenverkehr in diese Region und zurück zu übertragen. Das heißt, der Browser des Besuchers wird zu einem temporären Proxy. Nachdem dieser Benutzer die Site verlassen hat, wird der Proxy spurlos zerstört.
Infolgedessen ist es möglich, eine ausreichende Leistung zu erhalten, um den Tor-Tunnel aufrechtzuerhalten.
Zusätzlich zu Tor Relay und dem Client benötigt der Benutzer drei weitere Elemente. Der sogenannte Facilitator, der Anfragen vom Client empfängt und mit dem Proxy verbindet. Die Kommunikation erfolgt über Transport-Plug-Ins auf dem Client (hier ist die
Version für Chrome ) und Tor-Relay-Switches von WebSockets zu reinem TCP.

Eine typische Sitzung mit diesem Schema sieht folgendermaßen aus:
- Der Client startet Tor, den Flash-Proxy-Client (Browser-Plug-In), und sendet die Registrierungsanforderung mithilfe des Rendezvous-Protokolls an den Moderator. Das Plugin beginnt, die Remote-Verbindung abzuhören.
- Ein Flash-Proxy wird online angezeigt und kontaktiert den Moderator mit der Aufforderung, eine Verbindung zum Client herzustellen.
- Der Moderator gibt die Registrierung zurück, indem er Flash-Proxy-Daten für die Verbindung übergibt.
- Der Proxy stellt eine Verbindung zu dem Client her, dessen Daten an ihn gesendet wurden.
- Der Proxy stellt eine Verbindung zum Transport-Plugin und zu den Tor-Relays her und beginnt mit dem Datenaustausch zwischen dem Client und dem Relais.
Die Besonderheit dieser Architektur ist, dass der Client nie im Voraus genau weiß, wo er eine Verbindung herstellen muss. Tatsächlich akzeptiert das Transport-Plugin die gefälschte Zieladresse nur, um die Anforderungen der Transportprotokolle nicht zu verletzen. Dann wird diese Adresse ignoriert und ein Tunnel zu einem anderen Endpunkt erstellt - dem Tor-Relais.
Fazit
Das Flash-Proxy-Projekt wird seit mehreren Jahren entwickelt und 2017 von den Entwicklern nicht mehr unterstützt. Der Projektcode ist unter
diesem Link verfügbar. Der Flash-Proxy wurde durch neue Lock-Bypass-Tools ersetzt. Eines davon ist das Snowflake-Projekt, das auf ähnlichen Prinzipien basiert.