Experimento de CacheBrowser: evitar el firewall chino sin un proxy mediante el almacenamiento en caché de contenido

Experimento de CacheBrowser: evitar el firewall chino sin un proxy mediante el almacenamiento en caché de contenido

Imagen: Unsplash

Hoy en día, una parte importante de todo el contenido de Internet se distribuye mediante redes CDN. Al mismo tiempo, se investiga cómo los diferentes censores extienden su influencia sobre dichas redes. Científicos de la Universidad de Massachusetts analizado posibles métodos para bloquear el contenido CDN utilizando el ejemplo de las prácticas de las autoridades chinas, y también desarrolló una herramienta para evitar dicho bloqueo.

Hemos preparado un material de revisión con las principales conclusiones y resultados de este experimento.

introducción

La censura es una amenaza global a la libertad de expresión en Internet y al libre acceso a la información. Esto es en gran parte posible debido al hecho de que Internet tomó prestado el modelo de "comunicación de extremo a extremo" de las redes telefónicas de los años 70 del siglo pasado. Esto le permite bloquear el acceso al contenido o las comunicaciones del usuario sin esfuerzo o costo significativo simplemente basándose en la dirección IP. Hay varios métodos aquí, desde bloquear la dirección misma con contenido prohibido hasta bloquear la capacidad de los usuarios de incluso reconocerla mediante la manipulación de DNS.

Sin embargo, el desarrollo de Internet también ha propiciado la aparición de nuevas formas de difundir información. Uno de ellos es el uso de contenido en caché para mejorar el rendimiento y acelerar las comunicaciones. Hoy en día, los proveedores de CDN procesan una cantidad significativa de todo el tráfico del mundo: Akamai, el líder en este segmento, representa por sí solo hasta el 30% del tráfico web estático global.

Una red CDN es un sistema distribuido para entregar contenido de Internet a la máxima velocidad. Una red CDN típica consta de servidores en diferentes ubicaciones geográficas que almacenan en caché el contenido para entregarlo a los usuarios más cercanos a ese servidor. Esto le permite aumentar significativamente la velocidad de la comunicación en línea.

Además de mejorar la experiencia de los usuarios finales, el alojamiento CDN ayuda a los creadores de contenido a escalar sus proyectos al reducir la carga en su infraestructura.

Censura del contenido CDN

A pesar de que el tráfico CDN ya constituye una parte importante de toda la información transmitida a través de Internet, todavía casi no hay investigaciones sobre cómo los censores en el mundo real abordan su control.

Los autores del estudio comenzaron explorando técnicas de censura que se pueden aplicar a las CDN. Luego estudiaron los mecanismos reales utilizados por las autoridades chinas.

Primero, hablemos de posibles métodos de censura y la posibilidad de utilizarlos para controlar la CDN.

filtrado de IP

Ésta es la técnica más sencilla y económica para censurar Internet. Con este enfoque, el censor identifica y incluye en la lista negra las direcciones IP de los recursos que alojan contenido prohibido. Entonces los proveedores de Internet controlados dejan de entregar los paquetes enviados a dichas direcciones.

El bloqueo basado en IP es uno de los métodos más comunes de censura en Internet. La mayoría de los dispositivos de redes comerciales están equipados con funciones para implementar dicho bloqueo sin un esfuerzo computacional significativo.

Sin embargo, este método no es muy adecuado para bloquear el tráfico CDN debido a algunas propiedades de la propia tecnología:

  • Almacenamiento en caché distribuido – Para garantizar la mejor disponibilidad de contenido y optimizar el rendimiento, las redes CDN almacenan en caché el contenido del usuario en una gran cantidad de servidores perimetrales ubicados en ubicaciones geográficamente distribuidas. Para filtrar dicho contenido según la IP, el censor necesitaría averiguar las direcciones de todos los servidores perimetrales y ponerlos en la lista negra. Esto socavará las principales propiedades del método, porque su principal ventaja es que, en el esquema habitual, bloquear un servidor permite "cortar" el acceso a contenido prohibido a un gran número de personas a la vez.
  • IP compartidas – Los proveedores comerciales de CDN comparten su infraestructura (es decir, servidores perimetrales, sistema de mapeo, etc.) entre muchos clientes. Como resultado, el contenido CDN prohibido se carga desde las mismas direcciones IP que el contenido no prohibido. Como resultado, cualquier intento de filtrado de IP resultará en el bloqueo de una gran cantidad de sitios y contenidos que no son de interés para los censores.
  • Asignación de IP altamente dinámica – para optimizar el equilibrio de carga y mejorar la calidad del servicio, el mapeo de los servidores perimetrales y los usuarios finales se realiza de forma muy rápida y dinámica. Por ejemplo, las actualizaciones de Akamai devolvían direcciones IP cada minuto. Esto hará que sea casi imposible que las direcciones se asocien con contenido prohibido.

