Imagen: UnsplashHoy, una parte importante de todo el contenido de Internet se distribuye utilizando redes CDN. Al hacerlo, investigue cómo varios censores difundieron su influencia en tales redes. Los científicos de la Universidad de Massachusetts
analizaron los posibles métodos para bloquear el contenido de CDN utilizando el ejemplo de las prácticas de las autoridades chinas, y también desarrollaron una herramienta para evitar tales bloqueos.
Preparamos un material de revisión con las principales conclusiones y resultados de este experimento.
Introduccion
La censura es una amenaza global para la libertad de expresión en Internet y el libre acceso a la información. En muchos sentidos, esto es posible debido al hecho de que Internet ha tomado 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 la comunicación del usuario sin un esfuerzo o gasto serio, simplemente en función de la dirección IP. Hay varias formas de bloquear la dirección en sí con contenido prohibido para bloquear la capacidad de los usuarios de reconocerla incluso mediante la manipulación de DNS.
Sin embargo, el desarrollo de Internet también ha llevado a la aparición de nuevas formas de diseminar 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 manejan una cantidad significativa de todo el tráfico en el mundo: solo Akamai, el líder en este segmento, representa 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 consiste en servidores en varias ubicaciones geográficas que almacenan en caché el contenido para "darlo" a los usuarios más cercanos a este servidor. Esto puede aumentar significativamente la velocidad de la comunicación en línea.
Además de mejorar la calidad del servicio para los usuarios finales, el alojamiento de CDN ayuda a los creadores de contenido a escalar sus proyectos, reduciendo la carga en la infraestructura.
Censura del contenido de CDN
A pesar del hecho de que el tráfico de CDN ya representa una parte significativa de toda la información transmitida a través de Internet, todavía no hay casi ninguna investigación sobre cómo los censores en el mundo real se acercan a su control.
Los autores del estudio comenzaron con un estudio de las técnicas de censura que se pueden aplicar a los CDN. Luego examinaron los mecanismos reales que utilizan las autoridades chinas.
Primero, hablemos sobre los posibles métodos de censura y la posibilidad de su aplicación para el control de CDN.
Filtrado de IP
Esta es la técnica de censura de Internet más fácil y barata. Con este enfoque, el censor detecta y pone en una lista negra las direcciones IP de los recursos que alojan contenido prohibido. Luego, los proveedores de servicios de Internet controlados dejan de entregar paquetes enviados a dichas direcciones.
El bloqueo basado en IP es uno de los métodos más comunes para censurar Internet. La mayoría de los dispositivos de red comerciales están equipados con funciones para realizar estos bloqueos sin un costo computacional significativo.
Sin embargo, este método no es muy adecuado para bloquear el tráfico de CDN debido a algunas propiedades de la tecnología en sí:
- Almacenamiento en caché distribuido : para garantizar la mejor accesibilidad del 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 distribuidas geográficamente. Para filtrar dicho contenido basado en IP, el censor deberá encontrar las direcciones de todos los servidores perimetrales y ponerlos en la lista negra. Esto afectará a las principales propiedades del método, porque su principal ventaja es que, en el esquema habitual, el bloqueo de un servidor le permite "cortar" el acceso al contenido prohibido inmediatamente para una gran cantidad de personas.
- IP compartida : los proveedores comerciales de CDN comparten su infraestructura (es decir, servidores perimetrales, sistema de mapeo, etc.) entre múltiples clientes. Como resultado, el contenido de CDN prohibido se descarga desde las mismas direcciones IP que el contenido no prohibido. Como resultado, cualquier intento de filtrado de IP conducirá al hecho de que una gran cantidad de sitios y contenido que no están interesados en los censores también serán bloqueados.
- Asignación de IP altamente dinámica : para optimizar el equilibrio de carga y mejorar la calidad del servicio, la asignación de servidores perimetrales y usuarios finales es muy rápida y dinámica. Por ejemplo, Akamai actualiza las direcciones IP devueltas cada minuto. Esto hará que sea casi imposible asociar direcciones con contenido prohibido.
Interferencia de DNS
Además del filtrado de IP, otra forma popular de censurar es la interferencia de DNS. Este enfoque implica las acciones de los censores para garantizar que los usuarios no reconozcan en absoluto las direcciones IP de los recursos con contenido prohibido. Es decir, la intervención está en el nivel de resolución de nombres de dominio. Hay varias formas de hacerlo, incluido el pirateo de conexiones DNS, el uso de la técnica de envenenamiento de DNS y el bloqueo de consultas DNS a sitios prohibidos.
Esta es una forma muy efectiva de bloquear, pero se puede eludir si utiliza métodos no estándar para resolver DNS, por ejemplo, canales fuera de banda. Por lo tanto, los censores generalmente combinan el bloqueo de DNS con el filtrado de IP. Pero, como se indicó anteriormente, el filtrado de IP no es efectivo para censurar el contenido de CDN.
Filtrado de URL / palabras clave con DPI
Se pueden usar equipos modernos para monitorear 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). Dichos sistemas encuentran referencias a palabras y recursos prohibidos, después de lo cual hay una interferencia con 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 requiere la desfragmentación de todos los paquetes de datos enviados dentro de ciertos flujos.
El contenido de CDN puede protegerse de dicho filtrado y del contenido "normal"; en ambos casos, ayuda el uso de cifrado (es decir, HTTPS).
Además de usar DPI para buscar palabras clave o URL de recursos prohibidos, estas herramientas se pueden usar para un análisis más avanzado. Dichos métodos incluyen análisis estadísticos del tráfico en línea / fuera de línea y análisis de protocolos de identificación. Estos métodos son extremadamente intensivos en recursos y por el momento simplemente no hay evidencia de que los censores los usen en una cantidad suficientemente seria.
Autocensura de proveedores de CDN
Si el censor es un estado, entonces tiene todas las oportunidades de prohibir que los proveedores de CDN que no cumplan con las leyes locales que rigen el acceso al contenido trabajen en el país. No se puede resistir la autocensura de ninguna manera; por lo tanto, si una empresa proveedora de CDN está interesada en trabajar en un determinado país, se verá obligada a cumplir con las leyes locales, incluso si restringen la libertad de expresión.
Cómo censura China el contenido de CDN
El gran firewall chino no se considera irrazonablemente como el sistema más efectivo y avanzado para proporcionar censura en Internet.
Metodología de la investigación
Los científicos experimentaron con un nodo de Linux ubicado dentro de China. También tenían acceso a varias computadoras en el extranjero. Al principio, los investigadores verificaron que el nodo estaba censurado, similar al aplicado a otros usuarios chinos, para esto intentaron abrir varios sitios prohibidos desde esta máquina. Entonces se confirmó la presencia del mismo nivel de censura.
La lista de sitios bloqueados por CDN en China fue tomada de GreatFire.org. Luego, se realizó un análisis del método de bloqueo en cada caso.
Según los datos abiertos, Akamai es el único jugador importante en el mercado CDN con su propia infraestructura en China. Otros proveedores involucrados en el estudio: CloudFlare, Amazon CloudFront, EdgeCast, Fastly y SoftLayer.
Durante los experimentos, los investigadores descubrieron las direcciones de los servidores de borde de Akamai dentro del país, y luego trataron de obtener el contenido permitido en caché a través de ellos. No fue posible acceder al contenido prohibido (HTTP 403 Error prohibido devuelto), obviamente, la empresa lleva a cabo una autocensura para mantener la posibilidad de trabajar en el país. Al mismo tiempo, el acceso a estos recursos permaneció abierto fuera del país.
Los proveedores sin infraestructura en China no utilizan la autocensura para los usuarios locales.
En el caso de otros proveedores, el método de bloqueo más utilizado fue el filtrado de DNS: las solicitudes a sitios bloqueados se resuelven en direcciones IP no válidas. Al mismo tiempo, el cortafuegos no bloquea los servidores CDN perimetrales, ya que almacenan información prohibida y permitida.
Y si en el caso del tráfico no encriptado, las autoridades tienen la oportunidad de bloquear páginas individuales de sitios que usan DPI, entonces usando HTTPS solo pueden restringir el acceso a todo el dominio en su conjunto. Esto lleva, entre otras cosas, a bloquear el contenido permitido.
Además, China tiene sus propios proveedores de CDN, incluidas redes como ChinaCache, ChinaNetCenter y CDNetworks. Todas estas empresas cumplen totalmente con las leyes del país y bloquean el contenido prohibido.
CacheBrowser: herramienta de derivación de bloqueo de CDN
Como ha demostrado el análisis, a los censores les resulta difícil bloquear el contenido de CDN. Por lo tanto, los investigadores decidieron ir más allá y desarrollar una herramienta de derivación de bloqueo en línea que no usaría tecnología proxy.
La idea principal de la herramienta es que los censores deben interferir con el funcionamiento del DNS para bloquear las CDN, pero no es necesario utilizar la resolución de nombres de dominio para cargar el contenido de CDN. Por lo tanto, el usuario puede obtener el contenido que necesita poniéndose en contacto directamente con el servidor perimetral en el que ya está en caché.
El siguiente diagrama muestra el dispositivo del sistema.

