História de guerra: o RPKI está funcionando conforme planejado
03/12/2024
Por Job Snijders, engenheiro de software principal
Publicado originalmente no blog de Fastly
Para ser bem direto, esta é realmente uma história sobre algo que, no final das contas, acabou não sendo um problema. No entanto, às vezes histórias chatas também merecem ser contadas. Para entender o contexto, devemos voltar a fevereiro de 2008. Naquela época, sem ter qualquer culpa, uma das plataformas de troca de vídeos mais populares do mundo sofreu uma grave interrupção que durou várias horas e afetou milhões de visualizações de vídeos. O impacto foi tão grande que até mesmo os meios de comunicação tradicionais divulgaram de forma ampla o que basicamente foi um incidente de roteamento pouco comum. Hoje em dia, ouvimos cada vez menos sobre incidentes como esses, embora a Internet seja maior do que nunca. Três semanas atrás, o Fastly foi alvo de uma tentativa de sequestro de BGP, semelhante ao que aconteceu em 2008, mas desta vez quase ninguém percebeu. E por que isso? Porque algo mudou. Neste artigo, vou aprofundar em uma das histórias de sucesso mais notáveis, mas pouco conhecidas, da Internet.
Um curso intensivo sobre como funciona o roteamento da Internet
Basicamente, a Internet é um backbone que abrange centenas de milhares de roteadores interconectados entre si, gerenciados por cerca de 85 000 organizações para fornecer dados a milhões de destinos digitais. Para estabelecer quais partes da Internet estão conectadas e aonde —quer dizer, a que direção enviar pacotes de dados para alcançar um determinado destino da Internet (um endereço IP específico) — todos esses roteadores trocam mensagens entre si usando um formato de protocolo padrão na indústria chamado BGP. A totalidade dessa troca rápida de informações de roteamento é muitas vezes chamada de sistema de roteamento global da Internet.
Um dos principais fatores para os roteadores decidirem qual dos muitos caminhos usar para enviar dados é o algoritmo de correspondência com o prefixo IP mais longo (Longest Prefix Match ou LPM). Resumindo: informações mais detalhadas sobre um destino são preferíveis a informações menos granulares. Pense no que acontece se inserirmos a rua e a cidade de destino no sistema de navegação do nosso carro e compare com o que aconteceria se inseríssemos apenas o nome da cidade. Ambas as opções vão aproximá-lo do seu destino, mas provavelmente, se fornecermos informações mais específicas, conseguiremos um caminho melhor. Em outras palavras, a Internet não funcionaria sem o LPM.
Um dos principais motivos para o incrível crescimento anual da Internet é que qualquer pessoa pode se conectar facilmente e começar a enviar e receber dados quase de imediato. Conectamos nosso roteador a roteadores vizinhos de outras organizações e depois se usa o BGP para enviar uma mensagem ao sistema de roteamento. Ao fazer isso, informamos à Internet que nossos endereços IP agora podem ser acessados por meio de um “nexthop” específico. O corolário é que a vulnerabilidade mais óbvia do sistema de roteamento é o anúncio não autorizado de rotas para endereços IP. Mais sobre esse aspecto na próxima seção!
O que aconteceu em 2008?
A operadora de telecomunicações dominante de um grande estado-nação foi instruída a censurar uma plataforma de troca de vídeos muito popular dentro de suas fronteiras. Dos vários mecanismos para bloquear o acesso a um serviço específico da Internet, o BGP é uma das formas mais simples (embora mais contundentes) de bloquear o tráfego indesejado. No curso das operações normais da rede, nem toda mensagem BGP é destinada ou esperada para ser distribuída no sistema global. Um operador de rede poderia querer que certas mensagens BGP sejam distribuídas apenas aos seus próprios roteadores para fins privados, limitando assim seu alcance ao seu próprio domínio administrativo.
Infelizmente, devido a um erro de configuração, as mensagens BGP destinadas a cumprir a ordem de censura também foram transmitidas para redes adjacentes fora do país, que por sua vez as distribuíram para suas redes adjacentes, e assim por diante. Em um piscar de olhos, roteadores do mundo todo receberam mensagens BGP indicando que um conjunto específico de endereços IP da plataforma de vídeo (lembre-se do algoritmo LPM) estava agora sendo servido pela infraestrutura no Paquistão. Como não era ali que a plataforma de vídeo estava realmente conectada, os pacotes de dados da Internet acabaram sendo descartados, causando uma interrupção global de sua presença on-line. RIPE NCC elaborou um artigo muito bom sobre os detalhes técnicos; o NY Times, CNET, Ars Technica e NBC News também cobriram o incidente.
Avancemos até 2024
Um incidente de roteamento muito semelhante aconteceu com Fastly na semana passada, mas desta vez não houve manchetes. Embora esse incidente pudesse ter afetado severamente a Fastly alguns anos atrás, desta vez o impacto foi insignificante. E como podemos explicar isso? Embora os atores e as motivações específicas sejam diferentes do famoso incidente de 2008, no fundo, os detalhes técnicos foram essencialmente os mesmos. Neste último caso, o estado titular de outra grande nação gerou mensagens BGP que sequestraram parte do espaço de endereços IP da Fastly com o propósito de interromper o tráfego da Internet. Então, o que mudou desde 2008?
O RPKI melhora a confiabilidade do sistema de roteamento
A grande diferença entre 2008 e 2024 é que hoje em dia a indústria da Internet usa um mecanismo criptograficamente verificável chamado RPKI para avaliar a credibilidade das mensagens BGP de forma totalmente automatizada. O RPKI é um banco de dados distribuído por meio do qual as redes podem publicar suas intenções de roteamento em Autorizações de Origem de Rota (ROA), permitindo assim que outras redes validem mensagens BGP nesse banco de dados usando um serviço chamado Validação de Origem de Rotas (ROV). Ao rejeitar as mensagens que não passam nesta validação, as rotas não válidas para o RPKI podem ficar fora de circulação, o que limita sua capacidade de causar interrupções.
Publicar ROA é fácil! Os cinco RIR oferecem serviços de certificação RPKI como parte de seus serviços padrão para seus membros. Como a Fastly publica os ROA de todos os seus endereços IP, os pontos de troca de tráfego e as principais operadoras como NTT, Comcast, AT&T, Cogent, Arelion e Lumen podem ignorar automaticamente as mensagens BGP problemáticas (como as que estavam sequestrando o espaço IP da Fastly neste último incidente!). Como a indústria em geral está usando RPKI, o único impacto mensurável em nossa entrega de tráfego foi em relação ao próprio disruptor; o restante do mundo permaneceu alheio a esse incidente. Um sequestro de BGP muito sério aconteceu e o Fastly se saiu muito bem. O RPKI funciona conforme o esperado.
O RPKI é uma tecnologia madura
A história do RPKI começou há duas décadas, quando a sintaxe dos certificados X.509 foi estendida para oferecer suporte à codificação de endereços IP e números de sistemas autônomos através da RFC 3779. (X.509 é a base dos mecanismos de segurança web, como o “https://” que todos conhecemos). Nos anos que se seguiram, foi desenvolvido um projeto para uma arquitetura que ordenasse o sistema de roteamento global cada vez mais complexo (RFC 6480). Mais tarde, os cinco RIR (APNIC, ARIN, RIPE NCC, LACNIC e AfriNIC) começaram a trabalhar para desenvolver sistemas que os operadores pudessem usar para configurar os ROA. Em 2018 e 2019, projetos de código aberto como rpki-client e routinator foram lançados para preencher com segurança a lacuna entre os sistemas dos RIR e os roteadores BGP. E, finalmente, no ano de 2020, houve um aumento acentuado da adopção do RPKI por parte dos principais ISP, IXP e provedores de serviços na nuvem, permitindo que o sistema RPKI fosse mais eficaz na hora de beneficiar a Internet.
Conclusão
Realizar mudanças fundamentais, como o que o RPKI fez para a Internet, é uma questão de extrema paciência e perseverança. Isso acontece porque a Internet, por natureza, não tem uma administração centralizada ou de cima para baixo. O sistema de roteamento da Internet é uma colaboração voluntária entre cerca de 100 mil organizações. A mudança vem da liderança pelo exemplo, promovendo a divulgação entre colegas e sócios de negócios, e uma abordagem de engenharia iterativa para resolver quaisquer obstáculos descobertos ao longo do caminho. Centenas de engenheiros e cientistas dedicaram centenas de anos para modificar um sistema em funcionamento, implementando o RPKI e melhorando a confiabilidade da Internet. No IETF, o trabalho para melhorar ainda mais a confiabilidade e o desempenho do RPKI continua até hoje.
Para mim, não houve nenhuma surpresa quando o Poder Executivo do Governo dos EUA reconheceu os benefícios sociais do uso do RPKI e respaldou a tecnologia para começar a abordar as vulnerabilidades inerentes ao BGP. Em última análise, o RPKI é um sistema que ajuda as redes a permanecerem em sua própria faixa, permitindo que todos circulem com segurança pela rodovia digital.
Joel Jaeggli (Fastly), Tony Tauber (Comcast) e Doug Madory (Kentik) contribuiram para este artigo.
As opiniões expressas pelos autores deste blog são próprias e não refletem necessariamente as opiniões de LACNIC.