CGNAT e os desafios para a Segurança Cibernética

CGNAT (NAT444), o que é?

No CGNAT (Carrier-grade NAT), um grande número de usuários acessam à Internet por meio de um pequeno número de endereços IPv4 públicos. Como no NAT tradicional (NAT44), o usuário final recebe um endereço não roteável da série privada definida pela RFC 1918. Nesse cenário, o NAT tradicional faz o enlace com a rede pública, isto é, a Internet. 

No CGNAT, há mais uma camada de NAT. Trata-se de uma rede intermediária operada no nível do provedor de acesso. Na RFC 6598, A IANA lançou o bloco de endereços 100.64.0.0/10 especificamente para tornar isso possível. Esse bloco pode ser usado por todos os provedores de acesso e, portanto, é exclusivo para roteamento local do ISP. Devido ao uso dessa camada adicional de NAT44, o CGNAT recebeu o nome técnico de NAT444. 

Estou usando CGNAT?

Considerando a larga adoção do CGNAT no Brasil, é provável que você esteja debaixo de um CGNAT. Para confirmar isso, entre nas configurações do seu roteador ou, com o wifi desligado, veja o endereço ip obtido por seu celular. Essa informação fica no Status do Android.

Se o IP pertencer ao bloco 100.64.0.0/10, então bingo !

Endereço IPv4 do dispositivo pertence ao bloco reservado ao CGNAT.

Todavia, seu IP público será outro, exatamente por causa do NAT444 no meio do caminho. Confira aqui !

CGNAT como solução paliativa contra a exaustão de endereços IPv4

exaustão dos endereços IPv4 na IANA e nos RIRs ocorreu respectivamente entre 2011 e 2014, o que forçou a adoção em larga escala de tecnologias de transição e de compatibilização com o uso simultâneo de IPv4 e IPv6. As operadoras de telecom e os provedores de serviço tem lançado mão do CGNAT como forma de mitigar a demanda de IPv4 acima da oferta de endereços. Essa solução é mais recorrente em alocação de endereços IPv4 para dispositivos móveis e para clientes residenciais de banda larga, onde a demanda por endereços é grande. O advento, cada vez maior, de dispositivos IoT (Internet das Coisas) também aceleram a implantação do CGNAT, além de forçar um maior número de usuários compartilhando um mesmo endereço IP público. 

Exaustão do IPv4 na linha do tempo.

CGNAT vs comunicação fim-a-fim ou P2P

Apesar de diversas implementações paliativas das soluções de CGNAT, muitos protocolos e aplicações não funcionam sem a comunicação fim-a-fim, o que gera transtornos para os usuários que não possuem o dual stack IPv4 e IPv6 em pleno funcionamento em todos os casos. É sobretudo por causa dessas limitações que a implementação do CGNAT tem sido restrita a redes de dispositivos móveis e de banda larga doméstica, pois, em ambiente de servidores, é requisito que possa aceitar requisições originadas na Internet pelos clientes.

O CGNAT gera uma relação de 1 endereço para dezenas ou mesmo centenas de dispositivos. Isso quebra o princípio de transporte fim-a-fim na comunicação entre cliente e servidor, pois os dispositivos estarão em uma rede privada atrás de um perímetro criado pelo CGNAT, impedindo a comunicação IPv4 com esses dispositivos a partir de uma requisição originada na Internet. Consequência da adoção do CGNAT é a diminuição da quantidade de dispositivos acessíveis a partir de requisições originadas na Internet, ainda que o total de dispositivos conectados tenha aumentado.

Na prática, essa é a razão pela qual não é mais possível que clientes domésticos que estão debaixo de CGNAT consigam acessar suas webcams em suas residências ou pequenos comércios. Também por isso não é mais possível usufruir, sem IPv6, de conexão remota com seu computador doméstico, por exemplo. 