El software del cliente está instalado en la computadora del usuario; se utiliza un navegador normal para acceder al contenido.
Al solicitar una URL o parte del contenido ya solicitado, el navegador envía una solicitud al sistema DNS local (LocalDNS) para obtener la dirección IP del alojamiento. El DNS normal solo se solicita para dominios que aún no están en la base de datos LocalDNS. El módulo Scraper revisa constantemente las URL solicitadas y busca nombres de dominio potencialmente bloqueados en la lista. Luego, Scraper llama al módulo Resolver para resolver dominios bloqueados recién descubiertos, este módulo realiza la tarea y agrega una entrada a LocalDNS. Luego, el caché DNS del navegador se borra para eliminar los registros DNS existentes para el dominio bloqueado.
Si el módulo Resolver no puede entender a qué proveedor de CDN pertenece el dominio, le pedirá ayuda al módulo Bootstrapper.
Cómo funciona en la práctica
El software del cliente del producto se implementó para Linux, pero se puede portar fácilmente, incluso para Windows. El navegador usa el Mozilla habitual
Firefox Los módulos Scraper y Resolver están escritos en Python, y las bases de datos Customer-to-CDN y CDN-toIP se almacenan en archivos .txt. La base de datos localDNS es el archivo regular / etc / hosts en Linux.
Como resultado, para una URL bloqueada del formulario
bloqueado.com, el script recibirá la dirección IP del servidor perimetral desde el 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. Esta resolución DNS no se puede bloquear y responde consultas DNS en nombre de muchos servidores DNS distribuidos geográficamente en varias regiones de red.
Con esta herramienta, los investigadores lograron acceder a Facebook desde su nodo chino, aunque la red social ha estado bloqueada durante mucho tiempo en China.

Conclusión
El experimento demostró que el uso de problemas que experimentan los censores cuando intentan bloquear el contenido de CDN puede usarse para crear un sistema para evitar los bloqueos. Dicha herramienta le permite evitar bloqueos incluso en China, donde opera uno de los sistemas de censura en línea más potentes.