O Border Gateway Protocol (BGP) foi criado para oferecer uma gestão mais eficiente das comunicações internas e externas entre os diferentes Sistemas Autônomos (ASes). No passado, a evolução tecnológica trouxe o Transmission Control Protocol e o Internet Protocol (TCP/IP) para superar as limitações do NCP, aumentando significativamente o número de dispositivos conectados. Essa abordagem incrementou as conexões de rede, a topologia e a formação de grandes ASes com seus próprios conjuntos de regras e políticas de roteamento, interconectados por meio de links virtuais e gerenciados por uma entidade ou organização.
Atualmente, a internet, através de seu constante crescimento como tecnologia aberta, tornou-se uma rede complexa e dinâmica. Consequentemente, organizações de diferentes setores demandam infraestruturas especializadas que superem os desafios do BGP para implementar suas aplicações com serviços de provisionamento personalizados, escalabilidade automática, segurança, localização de dados, roteamento inteligente, mobilidade e baixa latência. Neste post, vamos apresentar os principais desafios do BGP, algumas de suas principais ameaças e vulnerabilidades, e como a Azion consegue superar esses desafios para oferecer roteamento seguro no edge.
Como funciona o BGP?
O BGP foi projetado para trocar rotas e endereços IP e tomar decisões de roteamento com base em um conjunto de regras previamente configuradas por um administrador. Quando a comunicação acontece entre roteadores em um único AS é chamada de iBGP (Internal Border Gateway Protocol) e quando ocorre entre ASes diferentes é chamada de eBGP (External Border Gateway Protocol). O BGP é um protocolo dinâmico que garante a estabilidade da rede (por exemplo, evitando loops) e a disponibilidade de novas rotas em caso de possíveis falhas. No entanto, o BGP não é um vetor de rota inteligente, como um protocolo de estado de link programável, que faz tudo automaticamente. Com o BGP, você deve dar as instruções com antecedência e fazer o mesmo processo em outro peer para que o serviço entre em operação. Nas seções a seguir, expandiremos essas informações mostrando os desafios atuais e as vulnerabilidades relacionadas ao BGP.
Desafios de usar o BGP
Crescimento da routing table
Quando os sistemas autônomos obtêm um bloco de endereços IP exclusivos, eles devem anunciá-lo por meio de uma routing table. Este anúncio obriga a todos os ASes no mundo todo a descobrir os novos prefixos que agora estão ativos. Desde o início, a incorporação de novos prefixos tem apresentado um crescimento exponencial devido à expansão da internet. Um relatório apresentado pelo CIDR em novembro de 2021 mostrou que os prefixos IPv4 e IPv6 alcançaram 900.000 e 150.000 entradas respectivamente, com um aumento de aproximadamente 5% em relação ao ano anterior. A figura abaixo mostra esse comportamento e como estamos atingindo o limite do IPv4 (4E+9 endereços), demonstrando que parte dele não está mais disponível para uso. Dessa forma, o crescimento da routing table afeta o fenômeno de “exploração de caminhos”, o que produz uma convergência lenta na internet.
Eficiência
A acessibilidade e o roteamento entre ASes estão se tornando mais complexos à medida que o número de ASes aumenta. Não é mais o caso de levar os usuários ao conteúdo, mas sim entregá-lo aos usuários. Portanto, o BGP não foi criado para ter o controle dessas condições e procedimentos, o que faz com que seja inadequado ou ineficiente para aproveitar o melhor desempenho de uma plataforma de rede distribuída e seu correto funcionamento.
Por exemplo, os mercados comerciais modernos exigem alta capacidade de armazenamento, entrega de conteúdo personalizado, 100% de disponibilidade, processamento de dados em tempo real, observabilidade e o suporte de uma infraestrutura inteligente para criar e implantar aplicações. A falta de um desses pilares pode fazer com que as empresas percam o controle de seus serviços, interrompam processos de trabalho ou ofereçam uma experiência de usuário insatisfatória, apenas para mencionar algumas das preocupações existentes.
Gerenciamento de memória em BGP peers
O BGP é síncrono; isso significa que é necessário reservar uma certa quantidade a priori de memória no BGP peer para processar tarefas específicas. Se um determinado limite é atingido, o BGP interromperá uma sessão externa (eBGP) para liberar recursos de memória até que sua capacidade esteja isenta desse limite. Portanto, com a sessão desativada, o BGP enviará sua solicitação por outro caminho sem o conhecimento prévio do cliente.
Programabilidade
Quando falamos em conhecimento e tomada de decisões, isso não é considerado pelo BGP. Ele não conhece os atributos da rede, como perda de pacotes, performance, latência e experiência do usuário. Como o BGP ignora esses e outros parâmetros, ele simplesmente envia sua solicitação para um local que não é necessariamente o melhor. A falta de programabilidade é um problema, pois não é possível implementar regras inteligentes para a tomada de decisões em tempo real. Portanto, pesquisadores no mundo todo estão procurando ferramentas adicionais que ajudem o BGP a satisfazer essa necessidade.
Propagação de rotas
A propagação de rotas é uma forma de anunciar rotas entre domínios vizinhos, um salto de cada vez. O BGP é um protocolo relativamente lento porque a convergência da propagação da rota é lenta. Os principais aspectos limitantes da convergência do BGP são tamanho da tabela, atraso no anúncio, intervalo mínimo de anúncio da rota (MRAI, na sigla em inglês), configurações do nível de transporte e a sobrecarga de processamento de atualizações do BGP. Isso significa que o processamento de um grande número de entradas pode causar uma carga de trabalho significativa nos roteadores, o que afeta diretamente a latência de roteamento (o tempo que leva para os roteadores convergirem). Portanto, os administradores devem alocar recursos computacionais a priori para satisfazer o crescimento do tamanho da tabela de roteamento e novas técnicas para reduzir essas cargas de trabalho. Na ausência de políticas, o BGP usa métricas com base no comprimento do atributo AS_PATH, que não é adequado para redes altamente distribuídas.
Ameaças e vulnerabilidades
A Azion é membro fundador do programa de Content Delivery Networks (CDN) e serviços em nuvem que faz parte da iniciativa MANRS, da Internet Society, que visa educar e mitigar as ameaças mais comuns do sistema de roteamento da internet. A Azion, assim como os demais membros do programa, buscam melhorar a infraestrutura de roteamento por meio das seguintes ações específicas:
- evitar a propagação de rotas falsas;
- impedir o tráfego de fontes não autorizadas;
- facilitar a comunicação e a coordenação globais;
- facilitar a validação de informações de roteamento em escala global;
- incentivar a adoção da iniciativa MANRS.
Quanto às ameaças que afetam o sistema de roteamento, elas podem surgir de configurações incorretas, ataques maliciosos ou desafios tecnológicos que ainda estão presentes no BGP. Por exemplo, a dependência do BGP com o protocolo de controle de transmissão o torna vulnerável a ataques baseados em TCP. Além disso, devido à complexidade de sua configuração, o BGP é sensível a eventuais erros durante os processos de manutenção. Portanto, a implementação de informações maliciosas ou um simples erro de roteamento podem fazer com que empresas sofram longas interrupções e fiquem suscetíveis a ataques de segurança. As principais ameaças relacionadas ao BGP são:
- Configuração e alterações de peering erradas: é uma vulnerabilidade do BGP causada por uma configuração de peering incorreta entre ASes. Isso pode acontecer por vários motivos, como ataques de hackers, falha de equipamento ou práticas de manutenção inadequadas, o que afeta o funcionamento do BGP e, consequentemente, de toda a rede.
- Route Flapping: é um evento na rede gerado por uma alta taxa de atualização no status de uma rota (por exemplo, disponível e não disponível). A oscilação de uma rota produz um estado instável, resultando na perda de pacotes de dados e na diminuição do tráfego que circula na rede.
- Manipulação no BGP: é um ataque no qual um hacker modifica o conteúdo da routing table para enviar dados a outros destinos sem o conhecimento do remetente.
- BGP Denial-of-Service (DoS): é um tipo de agressão na qual hackers enviam uma grande quantidade de dados ou solicitações a uma máquina ou dispositivo da rede a fim de reduzir os recursos computacionais para o processamento de tráfego de BGP legítimo.
- BGP Route Hijacking: é um tipo de ataque no qual os hackers redirecionam o tráfego da internet para sites indesejados. Para conseguir isso, os hackers usam o BGP para anunciar falsamente a propriedade dos grupos de endereços IP da vítima e redirecionar parte ou todo o tráfego da vítima para um domínio falso ou inexistente.
Como a Azion oferece roteamento de edge confiável
À medida que consumidores, trabalhadores e empresas mudam cada vez mais seus estilos de vida, as companhias de diversos setores foram obrigadas a mudar seus esforços para oferecer serviços mais digitalizados. Isso deu origem a uma grande quantidade de dispositivos conectados à internet e a uma rede altamente distribuída com seus serviços sendo oferecidos mais próximos dos usuários finais. Para as empresas, a complexidade de gerenciar esse grande número de dispositivos foi enfrentada através da automação da infraestrutura operacional. Para a Azion, a automação é apenas um pilar essencial em nosso negócio, mas não nosso único objetivo.
Nosso objetivo principal é encontrar abstrações de rede eficazes (network abstractions) que permitam a construção e implantação de aplicações confiáveis, oferecendo aos nossos clientes um alto nível de segurança e observabilidade, o que significa tratar o protocolo BGP de forma abstrata.
Como sabemos, o backbone da internet foi construído sobre o BGP em conjunto com o DNS. Pesquisas sobre desenvolvimento de redes propõem diferentes abordagens para automatizar o processo de routing e reduzir sua latência. No entanto, a Azion vai além disso. Não apenas automatizamos processos, mas também pensamos em simplificá-los e utilizá-los. Com o Azion Edge Traffic Router, aproveitamos a sua capacidade de programação de rede, possibilitando uma nova abordagem na configuração de rotas e implementação de regras avançadas.
Por esse motivo, a Azion impulsiona uma nova abordagem para oferecer um serviço de roteamento no edge que possibilite o monitoramento e o gerenciamento inteligente do roteamento de dados. Isso significa que Azion Edge Traffic Router escolhe os paths (rotas) de forma dinâmica com base em medições realizadas em tempo real a respeito do desempenho das conexões de rede, garantindo que os pacotes sejam sempre entregues pelo melhor caminho, melhorando a performance e a confiabilidade da infraestrutura, reduzindo a latência da transferência de conteúdo, e habilitando o monitoramento do status da rede.
Suas decisões de roteamento são baseadas nos dados de latência, taxa de transferência e disponibilidade que são coletados de milhões de fluxos de rede a cada segundo, do Real User Monitoring (Azion Edge Pulse), bem como informações de conectividade como retransmissão de pacotes e congestionamento de rede, além de outros parâmetros como BGP, localização do usuário, parâmetros do edge node (por exemplo, CPU, IO de disco, etc.) e muito mais.
O roteamento definido por software da Azion permite uma resposta em tempo real a falhas e congestionamentos dentro de nossa rede e na internet pública. Nosso Azion Edge Traffic Router é um conceito de software baseado em um plano de controle desagregado que permite a fácil adição de novas funcionalidades, dimensionamento para lidar com grandes redes, isolamento de falhas e outros benefícios.
Além disso, para construir uma Internet mais segura e confiável, devemos nos proteger contra as muitas vulnerabilidades com as quais a infraestrutura da web está repleta. Por esse motivo, a Azion é membro fundador do programa de CDN e serviços em nuvem que faz parte da iniciativa MANRS, da Internet Society, a fim de fortalecer a segurança de roteamento na internet. Dessa forma e além de nossos diversos procedimentos de segurança, buscamos evitar a disseminação de informações de roteamento incorretas, tráfego de endereços IP de origem ilegítima por meio de ações específicas e outras interrupções comuns decorrentes do erro humano.
A Azion é uma plataforma de edge full-stack que simplifica e agiliza o modo como você cria aplicações. Construímos uma solução de multicamadas que mantém os sites em funcionamento e é capaz de balancear a carga e otimizar o tráfego para garantir a disponibilidade. Aproveite as vantagens de nossos mais de 100 pontos de presença globais e use a Azion para orquestrar sua implantação em multi-cloud, no local ou em dispositivos remotos.
Quer experimentar nossa suíte completa de produtos? Você pode criar uma conta grátis e obter US$ 300,00 em crédito ou entrar em contato com nossos especialistas para iniciar sua transformação digital e migrar para o edge.
Na Azion, estamos contratando! Se deseja trabalhar com estas tecnologias e construir o futuro da computação conosco, confira todas as vagas disponíveis na nossa seção de Carreiras.
Referências
- Butler, K., Farley, T. R., McDaniel, P., & Rexford, J. (2009). A survey of BGP security issues and solutions. Proceedings of the IEEE, 98(1), 100-122.
- CIDR report, 2021.
- Comer, D., & Rastegarnia, A. (2019). Toward Disaggregating the SDN Control Plane. IEEE Communications Magazine, 57(10), 70-75.