RPKI: blindando las rutas de Internet contra los atacantes

Fecha de publicación 01/02/2024
Autor
INCIBE (INCIBE)
Foto decorativa

Internet, concebida en sus orígenes como una red de confianza mutua entre distintas entidades y sistemas autónomos, ha permitido un desarrollo y una interconexión global exponencialmente rápidos. Este fundamento de confianza interconecta un conglomerado inmenso de redes, promoviendo la colaboración y el intercambio de información. Pero este mismo principio ha sometido a la red global a una serie de vulnerabilidades por diseño en su sistema de enrutamiento. Dada la falta de mecanismos de validación y verificación, la información malintencionada o incorrecta puede ser fácilmente aceptada y propagada por la Red, provocando interrupciones o desvíos maliciosos de tráfico que pueden comprometer la seguridad y la privacidad de los datos de los usuarios.

Esta inherente fragilidad se manifiesta particularmente en el protocolo de enrutamiento BGP, que carece de mecanismos de seguridad intrínsecos y depende fundamentalmente de la confianza entre diferentes sistemas autónomos. Dicha carencia de seguridad ha permitido la aparición de ciberamenazas, como el BGP Hijacking, donde los atacantes pueden redirigir el tráfico de Internet manipulando las rutas de BGP. Esta violación del principio de confianza en los sistemas de enrutamiento evidenciaba la necesidad de desarrollar soluciones efectivas para garantizar la autenticidad y legitimidad de la información de enrutamiento en Internet.

La Infraestructura de Clave Pública de Enrutamiento (RPKI), introducida en el año 2012 y especificada en documentos, como el RFC 6480 o RFC 6810, se establece como un componente crítico para la seguridad de Internet, proporcionando un marco de verificación y autenticación para asegurar el enrutamiento en Internet, adaptando y especificando los fundamentos de una Infraestructura de Clave Pública (PKI) convencional para abordar cuestiones concretas de seguridad.

La adopción e implementación de RPKI ha avanzado significativamente, con un respaldo creciente de diferentes actores y de la comunidad de Internet, quienes reconocen la importancia crítica de RPKI en la protección de la infraestructura de la Red. Este respaldo se extiende por toda la comunidad global de Internet, incluyendo proveedores de servicios, operadores de redes y entidades de investigación. Sitios web, como ‘Is BGP Safe Yet?’ ofrecen recursos útiles para verificar si una organización ha implementado RPKI. 

Estructura protocolo BGP petición simple

- Protocolo BGP. Fuente. -

Estructura protocolo BGP desviada maliciosamente

- Protocolo BGP (Hijacked). Fuente. -

Estructura protocolo BGP securizada con RKPI

- Protocolo BGP con RKPI. Fuente. -

Estos recursos permiten a los usuarios y organizaciones tener una visión más clara sobre las medidas de seguridad implementadas por los ISP y tomar decisiones informadas acerca de los servicios de Internet que eligen, al tiempo que incentivan a más ISP a adoptar prácticas de seguridad como RPKI para mejorar la seguridad del encaminamiento en Internet.

RPKI: funcionamiento basado en PKI

RPKI utiliza certificados digitales para validar la propiedad de los identificadores numéricos de la Red, tales como direcciones IP y Números de Sistema Autónomo (ASN). Estos certificados funcionan como un medio para asegurar que las rutas anunciadas en BGP son legítimas y están autorizadas por el propietario del recurso.

El proceso de RPKI, desde la solicitud de direcciones IP hasta el anuncio de prefijos BGP, es integral y multifacético. Implica diversas etapas y la coordinación entre los distintos componentes de RPKI y BGP, para asegurar la legitimidad de las rutas. A continuación, se resumen los pasos implicados en este proceso:

  1. Solicitud de recursos: una entidad, típicamente un proveedor de servicios de Internet, solicita asignación de recursos de números de Internet a su RIR correspondiente: ARIN, RIPE NCC, APNIC, LACNIC o AFRINIC. Estos recursos incluyen direcciones IP y ASN necesarios para identificar y gestionar dispositivos y rutas en la Red.
  2. Asignación de recursos y certificación: una vez aprobada la solicitud, el RIR asigna los recursos solicitados y genera un certificado X.509 para la entidad, certificando su legítimo derecho a usar dichos recursos. Con su certificado RPKI, la entidad genera un Objeto de Autorización de Ruta (ROA). El ROA especifica qué ASN está autorizado para anunciar los bloques de IP asignados, añadiendo una capa adicional de verificación y seguridad en el proceso de enrutamiento.
  3. Publicación de ROA: los datos de certificación, almacenados en el repositorio de RIR, se sincronizan entre repositorios globales mediante protocolos como rsync o RRDP, a través de sus Puntos de Publicación (PP) garantizando consistencia y accesibilidad. Esta sincronización permite a cualquier entidad en Internet realizar validaciones, mejorando la confiabilidad y la integridad de las rutas en la Red.
  4. Anuncio de rutas con BGP: la entidad anuncia sus bloques de IP asignadas mediante el protocolo BGP, que regula el enrutamiento entre los AS existentes.
  5. Validación de anuncios legítimos: en el sistema RPKI existe un componente denominado Relying Point (RP) o comúnmente, validador RPKI. Se encargan de comparar los anuncios de BGP contra los ROA disponibles, usando datos de repositorios RPKI sincronizados. Este proceso de validación asegura que solo se acepten anuncios legítimos, mitigando riesgos asociados con rutas maliciosas o incorrectas.
  6. Establecimiento de rutas legítimas: con la información validada de RPKI, los routers construyen la tabla de enrutamiento priorizando rutas validadas y legítimas. Mediante el ‘Protocolo RPKI to Router (RPKI-RTR)’, los routers reciben datos de validación RPKI en tiempo real de los Puntos de Ruta (RP), lo que permite la toma de decisiones de enrutamiento informadas y seguras.
