Na manhã de hoje recebi o alerta do serviço de monitoramento BGPMon que o bloco 1.1.1.0/24 havia sido alvo de sequestro de BGP (BGP Hijack) a partir do AS58879. Isso significa que enquanto o sequestro perdurou, o tráfego de consultas DNS que deveria ser destinado aos servidores da CloudFlare foram desviados para a empresa chinesa envolvida no incidente.

As redes que compõem a malha da internet são chamadas de Sistemas Autônomos, em inglês Autonomous System (AS). Cada AS possui um número único global de identificação. Os endereços IP são recursos de numeração sob concessão de sistemas autônomos. O seu provedor de acesso a internet é um AS e atribuiu um número IP a sua conexão. A empresa que hospeda o servidor onde está este meu blog é um AS e possui seus números de IP. Para que seu número IP consiga se comunicar com o número IP que hospeda meu blog, ambas as empresas envolvidas (seu provedor e a hospedagem do meu blog) trocaram informações através do protocolo BGP, o Border Gateway Protocol.

Já notou que ao desembarcar em um aeroporto há várias pessoas segurando placas com nomes de empresas ou pessoas? Esse recurso é muito utilizado por quem precisa buscar alguém no aeroporto que não conhece ou é incapaz de reconhecer. Os anúncios BGP funcionam de forma semelhante: sistemas autônomos levantam placas dizendo os endereços IP para os quais eles ou possuem ou foram contratados como fornecedor de link ou são capazes de enviar dados a eles. E os demais sistemas autônomos passando pela porta de desembarque leem essas placas e mandam o tráfego para o sistema autônomo que se auto-declara como responsável por aquele número IP.

Como a internet — a maior obra coletiva da humanidade — não possui exatamente um órgão central, um controle central como o sistema financeiro ou a aviação comercial internacional, as mensagens BGP auto-declaradas não são validadas. Portanto, se um provedor do interior do Brasil se declarar responsável por entregar tráfego da NASA, agência espacial estadunidense, essa mensagem não será necessariamente recusada e os demais sistemas autônomos da internet irão entregar tráfego destinado a servidores da NASA a esse provedor no Brasil. A esse tipo de incidente de segurança damos o nome de BGP Hijack (em português, sequestro de BGP) e foi o que ocorreu hoje com a CloudFlare.

O AS58879, operado pela empresa chinesa Anchnet, se declarou via BGP às 05:09:45 (UTC-3) de hoje como responsável pelo conjunto de 256 IPs compreendidos entre 1.1.1.0 até 1.1.1.255, o que é de forma abreviada repesentado como 1.1.1.0/24 de acordo com a notação CIDR. Como 1.1.1.1 está contido neste IP, durante a permanência deste anúncio BGP o tráfego de diversos sistemas autônomos na internet deixaram de ser enviados para a Anchnet. Maiores detalhes neste relatório da BGPMon.

Qualquer sistema autônomo está sujeito a este tipo de sequestro. Há nada que a CloudFlare pudesse fazer para evitá-lo. Porém, o que separa a água do vinho diante deste tipo de episódio é a contratação de uma empresa especializada em monitorar este tipo de sequestro e principalmente reagir a ele de forma a neutralizá-lo o mais rápido possível. Existem empresas brasileiras que atuam neste ramo globalmente.

Nem todo sequestro de IPs é maliciosos. Por diversas vezes ele ocorre por erro humano na configuração do roteador BGP e seu alcance/dano varia de acordo com o rigor dos filtros BGP dos fornecedores de trânsito IP (acesso à internet vendido no atacado) do sistema autônomo ofensor. Mas no caso em particular um fator que deve inspirar preocupação adicional é a atividade da Anchnet: fornecedora de servidores em nuvem sob aluguel. Como empresa apresenta o BGP como um diferencial de seu produto, existe a possibilidade de algum ofensor ter alugado um servidor nesta empresa e ter feito o anúncio BGP de forma deliberada para interceptar o tráfego, seja para analisá-lo ou até falsificar respostas das consultas de DNS, como por exemplo, redirecionando as respostas para sites falsos para roubo de senhas (phising).

Diferentemente do senso comum, utilizar estes serviços de DNS gratuitos como 1.1.1.1 (CloudFlare) ou 8.8.8.8 (Google DNS) não acelera a conexão. O efeito colateral esperado é o contrário, o de redução da performance da navegação como alerta a própria documentação oficial do Google DNS. Para melhor performance, o recomendável é o DNS resolver oferecido pelo seu provedor de acesso à internet.

Assim como dito no meu vídeo acima publicado ano passado em meu canal no YouTube e diante do episódio de hoje, reforço a minha recomendação de não se utilizar serviços de DNS gratuitos em detrimento do DNS resolver de seu provedor.