Imagen:
Hoy en día, una parte significativa de todo el contenido en internet se distribuye utilizando redes CDN. Sin embargo, hay pocos estudios sobre cómo diferentes censores ejercen su influencia sobre estas redes. Investigadores de la Universidad de Massachusetts han analizado los métodos posibles de bloqueo del contenido CDN a través de las prácticas de las autoridades en China, y también han desarrollado una herramienta para eludir dichos bloqueos.
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 acceso libre a la información. En gran medida esto es posible porque internet adoptó el modelo de "comunicación end-to-end" de las redes telefónicas de los años 70. Esto permite bloquear el acceso al contenido o la comunicación de los usuarios sin mucho esfuerzo o costo, simplemente basándose en la dirección IP. Aquí hay varias formas de bloqueo que van desde la restricción de la propia dirección con contenido prohibido hasta la imposibilidad de que los usuarios siquiera la conozcan mediante manipulaciones con DNS.
Sin embargo, el desarrollo de internet también ha dado lugar a nuevas formas de distribución de información. Una de ellas es el uso de contenido en caché para mejorar el rendimiento y acelerar las comunicaciones. Hoy en día, los proveedores de CDN manejan un volumen significativo de todo el tráfico mundial; solo la cuota del líder en este segmento, Akamai, representa hasta el 30% del tráfico web estático global.
Una red CDN es un sistema distribuido para la entrega de contenido de internet a la máxima velocidad. Una CDN típica consiste en servidores ubicados en diferentes puntos geográficos que almacenan en caché contenido para "ofrecerlo" a aquellos usuarios que están más cerca de ese servidor. Esto permite aumentar significativamente la velocidad de las comunicaciones en línea.
Además de mejorar la calidad del servicio para los usuarios finales, el alojamiento CDN ayuda a los creadores de contenido a escalar sus proyectos, aliviando la carga sobre la infraestructura.
Censura del contenido CDN
A pesar de que el tráfico CDN ya representa una parte significativa de toda la información transmitida a través de internet, aún hay muy pocos estudios sobre cómo los censores en el mundo real abordan su control.
Los autores del estudio comenzaron investigando las técnicas de censura que podrían aplicarse a los CDNs. Luego, examinaron los mecanismos reales utilizados por las autoridades chinas.
Primero, hablemos de los posibles métodos de censura y la posibilidad de su aplicación para controlar los CDNs.
Filtración por IP
Esta es la técnica de censura de internet más simple y económica. Al aplicar este enfoque, el censor identifica y pone en la lista negra las direcciones IP de los recursos que alojan contenido prohibido. Luego, los proveedores de internet controlados dejan de enviar paquetes dirigidos a esas direcciones.
El bloqueo basado en IP es uno de los métodos de censura de internet más comunes. La mayoría de los dispositivos de red comerciales están equipados con funciones para realizar dichos bloqueos sin un costo computacional significativo.
Sin embargo, este método no es muy adecuado para bloquear el tráfico de los CDNs debido a ciertas propiedades de la tecnología misma:
- Almacenamiento en caché distribuido Para garantizar la mejor disponibilidad del contenido y optimizar el rendimiento, las redes CDN almacenan en caché el contenido del usuario en un gran número de servidores edge, ubicados en localizaciones geográficamente distribuidas. Para filtrar dicho contenido basado en IP, el censor tendría que conocer las direcciones de todos los servidores edge y ponerlas en la lista negra. Esto afectaría a las principales propiedades del método, ya que su principal ventaja es que en un esquema normal, bloquear un servidor permite "cortar" el acceso al contenido prohibido para un gran número de personas simultáneamente.
- IP compartidas Los proveedores de CDN comerciales comparten su infraestructura (es decir, servidores edge, sistema de mapeo, etc.) entre múltiples clientes. Como resultado, el contenido prohibido de CDN se carga desde las mismas direcciones IP que el contenido no prohibido. Por lo tanto, cualquier intento de filtración por IP resultará en que un gran número de sitios y contenidos que no interesan a los censores también queden bloqueados.
- Asignación dinámica de IP Para optimizar la distribución de carga y mejorar la calidad del servicio, el mapeo de servidores de borde y usuarios finales se realiza de forma rápida y dinámica. Por ejemplo, Akamai actualiza las direcciones IP devueltas cada minuto. Esto hará prácticamente imposible asociar las direcciones con contenido prohibido.
Interferencia DNS
Además de la filtración de IP, otro método popular de censura es la interferencia DNS. Este enfoque implica acciones de los censores destinadas a que los usuarios no conozcan 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 lograr esto, incluyendo la manipulación de conexiones DNS, el uso de la técnica de envenenamiento de DNS y el bloqueo de consultas DNS a sitios prohibidos.
Este es un método muy efectivo de bloqueo, sin embargo, se puede eludir utilizando métodos no estándar de resolución DNS, como canales fuera de banda. Por lo tanto, generalmente los censores combinan el bloqueo DNS con la filtración de IP. Pero, como se mencionó anteriormente, la filtración de IP no es efectiva para censurar contenido de CDN.
Filtración por URL/Palabras clave mediante DPI
El equipo moderno para monitorear la actividad de la red puede ser utilizado para analizar URL específicas y palabras clave dentro de los paquetes de datos transmitidos. Esta tecnología se conoce como DPI (inspección profunda de paquetes). Tales sistemas encuentran menciones de palabras y recursos prohibidos, después de lo cual se interfiere en la comunicación en línea. Como resultado, los paquetes simplemente se descartan.
Este método es efectivo, pero más complejo y requiere muchos recursos, ya que implica la desfragmentación de todos los paquetes de datos enviados dentro de flujos específicos.
El contenido de CDN se puede proteger de dicha filtración 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 pueden ser usadas para análisis más avanzados. Estos métodos incluyen el análisis estadístico del tráfico online/offline y el análisis de logs de identificación. Estos métodos son extremadamente exigentes en recursos y, en este momento, no existen pruebas suficientes de su uso por los censores en un volumen considerable.
Autocensura de los proveedores de CDN
Si el censor es el estado, tiene todas las herramientas para prohibir la operación en el país de aquellos proveedores de CDN que no se adhieren a las leyes locales que regulan el acceso al contenido. No hay forma de oponerse a la autocensura; por lo tanto, si una empresa proveedora de CDN está interesada en operar en un país específico, se verá obligada a cumplir con las leyes locales, incluso si limitan la libertad de expresión.
Cómo China censura el contenido de CDN
El gran firewall chino es considerado, con razón, el sistema más efectivo y avanzado para asegurar la censura en Internet.
Metodología de investigación
Los investigadores realizaron experimentos utilizando un nodo de Linux ubicado dentro de China. También tuvieron acceso a varias computadoras en el extranjero. Primero, los investigadores verificaron qué estaba siendo censurado en el nodo, analizando la censura similar a la que experimentan otros usuarios chinos; para ello, intentaron acceder desde esta máquina a varios sitios web prohibidos. Se confirmó que existía el mismo nivel de censura.
La lista de sitios bloqueados en China que utilizan CDN fue extraída de GreatFire.org. Se realizó un análisis del método de bloqueo en cada caso.
Según datos abiertos, el único gran jugador en el mercado de CDN con infraestructura propia en China es Akamai. Otros proveedores que participaron en la investigación incluyen: CloudFlare, Amazon CloudFront, EdgeCast, Fastly y SoftLayer.
Durante los experimentos, los investigadores descubrieron las direcciones de los servidores edge de Akamai dentro del país y luego intentaron acceder a contenido permitido en caché a través de ellos. No lograron acceder al contenido prohibido (se devolvió un error HTTP 403 Forbidden); evidentemente, la empresa realiza autocensura para mantener la posibilidad de operar en el país. Sin embargo, fuera del país, el acceso a estos recursos seguía disponible.
Los proveedores sin infraestructura en China no utilizan la autocensura para los usuarios locales.
En el caso de otros proveedores, el método más utilizado para bloquear es la filtración de DNS: las solicitudes a los sitios bloqueados se resuelven en direcciones IP incorrectas. Sin embargo, el firewall no bloquea los servidores edge de CDN, ya que almacenan tanto información prohibida como permitida.
Y si en el caso del tráfico no cifrado las autoridades tienen la capacidad de bloquear páginas individuales de sitios mediante DPI, con el uso de HTTPS solo pueden prohibir el acceso a todo el dominio en su conjunto. Esto también conduce al bloqueo de contenido permitido.
Además, en China hay proveedores de CDN propios, entre ellos redes como ChinaCache, ChinaNetCenter y CDNetworks. Todas estas empresas cumplen completamente con la legislación del país y bloquean contenido prohibido.
CacheBrowser: herramienta para evadir bloqueos a través de CDN
Como ha demostrado el análisis, a los censores les resulta bastante difícil bloquear el contenido de CDN. Por lo tanto, los investigadores decidieron ir más allá y desarrollar una herramienta para evadir bloqueos en línea que no utilizará tecnología de proxy.
La idea principal de la herramienta es que, para bloquear el CDN, los censores tienen que interferir en el funcionamiento del DNS, sin embargo, para cargar contenido de CDN no es realmente necesario usar la resolución de nombres de dominio. Así, el usuario puede obtener el contenido que necesita al dirigirse directamente al servidor edge donde ya está almacenado en caché.
En el diagrama a continuación se muestra la estructura del sistema.