Proceso de certificación de enrutamiento en Internet con RPKI

- Proceso de certificación de enrutamiento en Internet con RPKI. -

Implementación de un validador RPKI propio

El sistema RPKI fue diseñado para operar de manera descentralizada, para que cada entidad tuviera la posibilidad de gestionar su propia CA y de publicar sus propios certificados y ROA. Pero, dada la infraestructura y servicios ya provistos por los RIR, la práctica común ha sido utilizar estos servicios ya establecidos para facilitar la certificación y gestión de recursos, lo que ha reducido la necesidad para muchas organizaciones, como ISP, de gestionar su propia infraestructura de certificación, permitiendo, en cambio, focalizarse en aspectos operativos y de calidad de servicio.

A pesar de esto, el despliegue de un validador propio presenta ventajas significativas para organizaciones como ISP que implementan su propio backbone. Esto permite mitigar dependencias, obtener confirmación directa de la validez de las rutas, ajustar y optimizar el proceso de validación conforme a sus necesidades específicas y políticas internas, lo que contribuye a una operación de red más eficiente.

Existen varios validadores de RPKI de código abierto disponibles para las organizaciones y ISP. Al elegir un validador, es importante considerar factores, como la actividad y el soporte de la comunidad, la documentación disponible, la facilidad de instalación y configuración y la integración con otros sistemas y herramientas utilizados en la organización. Utilizar un validador de código abierto permite a las organizaciones beneficiarse de la experiencia y el conocimiento de la comunidad. Algunos de los validadores de código abierto más conocidos y activos incluyen:

  • Routinator: de NLnet Labs, muy activo en la comunidad para verificar la validez de las rutas utilizando la infraestructura de clave pública de RPKI.
  • RPKI Validator 3: muy popular y ampliamente utilizado en la comunidad. Es desarrollado por RIPE NCC, uno de los cinco RIR.
  • FORT Validator: de código abierto, desarrollado por NIC México. Se distingue por su simplicidad y por ser ligero, haciéndolo una opción atractiva para entornos con recursos limitados.
  • OctoRPKI: este conjunto de herramientas de Cloudflare destaca por su arquitectura modular, que separa el proceso de validación del manejo de la comunicación RTR, lo que brinda flexibilidad en el despliegue.

Es recomendable adoptar ciertas buenas prácticas a la hora de implementar un validador propio, como por ejemplo:

  • Establecer una arquitectura redundante mediante el despliegue de múltiples validadores en diversas ubicaciones y subredes, que mejorará la disponibilidad del servicio.
  • Llevar a cabo un mantenimiento proactivo del software que incluya actualizaciones regulares y monitorización continua del sistema y realizar una revisión de la configuración de los parámetros de seguridad.
  • Garantizar la autenticación y el acceso seguro mediante controles de acceso rigurosos y protocolos seguros y validar exhaustivamente el sistema en un entorno de test. 
  • Manejar con cuidado el uso de listas blancas o negras cuando funcionan sobre un validador RPKI, ya que una regla manual de filtrado, como las implementadas mediante listas, podría entrar en conflicto con un anuncio legítimo de ruta en el sistema RPKI, invalidando o bloqueando anuncios de rutas legítimas. Por lo tanto, estos elementos deben ser utilizados de manera consciente y controlada.

Conclusión

La implementación de RPKI destaca como un elemento esencial en la seguridad del enrutamiento de Internet, ofreciendo una solución eficaz contra amenazas, como el BGP Hijacking. RPKI potencia la seguridad del enrutamiento en Internet al validar de manera rigurosa las rutas, garantizando que solo los operadores autorizados puedan anunciar bloques de direcciones IP específicos. Esto mitiga la probabilidad de redirecciones maliciosas de tráfico e interceptaciones, construyendo un entorno de red más seguro y confiable.

La adopción proactiva de RPKI por parte de proveedores de servicios de Internet, empresas cloud y otras entidades involucradas es un paso vital hacia un entorno digital más seguro y confiable. A medida que la implementación de RPKI continúa expandiéndose y madurando, se espera que contribuya significativamente a mitigar riesgos asociados a los ciberataques, promoviendo así un Internet más seguro y fiable para todos los usuarios.