2 puntos por GN⁺ 2023-07-31 | 1 comentarios | Compartir por WhatsApp
  • Snowflake es una herramienta para eludir la censura que ayuda a usuarios en regiones donde Tor está bloqueado a conectarse a la red Tor, y puede usarse en apps basadas en Tor como Tor Browser, Orbot y Ricochet-Refresh
  • El usuario puede elegir Snowflake en la configuración de la app para enrutar la conexión a través de un proxy voluntario, sin necesidad de instalar directamente una extensión del navegador
  • Snowflake usa WebRTC para hacer que el tráfico de Tor parezca una llamada de video o de voz, lo que dificulta que los censores lo detecten
  • Los voluntarios pueden ofrecer ancho de banda activando una extensión para Firefox, Chrome o Edge; la página indica que hay 127,599 Snowflakes en operación
  • La extensión no la instalan quienes buscan eludir la censura, sino quienes quieren ayudar a otras personas a conectarse a Tor; es una herramienta para ofrecer proxy

Usar Snowflake en apps de Tor

  • Snowflake es una tecnología de evasión de censura que permite conectarse a Tor incluso en redes donde Tor está bloqueado
  • Está integrada en apps basadas en Tor y, cuando la conexión está bloqueada, se puede elegir Snowflake en la configuración de la app para eludir el bloqueo
    • Tor Browser: compatible con Desktop y Android, creado por Tor Project
    • Orbot: compatible con Android e iOS, creado por Guardian Project
    • Ricochet-Refresh: compatible con Desktop, creado por Blueprint for Free Speech
  • Quienes quieran eludir la censura solo deben descargar una app basada en Tor como Tor Browser u Orbot y activar Snowflake
  • La extensión del navegador no es una herramienta para conectarse directamente y eludir bloqueos, sino un proxy para voluntarios que retransmite conexiones de otros usuarios

Proxies voluntarios y método de evasión

  • Los voluntarios pueden instalar y activar la extensión del navegador para ofrecer un proxy Snowflake
  • Snowflake permite conectarse a la red Tor a través de proxies voluntarios en países sin censura
  • Al igual que una VPN, ayuda a eludir la censura en internet, pero se distingue por disfrazar el tráfico para que parezca una llamada de video o de voz
  • La tecnología base es WebRTC, común en software de videoconferencias, y hace que los rastros de uso de Tor parezcan llamadas de audio o video
  • Snowflake es una tecnología de evasión relativamente nueva de la familia Pluggable Transports y sigue mejorando
    • Pluggable Transports hace que el tráfico de puentes de Tor parezca una conexión común, disfrazándolo para que no parezca acceso a Tor
    • Snowflake lo hace parecer una videollamada, meek-azure una conexión a Microsoft y WebTunnel una conexión HTTPS estándar
    • Este camuflaje eleva el costo del bloqueo, porque para bloquear las herramientas de evasión los censores tendrían que bloquear también grandes partes de internet
  • La estructura técnica puede consultarse en el technical overview, y quienes quieran usar Snowflake en una aplicación pueden contactar al anti-censorship team

