← Voltar ao blog

Sequestro de ASN: por que a geolocalização de IP atrasa

Sequestro de ASN: por que a geolocalização de IP atrasa

O sequestro de ASN, mais precisamente o sequestro de rotas BGP, ocorre quando uma rede anuncia prefixos IP que não está autorizada a originar, ou os anuncia de modo que outras redes enviem tráfego em sua direção. Como os conjuntos de dados de geolocalização de IP e de ASN são construídos a partir de instantâneos periódicos, eles em geral não mostram um sequestro enquanto ele acontece.

Como funciona um sequestro de BGP

Toda rede na internet é identificada por um número de sistema autônomo (ASN) e usa o Border Gateway Protocol (BGP) para informar a seus vizinhos quais prefixos consegue alcançar. O BGP foi projetado em torno da confiança: por padrão, um vizinho que recebe um anúncio não tem nenhum meio embutido de verificar se a rede que anuncia realmente é dona do prefixo. Os roteadores então escolhem o melhor caminho com regras como o menor AS path e, acima de tudo, a correspondência do prefixo mais longo.

Essa última regra é o que atacantes e erros de configuração exploram. Se uma rede legítima anuncia uma /22 e outra anuncia uma /24 mais específica dentro dela, os roteadores que aceitam a /24 vão preferi-la, porque a rota mais específica vence. O tráfego desses 256 endereços passa a fluir para a rede errada. As variantes incluem originar o prefixo de outra pessoa diretamente, forjar parte do AS path e vazar rotas que deveriam ter permanecido internas. Muitos incidentes reais são acidentes, como um cliente que vaza uma tabela completa para um provedor upstream, mas o efeito sobre o tráfego é o mesmo.

O que acontece com o tráfego

Um atacante que atrai tráfego pode descartá-lo (um blackhole), inspecioná-lo ou retransmiti-lo ao destino real, de modo que os usuários não percebam nada além de um pequeno atraso. A criptografia limita o dano para o conteúdo protegido por TLS, embora sequestros também tenham sido usados para obter certificados interceptando o tráfego de validação de domínio, e para interceptar DNS. A duração varia de minutos a horas, e é exatamente por isso que a velocidade de detecção importa.

Por que os dados de geolocalização e de ASN ficam defasados

Os conjuntos de dados de geolocalização e de mapeamento ASN-prefixo são compilados a partir de dados de registros, instantâneos de roteamento e outras fontes, e depois publicados em versões. Eles respondem a “quem normalmente detém esta faixa”, e não a “quem a está anunciando neste minuto”. No ipto, os conjuntos de IP e ASN são atualizados diariamente e os feeds de ameaças a cada 6 horas, portanto um sequestro que dure uma hora normalmente terá começado e terminado entre duas atualizações. Durante o incidente, a consulta de um endereço afetado provavelmente ainda mostrará o proprietário legítimo, que é a resposta correta para a pergunta que o conjunto de dados foi projetado para responder.

Dois outros efeitos aumentam a defasagem. Os registros dos órgãos de registro mudam devagar, então um bloco de endereços não muda de organização por causa de um evento de roteamento. E um banco de geolocalização que infere uma cidade a partir de um prefixo não refaz essa inferência toda vez que a rota muda. Na verdade, os dados estáveis são úteis como linha de base: eles dizem quem deveria estar originando um prefixo, que é aquilo que você compara com os dados de roteamento ao vivo.

Como verificar roteamento suspeito

  • Conheça a origem esperada. A consulta de ASN mostra o proprietário registrado, a organização, o país e o número de faixas de um número de AS, e o diretório de faixas de IP permite explorar quais redes detêm um determinado bloco /8 ou /16.
  • Verifique o registro. A consulta whois de IP retorna o registro do órgão de registro via RDAP, incluindo o contato de abuso que você notificaria.
  • Valide a origem da rota. A consulta RPKI verifica ao vivo, por meio do RIPEstat, se a rota atualmente anunciada para um IP é coberta por uma Route Origin Authorization válida. O resultado informado é válido, inválido ou não coberto.

Interprete o resultado de RPKI com cuidado. Um resultado “inválido” significa que o AS de origem ou o comprimento do prefixo não corresponde ao que o proprietário autorizou, o que merece investigação. “Não coberto” significa apenas que não existe ROA, o que é comum e não prova um sequestro. O RPKI também não protege contra todos os ataques, como AS paths forjados que mantêm a origem correta. Operadores que publicam ROAs e filtram com base nelas reduzem a exposição, e serviços de monitoramento que alertam sobre origens inesperadas para os seus prefixos avisam mais rápido do que qualquer atualização de conjunto de dados.

O que isso significa para aplicações

Se a sua aplicação usa dados de ASN ou de geolocalização para decisões como pontuação de fraude ou regras por região, trate-os como contexto de mudança lenta, e não como prova de onde uma conexão realmente termina fisicamente. A consulta de IP do ipto retorna os campos asn e org, e você pode ler o formato da resposta na documentação da API. Uma mudança súbita na rede de onde um cliente conhecido se conecta é um sinal útil, mas um sequestro é apenas uma entre muitas explicações possíveis, e a maioria dessas mudanças é banal: um novo ISP, uma troca de rede móvel ou uma VPN.

Respostas diretas

O sequestro de ASN, normalmente chamado de BGP hijacking, ocorre quando uma rede anuncia prefixos IP que não lhe pertencem, ou os anuncia de forma mais específica, para que outras redes enviem tráfego a ela. Pode resultar de um ataque ou de um erro de configuração.
Os conjuntos de dados de geolocalização e de ASN são publicados como instantâneos periódicos, construídos principalmente a partir do histórico de registros e de roteamento, então uma mudança de rota de curta duração costuma acabar antes da próxima atualização. Eles descrevem quem normalmente detém uma faixa, não quem a está anunciando agora.
A validação de origem de rota RPKI compara a origem e o comprimento do prefixo anunciados com a Route Origin Authorization assinada pelo proprietário. A consulta RPKI do ipto executa essa verificação ao vivo e informa válido, inválido ou não coberto.
← Voltar ao blog