interferencia DNS

Además del filtrado de IP, otro método de censura popular es la interferencia de DNS. Este enfoque implica acciones de censores destinadas a impedir que los usuarios reconozcan las direcciones IP de recursos con contenido prohibido. Es decir, la intervención se produce a nivel de resolución de nombres de dominio. Hay varias formas de hacerlo, incluido el secuestro de conexiones DNS, el uso de técnicas de envenenamiento de DNS y el bloqueo de solicitudes de DNS a sitios prohibidos.

Este es un método de bloqueo muy eficaz, pero se puede evitar si utiliza métodos de resolución de DNS no estándar, por ejemplo, canales fuera de banda. Por tanto, los censores suelen combinar el bloqueo de DNS con el filtrado de IP. Pero, como se indicó anteriormente, el filtrado de IP no es eficaz para censurar el contenido de la CDN.

Filtrar por URL/palabras clave usando DPI

Se pueden utilizar equipos modernos de monitoreo de la actividad de la red para analizar URL y palabras clave específicas en los paquetes de datos transmitidos. Esta tecnología se llama DPI (inspección profunda de paquetes). Estos sistemas encuentran menciones de palabras y recursos prohibidos, tras lo cual interfieren con la comunicación en línea. Como resultado, los paquetes simplemente se descartan.

Este método es eficaz, pero más complejo y requiere muchos recursos porque requiere la desfragmentación de todos los paquetes de datos enviados dentro de ciertos flujos.

El contenido CDN se puede proteger de dicho filtrado de la misma manera que el contenido "normal"; en ambos casos, el uso de cifrado (es decir, HTTPS) ayuda.

Además de utilizar DPI para buscar palabras clave o URL de recursos prohibidos, estas herramientas se pueden utilizar para análisis más avanzados. Estos métodos incluyen análisis estadístico del tráfico en línea/fuera de línea y análisis de protocolos de identificación. Estos métodos requieren una gran cantidad de recursos y, por el momento, simplemente no hay pruebas de que los censores los utilicen en un grado suficientemente serio.

Autocensura de los proveedores de CDN

Si el censor es el Estado, entonces tiene todas las oportunidades para prohibir que operen en el país aquellos proveedores de CDN que no obedezcan las leyes locales que rigen el acceso al contenido. No se puede resistir la autocensura de ninguna manera; por lo tanto, si una empresa proveedora de CDN está interesada en operar en un determinado país, se verá obligada a cumplir con las leyes locales, incluso si restringen la libertad de expresión.

Cómo China censura el contenido de CDN

El Gran Cortafuegos de China se considera, con razón, el sistema más eficaz y avanzado para garantizar la censura en Internet.

Metodología de investigación

Los científicos llevaron a cabo experimentos utilizando un nodo Linux ubicado dentro de China. También tuvieron acceso a varias computadoras fuera del país. En primer lugar, los investigadores comprobaron que el nodo estaba sujeto a una censura similar a la que se aplica a otros usuarios chinos; para ello, intentaron abrir varios sitios prohibidos desde esta máquina. Así se confirmó la presencia del mismo nivel de censura.

La lista de sitios web bloqueados en China que utilizan CDN se tomó de GreatFire.org. A continuación se analizó el método de bloqueo en cada caso.

Según datos públicos, el único actor importante en el mercado CDN con infraestructura propia en China es Akamai. Otros proveedores que participan en el estudio: CloudFlare, Amazon CloudFront, EdgeCast, Fastly y SoftLayer.

Durante los experimentos, los investigadores descubrieron las direcciones de los servidores perimetrales de Akamai dentro del país y luego intentaron almacenar en caché el contenido permitido a través de ellos. No fue posible acceder al contenido prohibido (se devolvió el error HTTP 403 Forbidden); aparentemente la empresa se está autocensurando para mantener la capacidad de operar en el país. Al mismo tiempo, el acceso a estos recursos permaneció abierto fuera del país.