O CGNAT basicamente quebra uma premissa fundamental, um princípio, do funcionamento do protocolo TCP/IP, que é a base de sustentação da Internet. Nesse contexto, os usuário domésticos não conseguem disponibilizar, de forma direta e sem soluções criativas como túneis SSH com port forwarding, serviços para a Internet, como web, compartilhamento de arquivos ou streaming. Não por acaso serviços como o Ngrok ou o Serveo ganharam espaço e fizeram disso um negócio.

Em defesa do CGNAT, é melhor isso do que deixar milhões de usuários sem qualquer acesso via IPv4. Muitos provedores e serviços de hospedagem ainda não dão suporte ao IPv6, razão pela qual é necessário ter um IPv4 para consumir serviços desses ISPs. 

CGNAT vs Rastreio de usuário

Antes do CGNAT era possível supor que um endereço IP estava vinculado a um único cliente. Agora um IPv4 pode ser vinculado a dezenas, até mesmo centenas de usuários. Como resultado, muitas tecnologias e abordagens baseadas em IP não funcionam mais corretamente. Além disso gera dificuldades para autoridades policiais e ferramentas de segurança.

Historicamente, a identificação, filtragem e configuração eram realizadas a partir dos endereços IP apenas, isto é, não a partir da combinação de endereço e porta. Por essa razão, o Marco Civil da Internet não obriga os provedores a guardarem a porta de origem nos logs, apenas os endereços IP. O resultado prático é que as autoridades policiias e judiciárias, por vezes, têm dificuldade em identificar criminosos por trás de endereços IPv4 específicos, pois, em alguns casos, um único endereço IPv4 é compartilhado por centenas de usuários. Como resultado, as investigações geralmente envolvem a divulgação dados de conexão de mais pessoas do que as que estão sob investigação (p.ex. todos que estavam conectados naquele período no mesmo IP, mas em diferentes portas).

Bloqueio por endereço IP

Devido ao CGNAT, o bloqueio de um único endereço IP com objetivo de limitar acesso de usuário malicioso ou dispositivo infectado pode, portanto, acarretar no bloqueio de um grande número de usuários que compartilham o mesmo endereço IP.

Por essa mesma razão, vários usuários que acessam um serviço online a partir do mesmo endereço IP compartilhado podem ser confundidos com um atacante, e, somente por isso, tenham suas requisições de acesso negadas.

Até mesmo os serviços de captchas oferecidos pelo Google ou pela Cloudflare, por exemplo, podem ser muito mais agressivos nos desafios anti-robô (CAPTCHA), pelo simples fato de um usuário estar violando os termos de serviço da aplicação, prejudicando assim todos os demais usuários do endereço IP.

Falsa segurança

A borda ou perímetro de rede gerado naturalmente pelo CGNAT criou uma falsa sensação de segurança, pois os dispositivos dentre da rede são inacessíveis para comunicações iniciadas pela Internet. Dessa forma, em regra, os hosts dentro do CGNAT podem iniciar comunicações para a Internet. Por outro lado, o inverso não é possível, onde um computador na Internet não consegue iniciar uma conexão com um host dentro da CGNAT. 

Todavia, com o IPv6 essa barreira não existe mais,  pois não há mais limitações de endereços válidos roteáveis.  Razão pela qual, para se proteger, o usuário agora deve criar intencionalmente um perímetro/borda de forma adequada, via firewall, por exemplo.

Com um endereço IPv6, é plenamente possível dar um ping a partir da internet em um dispositivo doméstico: 

Ping em dispositivo doméstico a partir do site https://www.ultratools.com/tools/ping6

Apesar de festejada e necessária, a popularização do IPv6 tem seu lado potencialmente desastroso.

O usuário doméstico padrão não possui nível conhecimento técnico para instalar e configurar um firewall em sua rede doméstica. Motivo pelo qual, cada vez mais são encontrados dispositivos IoT, notebooks, celulares e computadores domésticos – frequentemente – desatualizados. Isso permite que atores maliciosos vindos da internet possam esses dispositivos.