Historia de guerra: RPKI está funcionando según lo previsto
03/12/2024
Por Job Snijders, Principal Software Engineer
Publicado originalmente en el blog de Fastly
Para ser sincero, esta es una historia sobre algo que, al final, no resultó ser un problema. Sin embargo, a veces las historias aburridas también merecen ser contadas. Para entender el contexto, tenemos que remontarnos a febrero de 2008. En aquel entonces, sin que ella tuviera culpa alguna,una de las plataformas de intercambio de videos más populares del mundo sufrió una grave interrupción que duró varias horas y afectó a millones de visualizaciones de videos. El impacto fue tan grande que incluso los medios de comunicación tradicionales informaron ampliamente sobre lo que en esencia fue un incidente de enrutamiento arcano. Hoy en día, a pesar de que Internet es más grande que nunca, escuchamos cada vez menos sobre incidentes de este tipo. Hace tres semanas, Fastly fue víctima de un intento de secuestro de BGP similar al ocurrido en 2008, pero esta vez casi nadie se dio cuenta. ¿Y esto por qué? Porque algo ha cambiado. En este artículo, contaré una de las historias de éxito más notables y, sin embargo, poco conocidas de Internet.
Un curso intensivo sobre cómo funciona el enrutamiento de Internet
Básicamente, Internet es un backbone compuesto por cientos de miles de enrutadores interconectados entre sí, gestionados por aproximadamente 85.000 organizaciones para enviar datos a millones de destinos digitales. Para determinar a qué dirección deben enviarse los paquetes de datos para que lleguen a un destino determinado en Internet (una dirección IP específica), todos estos enrutadores intercambian mensajes entre sí utilizando un formato de protocolo estándar: BGP. A este intercambio vertiginoso de información de enrutamiento se le suele llamar sistema de enrutamiento global de Internet.
Uno de los factores clave que los enrutadores usan para decidir cuál de los muchos caminos posibles utilizar para enviar datos es el algoritmo de coincidencia con prefijo IP más largo (Longest Prefix Match o LPM). En pocas palabras, prefieren información más detallada sobre un destino antes que información menos granular. Pensemos en lo que ocurre si en el sistema de navegación de nuestro automóvil ingresamos la calle y la ciudad de destino, y comparémoslo con lo que ocurriría si solo ingresamos el nombre de la ciudad. Ambos enfoques nos acercarán a nuestro destino, pero es probable que si proporcionamos información más específica obtengamos una mejor ruta. Dicho de otro modo, Internet no funcionaría sin LPM.
Una de las principales razones del asombroso crecimiento anual de Internet es que prácticamente cualquiera puede conectarse fácilmente y empezar a enviar y recibir datos casi de inmediato. Conectamos nuestro enrutador a enrutadores vecinos de otras organizaciones y después se usa BGP para enviar un mensaje al sistema de enrutamiento. Al hacerlo, le informamos a Internet que ahora nuestras direcciones IP son accesibles a través de un “nextthop” específico. La consecuencia es que la vulnerabilidad más evidente del sistema de enrutamiento es el anuncio no autorizado de rutas hacia direcciones IP. En la siguiente sección ahondaremos en este aspecto.
¿Qué fue lo que ocurrió en 2008?
Se ordenó al operador de telecomunicaciones dominante de un gran estado-nación que censurara una plataforma de intercambio de videos muy popular dentro de sus fronteras. Entre los diferentes mecanismos para bloquear el acceso a un servicio de Internet en particular, BGP es una de las formas más sencillas (aunque también más bruscas) de bloquear el tráfico no deseado. Durante la operación normal de la red, no todos los mensajes BGP están destinados ni se espera que se distribuyan a todo el sistema global. Un operador de red podría querer que ciertos mensajes BGP solo se distribuyan a sus propios enrutadores para fines privados, limitando así su alcance a su propio dominio administrativo.
Lamentablemente, debido a un error de configuración, los mensajes BGP destinados a cumplir con la orden de censura también se transmitieron a redes adyacentes fuera del país, las cuales, a su vez, los distribuyeron a sus propias redes adyacentes, y así sucesivamente. En un abrir y cerrar de ojos, enrutadores de todo el mundo recibieron mensajes BGP indicando que un conjunto específico de direcciones IP de la plataforma de video (recordemos el algoritmo LPM) ahora se estaban sirviendo desde la infraestructura en Pakistán. Como ese no era el lugar donde realmente estaba conectada la plataforma de video, los paquetes de datos terminaron siendo descartados, lo que provocó una interrupción global de su presencia en línea. RIPE NCC escribió un buen artículo sobre los detalles técnicos; el NY Times, CNET, Ars Technica y NBC News también cubrieron el incidente.
Volvamos a 2024
La semana pasada ocurrió un incidente de enrutamiento muy similar en Fastly, pero este no llegó a los titulares. Si bien hace unos años este incidente habría afectado gravemente a Fastly, esta vez su impacto fue insignificante. ¿Y esto cómo se explica? Si bien los actores y las motivaciones difieren del famoso incidente de 2008, los detalles técnicos fueron esencialmente los mismos. En este caso más reciente, el estado titular de otra gran nación generó mensajes BGP que secuestraron parte del espacio de direcciones IP de Fastly con el propósito de interrumpir el tráfico de Internet. Pero ¿qué ha cambiado desde2008?
RPKI mejora la confiabilidad del sistema de enrutamiento
La gran diferencia entre 2008 y 2024 es que hoy en día la industria de Internet utiliza un mecanismo verificable criptográficamente llamado RPKI para evaluar la credibilidad de los mensajes BGP de forma totalmente automatizada. RPKI es una base de datos distribuida a través de la cual las redes pueden publicar sus intenciones de enrutamiento en Autorizaciones de Origen de Ruta (ROA), lo que a su vez permite que otras redes validen los mensajes BGP contra esta base de datos usando un servicio llamado Validación de Origen de Rutas (ROV). Al rechazar los mensajes que no superan esta validación, las rutas no válidas para RPKI pueden quedar fuera de circulación, limitando así su capacidad de provocar interrupciones.
Las ROA son fáciles de publicar. Los cinco RIR ofrecen servicios de certificación RPKI como parte de los servicios estándar para sus miembros. Dado que Fastly publica ROA para todas sus direcciones IP, los puntos de intercambio de tráfico y los principales operadores como NTT, Comcast, AT&T, Cogent, Arelion y Lumen pueden ignorar automáticamente los mensajes BGP problemáticos (como los que estaban secuestrando el espacio IP de Fastly en este último incidente). Precisamente porque la industria en general está utilizando RPKI, el único impacto medible en nuestra entrega de tráfico fue para el propio disruptor, mientras que el resto del mundo permaneció ajeno a este incidente. Ocurrió un secuestro de BGP muy grave y Fastly salió bien parado. RPKI funciona según lo previsto.
RPKI es una tecnología madura
La historia de RPKI comenzó hace dos décadas, cuando se extendió la sintaxis de los certificados X.509 para admitir la codificación de direcciones IP y números de sistemas autónomos a través de la RFC 3779. (X.509 es la base de los mecanismos de seguridad web, como el “https://” que todos conocemos). En los años que siguieron, se desarrolló un diseño para una arquitectura que ordenaba el cada vez más complejo sistema de enrutamiento global (RFC 6480). Más tarde, los cinco RIR (APNIC, ARIN, RIPE NCC, LACNIC y AFRINIC) se pusieron a trabajar para desarrollar sistemas que los operadores pudieran usar para configurar las ROA. En 2018 y 2019, se pusieron en marcha proyectos de código abierto como rpki-client y routinator para cerrar la brecha entre los sistemas de los RIR y los enrutadores BGP. Por último, en el año 2020 aumentó significativamente la adopción de RPKI por parte de los principales ISP, IXP y proveedores de servicios en la nube, lo que ha permitido una mayor eficacia de los beneficios de RPKI para Internet.
Conclusiones
Implementar cambios fundamentales como el que RPKI ha logrado para Internet requiere de una paciencia extrema y una gran perseverancia. Esto se debe a que Internet, por diseño, carece de una administración centralizada o de arriba hacia abajo. El sistema de enrutamiento se basa en la colaboración voluntaria de casi 100.000 organizaciones. Los cambios se logran liderando con el ejemplo, promoviendo la divulgación entre pares y socios comerciales, y un enfoque de diseño iterativo para resolver cualquier obstáculo que se presente en el camino. Cientos de ingenieros y científicos han dedicado en total cientos de años a modificar un sistema en funcionamiento, implementando RPKI y mejorando la confiabilidad de Internet. En el IETF, el trabajo para mejorar todavía más la confiabilidad y el rendimiento de RPKI continúa aún hoy.
Personalmente, no me sorprendió cuando el Poder Ejecutivo del Gobierno de los EE. UU. reconoció los beneficios sociales de usar RPKI y respaldó la tecnología para empezar a abordar las vulnerabilidades inherentes al BGP. En definitiva, RPKI es un sistema que ayuda a las redes a mantenerse en su propio carril, lo que permite que todos avancen de forma segura por la autopista digital.
Joel Jaeggli (Fastly), Tony Tauber (Comcast) y Doug Madory (Kentik) contribuyeron a este artículo.
Las opiniones expresadas por los autores de este blog son propias y no necesariamente reflejan las opiniones de LACNIC.