Los ISP sin infraestructura en China no autocensuran a los usuarios locales.

En el caso de otros proveedores, el método de bloqueo más utilizado fue el filtrado DNS: las solicitudes a sitios bloqueados se resuelven con direcciones IP incorrectas. Al mismo tiempo, el firewall no bloquea los servidores perimetrales CDN, ya que almacenan información permitida y prohibida.

Y si en el caso del tráfico no cifrado las autoridades tienen la capacidad de bloquear páginas individuales de sitios usando DPI, entonces cuando usan HTTPS solo pueden denegar el acceso a todo el dominio. Esto también conduce al bloqueo de contenidos permitidos.

Además, China tiene sus propios proveedores de CDN, incluidas redes como ChinaCache, ChinaNetCenter y CDNetworks. Todas estas empresas cumplen plenamente con las leyes del país y bloquean contenido prohibido.

CacheBrowser: herramienta de omisión de CDN

Como mostró el análisis, a los censores les resulta bastante difícil bloquear el contenido de la CDN. Por lo tanto, los investigadores decidieron ir más allá y desarrollar una herramienta de derivación de bloqueos en línea que no utiliza tecnología proxy.

La idea básica de la herramienta es que los censores tienen que interferir con el DNS para bloquear las CDN, pero en realidad no es necesario utilizar la resolución de nombres de dominio para descargar contenido CDN. De esta forma, el usuario puede obtener el contenido que necesita contactando directamente con el servidor perimetral, donde ya está almacenado en caché.

El siguiente diagrama muestra el diseño del sistema.

Experimento de CacheBrowser: evitar el firewall chino sin un proxy mediante el almacenamiento en caché de contenido

El software del cliente se instala en la computadora del usuario y se utiliza un navegador normal para acceder al contenido.

Cuando ya se ha solicitado una URL o un contenido, el navegador realiza una solicitud al sistema DNS local (LocalDNS) para obtener la dirección IP de alojamiento. El DNS normal solo se consulta para dominios que aún no están en la base de datos LocalDNS. El módulo Scraper revisa continuamente las URL solicitadas y busca en la lista nombres de dominio potencialmente bloqueados. Luego, Scraper llama al módulo Resolver para resolver los dominios bloqueados recién descubiertos; este módulo realiza la tarea y agrega una entrada a LocalDNS. Luego, se borra la caché de DNS del navegador para eliminar los registros DNS existentes para el dominio bloqueado.

Si el módulo Resolver no puede determinar a qué proveedor de CDN pertenece el dominio, le pedirá ayuda al módulo Bootstrapper.

Cómo funciona en la práctica

El software cliente del producto se implementó para Linux, pero también se puede portar fácilmente a Windows. Mozilla normal se utiliza como navegador
Firefox. Los módulos Scraper y Resolver están escritos en Python, y las bases de datos de Cliente a CDN y CDN a IP se almacenan en archivos .txt. La base de datos LocalDNS es el archivo /etc/hosts normal en Linux.

Como resultado, para una URL bloqueada como bloqueado.com El script obtendrá la dirección IP del servidor perimetral del archivo /etc/hosts y enviará una solicitud HTTP GET para acceder a BlockedURL.html con los campos del encabezado HTTP del Host:

blocked.com/ and User-Agent: Mozilla/5.0 (Windows
NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1

El módulo Bootstrapper se implementa utilizando la herramienta gratuita digwebinterface.com. Este solucionador de DNS no se puede bloquear y responde consultas de DNS en nombre de múltiples servidores DNS distribuidos geográficamente en diferentes regiones de la red.

Utilizando esta herramienta, los investigadores lograron acceder a Facebook desde su nodo chino, aunque la red social lleva mucho tiempo bloqueada en China.

Experimento de CacheBrowser: evitar el firewall chino sin un proxy mediante el almacenamiento en caché de contenido

Conclusión

El experimento demostró que aprovechar los problemas que experimentan los censores al intentar bloquear contenido CDN se puede utilizar para crear un sistema para eludir los bloqueos. Esta herramienta le permite evitar bloqueos incluso en China, que tiene uno de los sistemas de censura en línea más poderosos.

Otros artículos sobre el tema del uso. apoderados residentes para negocios:

Fuente: habr.com

Añadir un comentario