Snowflake es un paquete de software que ayuda a otros a eludir la censura de Internet mediante la retransmisión de solicitudes de datos. Los nodos de retransmisión de Snowflake están pensados para ser creados por personas en países donde Tor y Snowflake no están bloqueados. [1] Las personas bajo censura utilizan entonces un cliente Snowflake, empaquetado con el navegador Tor o el navegador Onion, [2] para acceder a la red Tor, utilizando los relés Snowflake como servidores proxy . El acceso a la red Tor puede, a su vez, dar acceso a otros servicios bloqueados (como sitios web bloqueados). [1] Se puede crear un nodo Snowflake instalando una extensión del navegador, instalando un programa independiente o navegando por una página web con un relé Snowflake integrado. El nodo se ejecuta siempre que el navegador o el programa esté conectado a Internet.
Tor retransmite las solicitudes de contenido a través de una cadena de nodos Tor, incluidos los nodos Snowflake ( enrutamiento cebolla ). Cada nodo de la cadena solo conoce las direcciones de los dos enlaces adyacentes y no puede descifrar ninguno de los otros datos que está retransmitiendo, lo que hace que rastrear o bloquear el tráfico sea mucho más difícil. Una contramedida común es bloquear los nodos Tor; la cantidad y la naturaleza cambiante de los nodos Snowflake hacen que la identificación y el bloqueo de las conexiones a estos nodos sea más difícil.
Tor es ilegal en algunos países. Al igual que Internet, puede transmitir cualquier tipo de contenido, y algunos tipos de contenido son ilegales en algunos países.
Snowflake fue creado por Serene , una hacker y ex ingeniera de Google y pianista de concierto. [3] El nombre "Snowflake" fue acuñado como su metáfora para una gran cantidad de proxies efímeros [1] en relación con la " Negociación ICE ". [ cita requerida ] Tres programadores publicaron la primera versión en enero de 2016. En 2019, estuvo disponible como una extensión de navegador para Firefox y Chrome . [1] También se puede ejecutar en navegadores derivados, como Brave y Microsoft Edge . [4] [2] En febrero de 2023 se lanzó una versión independiente completamente mejorada denominada Snowstorm ; escrita en Rust y financiada por el Open Tech Fund , las pruebas beta son por invitación. [5] [6]
Los paquetes de datos de Internet normales vienen etiquetados con la fuente original y el destinatario final de los datos. Por ejemplo, un paquete que contenga el texto cifrado de este artículo estaría etiquetado con el destino (la dirección IP del ordenador del lector) y la fuente (la dirección IP de un servidor de Wikipedia). [7] [8] Esto significa que incluso si el contenido real está cifrado, un censor puede bloquear todos los paquetes de determinadas fuentes (por ejemplo, prohibir cualquier paquete que provenga de Wikipedia ). [9] [10] [11]
En cambio, las conexiones Tor retransmiten el tráfico cifrado a través de una cadena de servidores proxy. Cada enlace solo conoce las direcciones de los dos enlaces adyacentes, lo que dificulta mucho el seguimiento del tráfico. [12] El mensaje se cifra en capas, por lo que se denomina enrutamiento cebolla . Una analogía física sería sellar un sobre que lleva el mensaje real dentro de un conjunto anidado de sobres, de modo que cada sobre tenga una dirección diferente; cada servidor abre el sobre más externo, dirigido a él, y pasa el paquete restante a la dirección así expuesta. [13] Dado que la fuente del contenido está oculta detrás de capas de servidores proxy, se puede acceder a fuentes prohibidas y no está claro qué destinatario accedió a qué contenido. [12]
Dado que Tor se puede utilizar para acceder a sitios web prohibidos, algunos países, como Irán y Rusia , prohíben la red Tor. Esto significa que los usuarios de Tor no pueden simplemente conectarse a un nodo de entrada de Tor conocido públicamente; todos los nodos de Tor conocidos serán bloqueados por los censores. En cambio, los usuarios se conectan a un puente Tor, un servidor que es secretamente un punto de entrada de Tor. Los censores, a su vez, buscan identificar y bloquear los puentes Tor, identificándolos mediante una inspección profunda de paquetes . [14]
Snowflake ofrece una gran cantidad de nodos de entrada de Tor que cambian constantemente. Se le proporciona al usuario la dirección IP de un nodo Snowflake actualmente activo al preguntarle a un servidor intermediario [2] [14] , que a su vez utiliza el dominio fronting para simular ser un sitio web importante. Luego, el usuario habla directamente con el nodo Snowflake, que se conecta a la red Tor. El tráfico parece tráfico peer to peer normal, como el que utilizan muchas aplicaciones de videoconferencia [14] .
Un nodo Snowflake se ejecuta siempre que el navegador o programa esté conectado a Internet. Si el host del nodo tiene una IP dinámica , el nodo cambiará su dirección IP con el tiempo. [3] [2] Véase también red ad hoc .
Los nodos Snowflake se utilizan como nodos de entrada de Tor, no como nodos de salida. Los nodos de salida son el otro extremo de la cadena. Son los nodos Tor que saben qué contenido se solicitó, aunque no saben quién lo solicitó (por ejemplo, sabrían que un usuario se estaba comunicando con un servidor de Wikipedia, pero no conocerían la dirección IP del usuario). Los nodos de salida pueden enfrentarse a acciones legales en el país en el que están alojados si retransmiten contenido que es ilegal en ese país (por lo que suelen funcionar en países con poca censura de Internet). Es poco probable que los anfitriones de nodos Snowflake puedan enfrentarse a tal responsabilidad, ya que no saben qué contenido están retransmitiendo. [3] Sin embargo, hay países en los que utilizar Tor para cualquier propósito es ilegal, como Rusia e Irán. [15]
<iframe src="https://snowflake.torproject.org/embed.html" width="320" height="240" frameborder="0" scrolling="no"></iframe>
— snowflake.torproject.org , código
HTML para agregar un relé Snowflake conmutable a una página web
Snowflake utiliza WebRTC para permitir que los navegadores se comuniquen directamente entre sí. [2] La instalación de una extensión del navegador o el hecho de mantener abierta una pestaña de una página web con el código incrustado adecuado hacen que el navegador actúe como un relé. [1] La incorporación de una insignia de Snowflake en un sitio web permite a los visitantes convertir su navegador en un relé, exactamente como lo hace la instalación de la extensión, pero haciendo clic en un botón en el sitio web en lugar de instalar software. [16] Snowflake también se puede ejecutar como un programa independiente en un contenedor Docker . [2]
La retransmisión de tráfico aumenta el uso del ancho de banda del host del nodo , lo que puede ser un problema para aquellos con límites de ancho de banda en sus planes de Internet. [3] En la práctica, alojar un nodo no parece ralentizar apreciablemente la conexión a Internet [4] ni interrumpir la navegación. [2]
Una descripción técnica detallada está publicada en GitLab . [17]
Las contramedidas que se cree que se están utilizando actualmente contra Snowflake desde Rusia incluyen la identificación de los servidores de Snowflake por parte de los navegadores y su posterior bloqueo. Los censores también pueden instalar y utilizar Tor y luego bloquear todas las direcciones IP ofrecidas como servidores de Snowflake. Ambas técnicas se debilitan cuando hay una mayor cantidad de servidores. [18]
Los censores pueden intentar bloquear la dirección IP del bróker. Para evitarlo, el cliente Snowflake utiliza domain fronting . Esto hace que sea imposible para el censor bloquear un solo sitio web sin bloquear todos los demás sitios web alojados en el mismo servicio en la nube. Google y Amazon son ejemplos de dichos servicios. Alojaron cientos de miles de sitios web. Bloquear todos los servidores de uno de estos hosts principales tiene efectos secundarios disruptivos. [14] Sin embargo, el proveedor de la nube puede bloquear el domain fronting y, a menudo, lo hace. [19] [20]
Si se permiten conexiones internacionales desde centros de datos, pero los servicios residenciales y móviles se limitan a conexiones locales, entonces se pueden instalar puentes Tor de forma secreta e ilegal en centros de datos locales, lo que conlleva peligros evidentes. [21]
Cuando un país cierra por completo el acceso a las conexiones a Internet extranjeras, lo que en esencia lo desconecta de Internet global, Snowflake se vuelve inútil. [3] Esto se ha hecho repetidamente en Irán y en otros países; sin embargo, es malo para los negocios (en Irán, en 2022, el costo se estimó en 37 millones de dólares estadounidenses por día [22] ), por lo que generalmente solo se hace por períodos cortos. [3] [23]
Un proxy simple, como una red privada virtual (VPN), tiene un único relé. Esto significa que todos los usuarios deben conocer la dirección del servidor de la VPN, lo que facilita su bloqueo. [3] Por ejemplo, a principios de octubre de 2022, durante las interrupciones de Internet relacionadas con las protestas de Mahsa Amini , las VPN en Irán interrumpían las conexiones cada pocos minutos. [21] La propia VPN también sabe qué usuarios finales solicitaron qué páginas, lo que permite a las VPN realizar tareas de vigilancia. [3] [24] En algunos países, como Irán, las VPN son ilegales [3] y pueden estar afiliadas al gobierno. [22]
Snowflake comenzó a ser ampliamente discutido en línea en la primera semana de octubre de 2022, como una forma de combatir las restricciones de Internet en Irán durante las protestas de Mahsa Amini , [3] y se lanzó una guía en persa. [25] [14]
En 2022, el gobierno ruso incrementó sus esfuerzos para bloquear el acceso a Tor a través de medios técnicos y políticos, y la red Tor informó un aumento en el tráfico desde Rusia usando Snowflake. [18]
Snowflake está integrado en la red Tor. El uso de la red Tor se está volviendo más común en Rusia, Bielorrusia e Irán a partir de 2022 [actualizar], ya que la censura de Internet en estos países se ha vuelto más estricta. [4]
{{cite book}}
: Mantenimiento de CS1: falta la ubicación del editor ( enlace )