1 comentarios

 
GN⁺ 2023-07-31
Opiniones de Hacker News
  • Snowflake usa domain fronting para el rendezvous[1]. En el mundo digital, es como si un espía organizara una reunión secreta en la casa de un amigo que no sabe nada, y al final eso siempre termina mal para ese amigo
    Esta técnica la usan mucho los actores maliciosos, y algunos proveedores de nube incluso la bloquean por defecto[2]. Cuando Signal intentó desplegarla ampliamente, AWS le envió una fuerte advertencia por temor a que países como Irán o China bloquearan todo AWS[3]

    1. https://en.wikipedia.org/wiki/Domain_fronting
    2. https://azure.microsoft.com/en-us/updates/generally-availabl...
    3. https://signal.org/blog/looking-back-on-the-front/
    • Durante un tiempo ejecuté un servidor Snowflake en casa, pero lo apagué porque consumía demasiada CPU, y no vi ningún efecto negativo
      El domain fronting no es una llave maestra. Signal y Tor tuvieron problemas cuando los proveedores de nube bloquearon el domain fronting; más precisamente, cuando dejaron de admitir una función que originalmente no estaba pensada para funcionar así, pero es difícil verlo como algo hecho con la intención de obstaculizar algo. “Hacer que el balanceador de carga entregue un certificado que coincida con el dominio configurado” no es, en sí mismo, una función problemática
      El domain fronting es tan simple que basta con una llamada a openssl y un servidor nginx, y también es tan fácil de romper como validar realmente el certificado. Esos certificados son autofirmados o pertenecen a una cadena de alguna autoridad certificadora arbitraria en la que los sistemas reales no confiarían
      Más que “un espía que organiza una reunión secreta en la casa de un amigo que no sabe nada”, se parece más a poner un letrero frente a una bodega cualquiera en Brasil que diga “Casa Blanca, residencia del presidente de Estados Unidos, prohibido el paso”
      El software que cae en el domain fronting no se preocupa por los certificados y su validez, o tiene un bug que debería parchearse. Parte de ese software podría ser software de seguridad, pero si un actor malicioso puede engañar a un software de seguridad para que confíe en él con solo unas pocas cadenas legibles, el domain fronting es una preocupación menor entre las preocupaciones
    • La última vez que lo vi, la intención era que al final los endpoints ECH ofrecieran el mismo servicio efectivo que el domain fronting, pero sin enredar el backend de una forma que perjudique a los proveedores de nube, para que estos puedan darle soporte
      Encrypted Client Hello es un trabajo en curso para cifrar incluso el primer contacto del cliente con un servidor HTTPS
      https://datatracker.ietf.org/doc/draft-ietf-tls-esni/
      La razón por la que ECH está bien y el domain fronting no es que, con domain fronting, uno se entera demasiado tarde de cuál es la solicitud real. Parece una solicitud normal a this-thing.example y uno ya se preparó para atenderla, pero de repente se convierte en “perdón, cambié de opinión y en realidad mi solicitud era para hidden-service.example”
      Con ECH, un atacante que espía la conexión no lo sabe, pero nosotros sabemos desde el principio que la solicitud va dirigida a hidden-service.example, así que no perdemos tiempo preparándonos para el trabajo equivocado
    • Ese es precisamente el punto. Para bloquear esto, habría que bloquear una parte enorme del internet útil. Idealmente, deberíamos poder hacer que para censurar algo tengan que bloquear todo internet
      ¿No habrá algún límite a la tiranía que pueden ejercer? Al final, el daño colateral podría volverse tan grande que abandonen el intento de censura. O bien se convertiría en una sociedad tan opresiva que la gente no lo aceptaría
    • Hace falta evidencia para la afirmación de que “esta técnica la usan mucho los actores maliciosos”
  • Esto es un relay de guardia normal, es decir, un relay que permite a los usuarios de Tor conectarse a Tor cuando el primer salto de un circuito Tor está bloqueado, y usa domain fronting y WebRTC
    Según la traducción al alemán proporcionada por defecto, la redacción era bastante confusa. Como el destino también debe admitir WebRTC, no se puede acceder a cualquier sitio web HTTP(S) solo con un proxy dentro del navegador; sigue haciendo falta otro servidor que acepte la conexión WebRTC y reenvíe el tráfico. El punto, aunque el texto no lo dice, está en permitir conectarse indirectamente a ese otro servidor
    Incluso dice que no se necesita software para visitar sitios web censurados

    Im Gegensatz zu VPNs musst du keine separate Anwendung installieren, um dich mit einem Snowflake-Proxy zu verbinden und die Zensur zu umgehen.
    Pero en realidad sí se necesita. Sin un cliente Tor, este proxy Snowflake no sirve de nada. Al entrar en los detalles técnicos, en un enlace con la advertencia “este contenido está en inglés”, aparece esto

    1. User in the filtered region wishes to access the free and open internet. They open Tor Browser, selecting snowflake as the Pluggable Transport.
      El texto principal decía que “a diferencia de las VPN, no hace falta instalar software separado para evadir la censura”, pero el resumen técnico dice exactamente lo contrario: que para usar un proxy Snowflake se necesita un cliente Tor
    • No sé cómo será la traducción al alemán, pero la idea de la versión en inglés es que no instalas Snowflake en sí, sino software que usa Snowflake, normalmente Tor Browser
      Parece que intenta explicar cómo funciona a usuarios que podrían confundirse pensando que hay que instalar Snowflake como un proxy o una app de VPN
      Citado directamente, queda bastante claro: “Unlike VPNs, you do not need to install a separate application to connect to a Snowflake proxy and bypass censorship. It is usually a circumvention feature embedded within existing apps.”
  • Si Tor es ilegal en tu país, el simple hecho de intentar usarlo parece bastante riesgoso. Como cualquiera puede operar un proxy Snowflake, registrar las direcciones IP que se conectan es muy fácil. Entonces, cada vez que te conectas, se vuelve una apuesta en la que disminuye la probabilidad de quedar a salvo.

    • Se podrían bloquear Snowflakes con IP provenientes de redes de países no seguros, pero si un atacante compra un VPS o nodos de botnet en un país más libre, lo evade fácilmente.
      Al revisar por encima el Technical Overview[0], no veo nada que reduzca el riesgo mencionado arriba.
      El objetivo de Snowflake no parece ser impedir la detección del uso de Tor, sino eludir el bloqueo de Tor. Para eso aprovecha domain fronting y WebRTC.
      [0] https://gitlab.torproject.org/tpo/anti-censorship/pluggable-...
    • En la mayoría de los lugares donde Snowflake es útil, conectarse a Tor es legal o, aunque existan leyes que lo prohíban, a menudo no se aplican. Normalmente quienes reciben castigo son las personas que crean o contribuyen a herramientas de elusión de censura.
      Dicho eso, Tor Project enfatiza de forma consistente que todos los transportes conectables tienen fines de elusión de censura, no de esteganografía. Son difíciles de bloquear, pero no impiden que un operador de red descubra que un usuario se está conectando a Tor. Al final, el usuario debe decidir si puede asumir ese riesgo.
    • “Simplemente” conéctate desde una IP que no pueda vincularse contigo, usa una SIM del mercado negro en un teléfono aparte, conéctate desde un lugar al que normalmente no vas y apágalo cuando no lo uses. El costo sube rápido.
  • Ni siquiera estoy seguro de haber entendido bien eso de “¡Activa Snowflake abajo y deja abierta la pestaña del navegador para que los usuarios puedan conectarse a través de nuevos proxies!”.
    Si pongo un iframe en mi sitio web, ¿el tráfico de usuarios de Tor se tuneliza a través de la IP de mis visitantes? ¿Cómo se maneja el consentimiento en relay.love? ¿La IP del visitante de mi sitio aparece como un nodo de salida de Tor?

    • No es una salida. En principio, alguien tiene que ejecutar conscientemente el applet de Snowflake, pero un webmaster podría modificar el código para que, en la práctica, se inicie automáticamente un guard de Tor en el navegador de alguien. Por supuesto, abusar así de los recursos de otros es muy malintencionado.
      Ese ejemplo pide consentimiento del usuario antes de empezar.
    • Si te preocupa ese tipo de abuso, en la mayoría de los navegadores decentes puedes desactivar WebRTC. WebRTC puede usarse para cosas peores, como escanear puertos de la red interna, y también para cosas buenas, como videollamadas con latencia de milisegundos o Peertube.
      Sin embargo, este mecanismo no permite crear sockets remotos arbitrarios mediante JavaScript. Solo puede comunicarse con servidores que usen alguna versión de WebRTC/WebSockets, o con servicios en texto plano que ignoren como basura el overhead adicional del protocolo y parseen el resto. Algunos servidores IRC y WebSockets son buenos ejemplos.
      Como se ve en la descripción técnica, la gente se conecta al navegador del usuario con tecnología P2P, y el navegador se comunica mediante WebSockets con un servidor WebSocket que actúa como punto de entrada normal a Tor.
    • Es raro que no se exija consentimiento del navegador para algo así.
  • Me recuerda al viejo “guardar archivos en YouTube”[0], y me pregunto cuánto ancho de banda se podría obtener aplicando el mismo concepto a una solución de audioconferencia ampliamente usada como Zoom.
    Sería todavía mejor si los datos pudieran transmitirse durante una llamada real mediante algo como esteganografía de video, para mezclarse de forma más natural.
    [0] https://github.com/DvorakDwarf/Infinite-Storage-Glitch

    • Eso estaría genial. Dicho eso, si funcionara independientemente de la red, me imagino que la gente podría configurar nodos y luego llevarlos por accidente a la empresa u otras redes públicas. No sé si eso sería mejor o peor que usarlo como una conexión persistente.
    • El método que propones podría activar la aplicación del Online Safety Bill del Reino Unido. Por los medios de codificación/esteganografía, podría clasificarse no como un asunto del regulador gubernamental OfCom, sino como un asunto policial, con la participación del personal gubernamental de descifrado de GCHQ.
      El gobierno británico dice que solo es una función del regulador, pero el OSB se lee como si se extendiera más allá de sus fronteras solo porque podría usarse en el Reino Unido.
  • No sé qué tan novedoso sea esto, pero es muy bueno que un usuario pueda alojar un nodo con solo activar un iframe o instalar una extensión del navegador. También me pregunto si este enfoque tiene límites de ancho de banda mucho más bajos que la versión CLI.

  • También existe una versión en Go independiente que se puede desplegar en un servidor[0].
    Dice que “una de las principales ventajas de un proxy Snowflake standalone es que puede instalarse en servidores y ofrecer una opción de mayor ancho de banda y más estable para usuarios detrás de NAT y firewalls restrictivos”.
    [0] https://community.torproject.org/relay/setup/snowflake/stand...

  • Lo tengo instalado y me gusta ver cómo suben los números. Números más grandes = dopamina.
    Tuve suerte de haber nacido en Escandinavia, y ahora mismo la censura de Internet es prácticamente 0.

    • Tuviste suerte de que todavía no te haya afectado a “ti”. Pregúntale a un jugador de póker que ganó ingresos legales en torneos en el extranjero pero no puede transferirlos a un banco noruego.
      Lo mismo con alguien que ganó dinero con criptomonedas y quiere usarlo como garantía para un préstamo hipotecario, alguien que quiere transferir ganancias de casinos online legales en el extranjero, o alguien que quiere acceder a un sitio web que a las autoridades noruegas no les gusta y por eso bloquearon por DNS. Los técnicos pueden esquivarlo fácilmente, pero el abuso de poder por parte del gobierno y los políticos, y la restricción de las libertades individuales, ya empezaron y están creciendo.
      Cuando empiece a afectar a “la mayoría de la gente”, normalmente será mucho más difícil revertirlo. El gobierno noruego ya aprobó leyes que permiten vigilancia electrónica masiva y también intenta limitar el acceso público a los registros gubernamentales. Como en gran parte de la UE, es una pendiente muy resbaladiza hacia una “socialdemocracia” de izquierda, es decir, una dictadura burocrática. La gente debe abrir los ojos y enfrentarse ahora al exceso de intervención del gobierno.
  • Bloquean todas las IP de Tor que pueden encontrar. Porque no tienen ni el tiempo ni la paciencia para lidiar con el 99% del spam de Burp Suite que viene de esos servidores. Es una solución muy barata y efectiva.