El secuestro de BGP es un redireccionamiento con fines maliciosos del tráfico de Internet que se aprovecha de que el BGP, el protocolo de enrutamiento de Internet, confía por defecto en todos los movimientos.
Después de leer este artículo podrás:
Contenido relacionado
Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar enlace del artículo
El secuestro de BGP se produce cuando los atacantes redirigen con fines maliciosos el tráfico de Internet. Los atacantes logran esto al declarar de forma falsa que son los propietarios de grupos de direcciones IP, llamados prefijos IP, de los que en realidad no son propietarios, ni controlan ni enrutan. Un secuestro de BGP es muy parecido a como si alguien cambiara todas las señales de un tramo de autovía y redirigiera el tráfico de automóviles hacia las salidas incorrectas.
Debido a que BGP está diseñado para suponer que las redes interconectadas dicen la verdad sobre las direcciones IP que poseen, el secuestro de BGP es casi imposible de detener; imaginemos que nadie estuviera vigilando las señales de la autovía, y que la única forma de saber si estas se han cambiado con fines maliciosos fuera al constatar que muchos automóviles acababan en los barrios equivocados. Sin embargo, para que se produzca un secuestro, los atacantes tienen que controlar o poner en riesgo un enrutador con BGP que sirva de puente entre un sistema autónomo (AS) y otro, así que no todo el mundo puede llevar a cabo un secuestro de BGP.
BGP son las siglas de Border Gateway Protocol, y es el protocolo de enrutamiento de Internet. En otras palabras, proporciona direcciones para que el tráfico viaje de una dirección IP a otra de la forma más eficiente posible. Una dirección IP es la dirección web real de un determinado sitio web. Cuando un usuario escribe el nombre de un sitio web y el navegador lo encuentra y lo carga, las solicitudes y respuestas van y vienen entre la dirección IP del usuario y la dirección IP del sitio web. Los servidores de DNS (sistema de nombres de dominio) proporcionan la dirección IP, pero BGP ofrece la forma más eficiente de llegar a esa dirección IP. Por decirlo de alguna manera, si el DNS es la libreta de direcciones de Internet, el BGP es el mapa de carreteras de Internet.
Cada enrutador de BGP almacena una tabla de enrutamiento con las mejores rutas entre sistemas autónomos. Estas se actualizan casi continuamente a medida que cada AS*, con frecuencia un proveedor de acceso a Internet (ISP), difunde nuevos prefijos IP de su propiedad. BGP siempre favorece la ruta más corta y directa de AS a AS para llegar a las direcciones IP con el menor número posible de saltos entre redes. Más información sobre BGP >>
Un sistema autónomo es una gran red o grupo de redes gestionadas por una única organización. Un AS puede contar con muchas subredes, pero todas comparten la misma política de enrutamiento. Por lo general, un AS es un ISP o una organización muy grande con su propia red y múltiples conexiones ascendentes desde esa red a los ISP (esto se denomina "red con multiconexión"). A cada AS se le asigna su propio Número de sistema autónomo, o ASN, para identificarlos con facilidad. Más información sobre los sistemas autónomos >>
BGP posibilita el crecimiento a gran escala de Internet. Internet está compuesto de múltiples y grandes redes interconectadas. Al ser un sistema descentralizado, no hay un órgano rector ni un policía de tráfico que se encargue de establecer las mejores rutas para que los paquetes de datos alcancen sus destinos de direcciones IP. BGP lleva a cabo esta función. Si no fuera por el BGP, el tráfico web podría tardar mucho tiempo en llegar a su destino debido a un enrutamiento ineficiente, o incluso no llegar nunca al destino previsto.
Cuando un AS anuncia una ruta a prefijos IP que no controla en realidad, este anuncio, si no se filtra, puede propagarse y añadirse a las tablas de enrutamiento de los enrutadores de BGP por Internet. Desde ese momento, y hasta que alguien se dé cuenta y corrija las rutas, el tráfico hacia esas IP se dirigirá a ese AS. Sería como reclamar un territorio si no hubiera un gobierno local que verificara y aplicara los títulos de propiedad.
El BGP siempre favorece la ruta más corta y especifica a la dirección IP deseada. Para que el secuestro de BGP tenga éxito, el anuncio de la ruta debe:
1) Ofrecer una ruta más específica al anunciar un rango más pequeño de direcciones IP que los otros AS habían anunciado con anterioridad.
2) Ofrecer una ruta más corta a ciertos bloques de direcciones IP. Además, no todo el mundo puede anunciar rutas de BGP al conjunto de Internet. Para que se produzca un secuestro de BGP, el anuncio lo debe realizar el operador de un AS, o un actor malicioso que haya puesto en riesgo un AS (el segundo caso es más improbable).
Puede parecer sorprendente que el operador de una gran red o grupo de redes, muchas de las cuales son ISP, emprenda descaradamente tal actividad con fines maliciosos. Pero si se tiene en cuenta que, según algunos cálculos, hay más de 80 000 sistemas autónomos en todo el mundo, no es de extrañar que algunos no sean de fiar. Además, el secuestro de BGP no siempre es tan evidente o fácil de detectar. Los actores perjudiciales pueden camuflar su actividad detrás de otros sistemas autónomos, o pueden anunciar bloques de prefijos IP no utilizados, que están hechos para que nadie se dé cuenta de que están ahí, y pasar así desapercibidos.
Como resultado del secuestro de BGP, el tráfico de Internet puede ir por el camino equivocado, ser vigilado o interceptado, ir a un 'agujero negro', o ser dirigido a sitios web falsos como parte de un ataque en ruta. Además, los spammers pueden utilizar el secuestro de BGP, o la red de un AS que lleva a cabo secuestros de BGP, para falsificar IP legítimas con para ser utilizadas como spam. Desde el punto de vista del usuario, los tiempos de carga de las páginas aumentarán, porque las solicitudes y las respuestas no seguirán la ruta de red más eficiente, y pueden llegar a recorrer todo el mundo innecesariamente.
En el mejor de los casos, el tráfico solo tomará una ruta innecesariamente larga, lo que aumentará la latencia. En el peor de los casos, un atacante realizará un ataque en ruta, o redirigirá a los usuarios a sitios web falsos para robar credenciales.
Se han producido muchos secuestros deliberados de BGP en el mundo real. Por ejemplo, en abril de 2018, un proveedor ruso anunció una serie de prefijos IP (grupos de direcciones IP) que, en realidad, pertenecían a servidores DNS de Route53 Amazon. En resumen, el resultado final fue que a los usuarios que intentaban iniciar sesión en un sitio de criptomonedas se les redirigió a una versión falsa del sitio web controlada por los hackers. Los hackers pudieron robar así cerca de 152 000 dólares en criptodivisas. (Para ser más específicos: mediante el secuestro de BGP, los hackers secuestraron las solicitudes de DNS de Amazon, para que las consultas de DNS para myetherwallet.com fueran a servidores que ellos controlaban, devolvían la dirección IP equivocada y dirigían las solicitudes de HTTP al sitio web falso. Leer más en nuestra publicación del blog: 'Filtraciones de BGP y criptomonedas'.)
Los casos involuntarios de secuestro de BGP también son frecuentes y pueden tener un impacto negativo en toda la Internet global. En 2008, Pakistan Telecom, propiedad del gobierno de Pakistán, intentó censurar Youtube en el país mediante la actualización de sus rutas BGP para el sitio web. Según parece, por accidente, las nuevas rutas se anunciaron a los proveedores de Pakistán Telecom, y desde allí se difundieron por la totalidad de Internet. De repente, todas las solicitudes web de Youtube se dirigieron a Pakistan Telecom, lo que provocó una interrupción del funcionamiento del sitio web durante horas en casi todo Internet, y sobrecargó el ISP.
Aparte de la supervisión constante de cómo se enruta el tráfico de Internet, los usuarios y las redes poco pueden hacer para prevenir los secuestros de BGP.
La mayoría de las redes solo deberían aceptar declaraciones de prefijos IP si es necesario, y solo deberían declarar sus prefijos IP a ciertas redes, y no a todo Internet. Si se hace esto, se ayuda a prevenir el secuestro accidental de rutas y se podría evitar que el AS acepte declaraciones de prefijo IP falsas; sin embargo, en la práctica esto es difícil de aplicar.
El aumento de la latencia, la degradación del rendimiento de la red y el desvío del tráfico de Internet son posibles signos de un secuestro de BGP. Muchas redes grandes supervisan las actualizaciones de BGP para asegurarse de que sus clientes no tengan problemas de latencia, y algunos investigadores de seguridad supervisan el tráfico de Internet y publican sus resultados.
El BGP se diseñó para que Internet funcionara, y ciertamente lo hace. Pero el BGP no se diseñó pensando en la seguridad. Se están desarrollando soluciones de enrutamiento más seguras para Internet en su conjunto (como BGPsec), pero todavía no se han adoptado. De momento, el BGP es intrínsecamente vulnerable y seguirá siéndolo.
Cloudflare cuenta con centros de datos en 330 ciudades repartidas por todo el mundo, todos los cuales emiten un ASN (AS13335) y los mismos prefijos IP. Esto minimiza el número de redes que debe cruzar el tráfico para llegar a una dirección IP alojada en Cloudflare. Como resultado, hay disponibles rutas eficientes hacia las direcciones IP propiedad de Cloudflare desde casi cualquier parte del mundo. Para un AS en Japón, la ruta más corta a una IP de Cloudflare puede estar a solo un par de saltos de red, terminando en un centro de datos local de Cloudflare con sede en Japón. En California, el tráfico podría ir a la misma dirección IP, alojada en el mismo AS de Cloudflare, y acabar llegando a través de un centro de datos de California.