Medir la censura en Internet sin voluntarios ni puntos de observación
Los regímenes autoritarios censuran a menudo los sitios web para aquellos que se encuentran dentro de sus fronteras, amenazando la comunicación libre y abierta en Internet. Medir qué se bloquea, cómo actúan los censores y cómo cambia la censura con el tiempo es esencial para comprender y sortear estos esfuerzos de censura.
Por desgracia, es todo un reto medir estas cosas, sobre todo en los países que restringen la capacidad de los investigadores para encontrar puntos finales, ya sean voluntarios, puntos de observación o servidores en directo.
A través de mi Beca de Investigación Pulse, me estoy basando en la investigación en la que mis colegas y yo hemos estado trabajando en la Universidad de Maryland y en la Universidad de Chicago para superar varios de estos retos y mejorar la forma en que la comunidad de medición puede medir longitudinalmente la censura sin requerir ayuda del interior del país.
Solicite ahora la Beca de Investigación Pulse 2024 e inscríbase en el seminario web de revisión de la beca de investigación Pulse 2023.
Puntos clave:
- La medición de la censura en Internet requiere tradicionalmente puntos finales -ya sean voluntarios, puntos de observación o servidores en directo- dentro de los países censurados para comprobar si los sitios web y/o los servicios son accesibles.
- Nuestra técnica engaña a los dispositivos censores haciéndoles creer que estamos realizando pruebas dentro de las fronteras del censor.
- Los resultados preliminares muestran que esta técnica puede medir algunos países que los esfuerzos de medición complementarios no pueden medir longitudinalmente, como Brunei y Tayikistán.
En la actualidad existe una amplia gama de esfuerzos -como OONI y CensoredPlanet- que miden la censura en Internet solicitando URL y observando si se puede acceder a los sitios web correspondientes. Una limitación de estos proyectos es que dependen de encontrar puntos finales dentro de los países censurados para realizar estas solicitudes.
Esto se agrava aún más en países con poblaciones pequeñas, regímenes muy represivos, bajos índices de penetración de Internet y una infraestructura de Internet deficiente. En estos países, incluso cuando se dispone de estos puntos finales, a menudo se limitan a sólo un pequeño puñado de mediciones, seguidas de periodos de nula o baja medición, lo que nos da sólo una idea de la censura en un único momento.
Para superar este reto, mis colegas y yo desarrollamos una técnica novedosa que puede medir longitudinalmente la censura sin necesidad de ayuda desde el interior del país. Esta técnica aprovecha dos peculiaridades de las formas de censura de algunos países.
Muchos países despliegan una censura bidireccional que bloquea el tráfico censurado independientemente de si la solicitud que reciben los censores procede del interior o del exterior del país (Figura 1). Esto significa que podemos hacer que nuestros clientes midan el nivel de censura enviando peticiones desde fuera del país censurado a servidores dentro del país censurado.
Sin embargo, encontrar estos servidores públicos dentro de países censurados puede resultar engorroso por las razones mencionadas.
Sin embargo, no siempre necesitamos un servidor receptivo para activar la censura de forma bidireccional, ya que algunos dispositivos de censura (middleboxes) muestran un comportamiento de incumplimiento de TCP.
Un evento de censura HTTP(S) normal se produce cuando un cliente se conecta a un servidor activo con un handshake TCP de tres vías y envía un paquete PSH+ACK que contiene una solicitud a un sitio web censurado. El censor ve esta solicitud y toma medidas de bloqueo, ya sea eliminando o estrangulando el tráfico del cliente, enviando una página bloqueada de vuelta al cliente, o enviando un paquete de reinicio (Figura 2), denotado como RST, de vuelta al cliente para terminar la conexión.
El apretón de manos a tres bandas TCP requiere una respuesta del servidor: un paquete SYN+ACK. Sin embargo, nuestro objetivo es medir la censura en lugares donde no hay ningún servidor.
Para lograr nuestro objetivo, nos basamos en el hecho de que se espera que los censores pierdan algunos paquetes dentro de una conexión debido a las rutas asimétricas, el equilibrio de la carga y el tráfico intenso. Por ejemplo, un censor puede perderse el paquete ACK enviado de un cliente al servidor en un handshake TCP de tres vías.
Cuando el cliente envía un paquete PSH+ACK posterior con un dominio censurado, cabría esperar que el censor no tuviera en cuenta el paquete ya que, desde la perspectiva del censor, no existe una conexión en curso puesto que el cliente y el servidor no llevaron a cabo un apretón de manos TCP a tres bandas. Sin embargo, muchos censores siguen tomando medidas de bloqueo, como enviar un paquete RST de vuelta al cliente (figura 3). Por lo tanto, muchos censores no son totalmente compatibles con TCP. Sólo se basan en la presunción, no en la confirmación, de una conexión en curso para bloquear una solicitud censurada.
Esto significa que podemos elaborar secuencias de paquetes que activen la censura sin necesidad de que ningún servidor en vivo complete el apretón de manos TCP para activar el censor.
Continuando con el ejemplo anterior, el cliente puede enviar un paquete SYN seguido de un paquete PSH+ACK a una dirección IP que no responda para activar el censor (Figura 4).
Esto significa que ahora podemos medir la censura en redes que no tienen participantes. Gracias a la censura bidireccional, podemos enviar estas secuencias de paquetes desde clientes que controlamos fuera del país censor. Además, podemos dirigir nuestras mediciones de la censura a direcciones IP que no responden y que no tienen usuarios ni máquinas detrás, lo que mitiga los posibles riesgos para los usuarios y las preocupaciones éticas relacionadas con las conexiones a máquinas activas.
La secuencia de paquetes SYN seguida de PSH+ACK es una de las muchas que activan algunos censores. Sin embargo, no es una secuencia de paquetes estándar que active con éxito la censura en todos los regímenes de censura. Por lo tanto, debemos descubrir qué secuencias de paquetes desencadenan la censura en los distintos regímenes de censura.
En mi intento inicial de aplicar esta técnica, mis colegas y yo estudiamos la censura en Turkmenistán, unpaís notoriamente difícil de medir desde dentro, dada su baja penetración de Internet y sus leyes extremadamente duras sobre el uso de Internet. Intenté activar las middleboxes de censura dentro del país elaborando manualmente secuencias de paquetes. Descubrí que enviar un SYN seguido de un paquete PSH+ACK dos veces, separados por 5-29 segundos entre paquetes, activaba con éxito la censura.
Aunque alentadores, estos resultados requirieron un considerable esfuerzo manual, que no será escalable a diferentes países o ISP dentro del mismo país.
Como parte de mi beca de investigación Pulse, estoy desarrollando técnicas que automatizan el descubrimiento de secuencias de paquetes desencadenantes de censura, lo que nos permite medir la censura en muchos países de todo el mundo que están fuera del alcance de las técnicas de medición tradicionales.
Para ello, planeo utilizar Ginebra, unalgoritmo genético de código abierto que se entrena contra censores vivos para descubrir secuencias de paquetes que evaden la censura. Sin embargo, en lugar de hacer que Geneva eluda la censura, planeo modificarlo para que, en su lugar, descubra secuencias de paquetes que desencadenen la censura. Esto incluirá añadir nuevas capacidades a Geneva. Por ejemplo, Ginebra no habría podido encontrar la secuencia de paquetes utilizada para activar la censura en Turkmenistán, ya que Ginebra no admite pausas entre el envío de paquetes.
Para que esta técnica de medición de la censura funcione, necesitamos tanto una censura bidireccional como un dispositivo de censura que pueda ser engañado para que censure con secuencias de paquetes especialmente elaboradas. Hasta ahora, hemos encontrado:
- Bielorrusia, Brunei, China, Irán, Libia, Rusia, Tayikistán y Uzbekistán censuran bidireccionalmente.
- El envío de un paquete PSH+ACK dos veces desencadena con éxito la censura en Tayikistán, mientras que la secuencia SYN seguida de un paquete PSH+ACK es suficiente para los demás países.
- Burundi, Guinea Ecuatorial, Kirguistán y Myanmar no censan bidireccionalmente, por lo que no podemos estudiarlos con esta técnica.
Estamos en proceso de estudiar más países que durante mucho tiempo han sido pasados por alto para comprender qué dominios son censurados, hasta qué punto son homogéneas las políticas de censura en un país determinado, cómo difieren las políticas de censura entre las distintas regiones del mundo y cómo cambia la censura con el tiempo.
Si desea saber más, lea nuestro resumen ampliado y el documento sobre nuestro estudio de Turkmenistán.
Y manténgase al día de los futuros avances a través de nuestra página web.
Sadia Nourin es estudiante de máster en Informática en la Universidad de Maryland y becaria de investigación Pulse.
Las opiniones expresadas por los autores de este blog son suyas y no reflejan necesariamente los puntos de vista de la Internet Society.
