
A principios de la década de 2010, un equipo conjunto de especialistas de la Universidad de Stanford, la Universidad de Massachusetts, The Tor Project y SRI International presentaron los resultados de su
investigación sobre cómo lidiar con la censura en Internet.
Los científicos analizaron los métodos para evitar las cerraduras que existían en ese momento y propusieron su propio método, llamado flash proxy. Hoy hablaremos sobre su esencia y su historia de desarrollo.
Introduccion
Internet comenzó como una red abierta a cualquier tipo de datos, pero con el tiempo, muchos países comenzaron a filtrar el tráfico. Algunos estados bloquean ciertos sitios, como YouTube o Facebook, mientras que otros bloquean el acceso al contenido que contiene ciertos materiales. De una forma u otra, las cerraduras se utilizan en docenas de países de diferentes regiones, incluida Europa.
Los usuarios de las regiones donde se usan bloqueos intentan evitarlos usando varios servidores proxy. Hay varias direcciones para el desarrollo de tales sistemas, una de las tecnologías, Tor, se utilizó durante el proyecto.
Por lo general, los desarrolladores tienen poderes para evitar bloqueos con tres tareas que deben abordarse:
- Protocolos de encuentro. El protocolo de encuentro permite a los usuarios en un país con bloqueos enviar y recibir pequeñas cantidades de información para establecer una conexión con un proxy; en el caso de Tor, por ejemplo, utiliza el punto de encuentro para distribuir la dirección IP de los relés Tor (puentes). Dichos protocolos se utilizan para tráfico de baja velocidad y bloquearlos no es tan simple.
- Creando un proxy. Los sistemas de bloqueo necesitan servidores proxy fuera de la región con Internet filtrado para transferir el tráfico del cliente a los recursos de destino y viceversa. Los organizadores de bloqueo pueden, en respuesta, evitar que los usuarios reconozcan las direcciones IP de los proxies y los bloqueen. Para contrarrestar tal ataque Sibyl, un servicio proxy debe ser capaz de crear constantemente nuevos servidores proxy. La creación rápida de nuevos proxies es la esencia principal del método propuesto por los investigadores.
- Camuflaje Cuando un cliente recibe la dirección de un proxy desbloqueado, debe ocultar su comunicación con él de alguna manera para que la sesión no pueda bloquearse utilizando herramientas de análisis de tráfico. Debe camuflarse para el tráfico "normal", como el intercambio de datos con una tienda en línea, juegos en línea, etc.
En su trabajo, los científicos propusieron un nuevo enfoque para la creación rápida de proxies.
Como funciona
La idea clave es utilizar muchos sitios web para crear una gran cantidad de servidores proxy con una vida útil corta de no más de unos pocos minutos.
Para hacer esto, cree una red de pequeños sitios propiedad de voluntarios, como las páginas de inicio de los usuarios, que viven fuera de la región con bloqueos de Internet. Estos sitios no están asociados de ninguna manera con los recursos a los que el usuario desea acceder.
Se instala una pequeña insignia en dicho sitio, que es una interfaz simple creada con JavaScript. Un ejemplo de dicho código:
<iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe>
Así es como se ve la insignia:

Cuando un navegador desde una ubicación fuera de una región con bloqueos llega a dicho sitio con una insignia, comienza a transmitir tráfico a esa región y viceversa. Es decir, el navegador del visitante se convierte en un proxy temporal. Después de que este usuario abandona el sitio, el proxy se destruye sin ningún rastro.
Como resultado, es posible obtener un rendimiento suficiente para mantener el túnel Tor.
Además de Tor Relay y el cliente, el usuario necesitará tres elementos más. El llamado facilitador, que recibe solicitudes del cliente y lo conecta al proxy. La comunicación se lleva a cabo utilizando complementos de transporte en el cliente (aquí está la
versión para Chrome ) y conmutadores Tor-relay de WebSockets a TCP puro.

Una sesión típica que usa este esquema se ve así:
- El cliente inicia Tor, el cliente de proxy flash (complemento del navegador) y envía la solicitud de registro al facilitador utilizando el protocolo de encuentro. El complemento comienza a escuchar la conexión remota.
- Un proxy flash aparece en línea y se pone en contacto con el facilitador con una solicitud para conectarse con el cliente.
- El facilitador devuelve el registro pasando datos de proxy flash para la conexión.
- El proxy se conecta al cliente cuyos datos se le enviaron.
- El proxy se conecta al complemento de transporte y a los relés Tor y comienza el intercambio de datos entre el cliente y el relé.
La peculiaridad de esta arquitectura es que el cliente nunca sabe de antemano exactamente dónde necesitará conectarse. De hecho, el complemento de transporte acepta la dirección de destino falsa solo para no violar los requisitos de los protocolos de transporte. Entonces esta dirección se ignora y se crea un túnel a otro punto final: el relé Tor.
Conclusión
El proyecto de proxy flash se ha desarrollado durante varios años y en 2017, los creadores dejaron de apoyarlo. El código del proyecto está disponible en
este enlace . El proxy flash ha sido reemplazado por nuevas herramientas de bypass de bloqueo. Uno de ellos es el proyecto Snowflake, construido sobre principios similares.