Se instala software cliente en la computadora del usuario, y se utiliza un navegador común para acceder al contenido.
Al solicitar una URL o parte de un contenido ya solicitado, el navegador envía una solicitud al sistema DNS local (LocalDNS) para obtener la dirección IP del hosting. El DNS normal se consulta solo para dominios que aún no están en la base de datos de LocalDNS. El módulo Scraper revisa constantemente las URL solicitadas y busca en la lista nombres de dominios potencialmente bloqueados. Luego, Scraper se comunica con el módulo Resolver para resolver los nuevos dominios bloqueados detectados; este módulo realiza la tarea y agrega la entrada a LocalDNS. A continuación, se borra la caché DNS del navegador para eliminar las entradas DNS existentes del dominio bloqueado.
Si el módulo Resolver no puede determinar a qué proveedor de CDN pertenece el dominio, pedirá ayuda al módulo Bootstrapper.
Cómo funciona en la práctica
El software del cliente del producto se ha implementado para Linux, pero se puede portar fácilmente también para Windows. Se utiliza un navegador común de Mozilla
Firefox. Los módulos Scraper y Resolver están escritos en Python, y las bases de datos Customer-to-CDN y CDN-to-IP se almacenan en archivos .txt. Como base de datos, LocalDNS utiliza el archivo común /etc/hosts en Linux.
Como resultado, para una URL bloqueada del tipo el script obtendrá la dirección IP del servidor edge del archivo /etc/hosts y enviará una solicitud HTTP GET para acceder a BlockedURL.html con los campos del encabezado HTTP Host:
blocked.com/ y User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1El módulo Bootstrapper se ha implementado utilizando la herramienta gratuita digwebinterface.com. Este resolutor DNS no se puede bloquear y responde a las consultas DNS en nombre de numerosos servidores DNS distribuidos geográficamente en varias regiones de red.
Con esta herramienta, los investigadores pudieron acceder a Facebook desde su nodo en China, aunque la red social ha estado bloqueada en China durante mucho tiempo.

Conclusión
El experimento mostró que se pueden utilizar los problemas que enfrentan los censores al intentar bloquear contenido de CDN para crear un sistema de elusión de bloqueos. Esta herramienta permite eludir bloqueos incluso en China, donde existe uno de los sistemas de censura en línea más potentes.
Otros artículos sobre el tema del uso de para negocios:
Fuente: habr.com
