Irak bloquea Telegram y filtra anuncios BGP para descartar el tráfico
11/10/2023
Por Doug Madory, Director de análisis de Internet
Originalmente se publicó en el blog de Kentik el 10 de agosto de 2023
Resumen
El fin de semana pasado, el gobierno de Irak bloqueó la popular aplicación de mensajería Telegram, citando la necesidad de proteger los datos personales de los iraquíes. Sin embargo, cuando una red del gobierno iraquí filtró un secuestro de BGP utilizado para el bloqueo, esto se convirtió en un nuevo incidente de BGP intencional, pero también accidental. Afortunadamente, la interrupción se minimizó gracias al uso de RPKI por parte de Telegram.
El fin de semana pasado, el gobierno de Irak decidió bloquear la popular aplicación de mensajería Telegram, citando la necesidad de proteger los datos personales de los usuarios iraquíes luego de que se filtrara información confidencial. De acuerdo con datos de nuestros amigos del Open Observatory for Network Interference (OONI) del proyecto Tor, el bloqueo se implementó bloqueando las direcciones IP de Telegram.
Obviamente, cuando el gobierno iraquí comenzó a bloquear Telegram, lo hizo utilizando BGP para secuestrar el tráfico destinado a las direcciones IP asociadas con el servicio de mensajería, redirigiéndolo al proverbial Bitbucket. Como ya ha ocurrido en numerosas ocasiones, estas rutas BGP secuestradas se filtraron fuera del país.
Sin embargo, a pesar de este error técnico, no se informó ninguna interrupción de Telegram fuera de Irak, en parte debido a que Telegram había creado autorizaciones de origen de ruta (ROA) para sus rutas, lo que permitió que los AS fuera de Irak rechazaran automáticamente los secuestros. Una ROA es un registro en RPKI que especifica el origen del AS que está autorizado para originar el rango de direcciones IP.
Intencional, pero también accidental
Quizás el secuestro de BGP más famoso de la historia sea el secuestro de YouTube por parte de Pakistán en 2008 (ver también Los mayores incidentes de BGP en Internet). En ese caso, el gobierno paquistaní ordenó el bloqueo de YouTube en el país. La empresa estatal de telecomunicaciones de Pakistán, PTCL, creó rutas BGP para secuestrar el tráfico destinado a YouTube y dirigirlo a un agujero negro. Sin embargo, los secuestros se filtraron y salieron de Pakistán, lo que provocó una interrupción global de YouTube. A lo largo de los años, se han producido muchas de estas filtraciones de secuestros de BGP que pretendían censurar contenido, como las de Ucrania e Irán.
Más recientemente, durante las primeras semanas del golpe de estado de Myanmar en 2021, la junta militar a cargo ordenó el bloqueo de las redes sociales. Para cumplir con la orden, un ISP de Myanmar optó por utilizar BGP para secuestrar el tráfico local de Twitter y descartarlo. Desafortunadamente, sin que se dieran cuenta, su ruta de secuestro se filtró fuera de Myanmar, lo que provocó interrupciones en Twitter en todo el sur de Asia.
Por último, el año pasado, durante la campaña de Rusia contra las redes sociales y el periodismo independiente tras su invasión a Ucrania, un ISP ruso decidió utilizar BGP para bloquear el tráfico a Twitter al secuestrar exactamente el mismo prefijo (104.244.42.0/24) que había sido secuestrado un año antes en Myanmar.
Pero hubo una diferencia entre el secuestro del prefijo 104.244.42.0/24 de Twitter por parte de Myanmar en 2021 y el secuestro de este prefijo por parte de Rusia en 2022. En el año que transcurrió entre ambos hechos, Twitter implementó RPKI y creó ROA en RPKI para casi todas sus rutas. Esto permitió que los AS que rechazan rutas no válidas para RPKI rechazaran automáticamente las rutas de secuestro, limitando así la interrupción de Twitter.
Como escribió en su momento el CISO de Twitter, “gran parte del objetivo de tener seguridad es evitar que nuestros sistemas se rompan todo el tiempo”. En este caso, evitó que un secuestro de BGP interrumpiera el acceso a Twitter para usuarios fuera de Rusia. El secuestro de Rusia se propagó un poco menos que el secuestro de Myanmar, aunque es difícil comparar los dos hechos directamente ya que los secuestros se anunciaron desde diferentes lugares de Internet y existen numerosos factores que pueden influir en la propagación de una ruta BGP.
A modo de anécdota, diría que después de mi presentación en NANOG 86 sobre los impactos de Internet debido a la guerra en Ucrania, uno de los ingenieros de redes de Twitter compartió que, desde el punto de vista del tráfico, ellos observaron significativamente menos interrupciones debido al secuestro ruso. Están convencidos de que la causa de esta diferencia fue RPKI.
El reciente episodio en Irak es similar a los casos antes descritos, ya que fue un incidente de BGP que fue intencional, pero también accidental. La red filtró accidentalmente un secuestro de BGP que ellos crearon de forma intencional.
Los secuestros de Irak
A excepción de las redes de la región semiautónoma del Kurdistán, todo el servicio de Internet iraquí debe pasar por AS208293, una red gubernamental que sirve como puerta de entrada internacional del país. AS208293 normalmente no origina ninguna ruta; solo conecta las empresas de telecomunicaciones del país con los proveedores de tránsito internacional.
Sin embargo, a las 13:52 UTC del 5 de agosto de 2023, AS208293 comenzó a generar los siguientes prefijos:
151.106.160.0/19 | 95.161.64.0/20 |
95.161.0.0/17 | 91.108.8.0/22 |
91.108.0.0/18 | 91.108.4.0/22 |
149.154.160.0/20 | 149.154.164.0/22 |
91.108.56.0/22 | 149.154.160.0/22 |
Todos menos el primero son rangos de direcciones utilizados por Telegram. El prefijo 151.106.160.0/19 fue utilizado por última vez por la ahora desaparecida Subspace, por lo que el motivo de su inclusión no está claro.
Ilustrado a continuación en el visor de rutas BGP de Kentik, el prefijo 149.154.160.0/20 era originado por AS208293 y logró una circulación global por dos razones. La primera fue que no había ninguna ruta competidora en circulación: 149.154.160.0/20 es “menos específico” que las rutas existentes de Telegram. La segunda, que no había una ROA en RPKI que les diera a los AS que habían implementado RPKI un motivo para rechazarlo.
Por el contrario, si observamos la propagación del correspondiente 149.154.160.0/22 “más específico”, vemos que casi toda Internet creía (¡correctamente!) que AS62041 (Telegram) era el origen. Si bien AS208293 aparece en rojo en el diagrama de barras y esferas en la parte inferior, apenas se puede ver en el gráfico en la parte superior, que representa la propagación de rutas según su origen.
La falta de propagación de una ruta BGP con AS208293 como el origen de 149.154.160.0/22 se debe a que ya existía una ruta con la que competir (originada por AS62041), pero también a que la ruta desde Irak no era válida para RPKI, lo que limitó su alcance de forma muy significativa.
Conclusión
El desafío de medir el impacto positivo de cualquier mecanismo de seguridad es que muchas veces requiere conocer los incidentes que no ocurrieron gracias a su utilización. Lo mismo ocurre con RPKI. Si bien probablemente no tenía el potencial de ser otro incidente como el de Pakistán/YouTube, los “no eventos” de BGP como este muestran el éxito de RPKI.
Por supuesto, esto es poco consuelo para los usuarios iraquíes que ahora deben emplear una VPN para sortear este bloqueo a nivel de IP. Censurar Telegram hará poco para proteger los datos personales de los iraquíes, aunque sí los mantiene aislados de una popular herramienta de comunicación y fuente de noticias e información.
Las opiniones expresadas por los autores de este blog son propias y no necesariamente reflejan las opiniones de LACNIC.