
Au début des années 2010, une équipe conjointe de spécialistes de l'Université de Stanford, de l'Université du Massachusetts, de The Tor Project et de SRI International a présenté les résultats de leurs
recherches sur la manière de lutter contre la censure sur Internet.
Les scientifiques ont analysé les méthodes de contournement des verrous qui existaient à l'époque et ont proposé leur propre méthode, appelée proxy flash. Aujourd'hui, nous parlerons de son essence et de son histoire de développement.
Présentation
Internet a commencé comme un réseau ouvert à tout type de données, mais au fil du temps, de nombreux pays ont commencé à filtrer le trafic. Certains États bloquent certains sites, tels que YouTube ou Facebook, tandis que d'autres bloquent l'accès au contenu qui contient certains éléments. Sous une forme ou une autre, les serrures sont utilisées dans des dizaines de pays de différentes régions, y compris l'Europe.
Les utilisateurs des régions où les verrous sont utilisés essaient de les contourner à l'aide de divers proxys. Il existe plusieurs directions pour le développement de tels systèmes, l'une des technologies - Tor, a été utilisée pendant le projet.
En règle générale, les développeurs ont des proxys pour contourner les verrous avec trois tâches qui doivent être traitées:
- Protocoles de rendez-vous. Le protocole de rendez-vous permet aux utilisateurs d'un pays avec des verrous d'envoyer et de recevoir de petites quantités d'informations pour établir une connexion avec un proxy - dans le cas de Tor, par exemple, il utilise rendez-vous pour distribuer l'adresse IP des relais Tor (ponts). De tels protocoles sont utilisés pour le trafic à faible débit et leur blocage n'est pas si simple.
- Création d'un proxy. Les systèmes de blocage ont besoin de proxys en dehors de la région avec un Internet filtré afin de transférer le trafic du client vers les ressources cibles et vice versa. Les organisateurs de blocage peuvent, en réponse, empêcher les utilisateurs de reconnaître les adresses IP des mandataires et de les bloquer. Pour contrer une telle attaque Sibyl, un service proxy doit pouvoir créer en permanence de nouveaux proxys. C'est la création rapide de nouveaux mandataires qui est l'essence principale de la méthode proposée par les chercheurs.
- Camouflage. Lorsqu'un client reçoit l'adresse d'un proxy non bloqué, il doit masquer sa communication avec lui de manière à ce que la session ne puisse pas être bloquée à l'aide des outils d'analyse du trafic. Il doit être camouflé pour le trafic «normal», comme l'échange de données avec une boutique en ligne, des jeux en ligne, etc.
Dans leur travail, les scientifiques ont proposé une nouvelle approche pour la création rapide de procurations.
Comment ça marche
L'idée clé est d'utiliser de nombreux sites Web pour créer une énorme quantité de procurations avec une courte durée de vie ne dépassant pas quelques minutes.
Pour ce faire, créez un réseau de petits sites appartenant à des bénévoles - tels que les pages d'accueil des utilisateurs, vivant en dehors de la région avec des verrous Internet. Ces sites ne sont en aucun cas associés aux ressources auxquelles l'utilisateur souhaite accéder.
Un petit badge est installé sur un tel site, qui est une interface simple créée en utilisant JavaScript. Un exemple d'un tel code:
<iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe>
Voici à quoi ressemble le badge:

Lorsqu'un navigateur depuis un emplacement en dehors d'une région avec des verrous arrive sur un tel site avec un badge, il commence à transmettre le trafic vers cette région et vice-versa. Autrement dit, le navigateur du visiteur devient un proxy temporaire. Une fois que cet utilisateur a quitté le site, le proxy est détruit sans aucune trace.
Par conséquent, il est possible d'obtenir des performances suffisantes pour maintenir le tunnel Tor.
En plus de Tor Relay et du client, l'utilisateur aura besoin de trois éléments supplémentaires. Le soi-disant facilitateur, qui reçoit les demandes du client et le connecte au proxy. La communication s'effectue à l'aide de plug-ins de transport sur le client (voici la
version pour Chrome ) et de commutateurs Tor-relay de WebSockets vers TCP pur.

Une session typique utilisant ce schéma ressemble à ceci:
- Le client lance Tor, le client proxy flash (plug-in de navigateur), et envoie la demande d'enregistrement au facilitateur à l'aide du protocole de rendez-vous. Le plugin commence à écouter la connexion à distance.
- Un proxy flash apparaît en ligne et contacte le facilitateur pour lui demander de se connecter au client.
- L'animateur renvoie l'enregistrement en transmettant des données de proxy flash pour la connexion.
- Le proxy se connecte au client dont les données lui ont été envoyées.
- Le proxy se connecte au plugin de transport et aux relais Tor et commence l'échange de données entre le client et le relais.
La particularité de cette architecture est que le client ne sait jamais à l'avance exactement où il devra se connecter. En fait, le plugin de transport accepte uniquement la fausse adresse de destination afin de ne pas violer les exigences des protocoles de transport. Ensuite, cette adresse est ignorée et un tunnel est créé vers un autre point de terminaison - le relais Tor.
Conclusion
Le projet de proxy flash se développe depuis plusieurs années et en 2017, les créateurs ont cessé de le soutenir. Le code du projet est disponible sur
ce lien . Le proxy flash a été remplacé par de nouveaux outils de contournement de verrouillage. L'un d'eux est le projet Snowflake, construit sur des principes similaires.