← Voltar ao blog

Como funciona a detecção de VPN: ASNs e listas

Como funciona a detecção de VPN: ASNs e listas

A detecção de VPN funciona decidindo se um endereço IP pertence a uma rede conhecida por retransmitir tráfego de outras pessoas, usando duas fontes principais: o Autonomous System Number (ASN) do endereço, que mostra quem opera a rede, e listas de bloqueio de endereços conhecidos de VPN, proxy e saídas Tor. Nenhuma das fontes é completa, então a detecção é uma estimativa de probabilidade, não uma prova.

O motivo de isso ser possível é que uma saída de VPN precisa estar em algum lugar. Serviços comerciais de VPN alugam servidores em data centers e anunciam espaço de endereços a partir de um punhado de redes, e esses endereços se comportam de modo diferente de uma conexão de banda larga doméstica. A detecção tenta reconhecer essa pegada.

Sinal um: atribuição por ASN

Todo endereço IP público fica dentro de um bloco anunciado por um Autonomous System, identificado por um ASN. A consulta de ASN retorna o proprietário registrado, a organização e o país para um número como AS15169, e a consulta principal de IP retorna o mesmo asn e a organização com cada endereço. Se a organização é uma empresa de hospedagem, uma plataforma de nuvem ou uma CDN, é improvável que o endereço seja de uma pessoa em casa, e o ipto expõe isso como is_datacenter. Se é um ISP de consumo, o endereço provavelmente é de uma residência ou de um assinante móvel. O contexto é abordado em o que é um ASN.

A evidência de ASN é forte para o caso comum, em que um provedor de VPN opera servidores em racks alugados, mas tem duas fraquezas. Muito tráfego que não é de VPN também vem de data centers: scripts, serviços de monitoramento, saídas corporativas legítimas e aplicativos hospedados na nuvem. E uma VPN que sai por um ISP de consumo não deixa nenhuma pegada de data center. Portanto, o ASN é uma probabilidade a priori, não uma conclusão.

Sinal dois: listas publicadas

A segunda fonte são listas de endereços já identificados como endpoints de VPN, proxies ou relays Tor. O Tor é o caso mais fácil porque a rede publica seus relays abertamente, mas as listas de saída mudam rápido, como discutido em por que uma lista estática de saídas Tor fica desatualizada. Para VPNs comerciais, as listas são montadas a partir de observação e de dados dos provedores, e precisam de atualização frequente porque os provedores trocam e adicionam servidores o tempo todo. No ipto, os feeds de VPN, Tor e abuso são atualizados a cada 6 horas e os conjuntos de dados de IP e ASN são atualizados diariamente, e os resultados aparecem como is_vpn, is_tor e is_abuser na consulta de IP. Você também pode navegar diretamente pelos feeds de ameaças subjacentes.

A evidência de lista é mais específica que a de ASN, já que um endereço em uma lista foi identificado individualmente. Mas ela fica defasada: um servidor adicionado hoje de manhã pode não estar em nenhuma lista até a próxima atualização, e as listas podem reter endereços que já foram reatribuídos a clientes comuns.

Combinando os sinais

As duas fontes se complementam. Um endereço que está em um ASN de hospedagem e em uma lista de saídas é uma VPN ou proxy com alta confiança. Um endereço que está apenas em um ASN de hospedagem merece tratamento cauteloso, mas não é automaticamente uma VPN. Um endereço que consta em uma lista mas está em um ASN de consumo pode ser uma entrada desatualizada ou uma saída residencial. Passar um endereço pelo verificador de VPN, Tor e proxy mostra quais listas corresponderam e a qual rede o endereço pertence, para que você veja a evidência, e não apenas um sim ou não.

Onde a detecção falha

Seja explícito quanto aos pontos cegos ao projetar com base no resultado:

  • Servidores novos ou rotacionados podem passar sem ser detectados até que os feeds se atualizem.
  • Proxies residenciais passam por conexões domésticas reais e parecem usuários comuns. O ipto não os detecta; veja detecção de proxies residenciais para entender por que isso é difícil.
  • IPv6: os sinalizadores de VPN, Tor e abuso atualmente cobrem intervalos IPv4, então um endereço IPv6 retorna false para eles em vez de um palpite, embora ASN, organização e localização continuem funcionando.
  • VPNs autohospedadas em um servidor pessoal na faixa de um provedor pequeno podem nunca aparecer em nenhuma lista.

Trate um resultado negativo como "não se sabe se é VPN", e não como "definitivamente direto".

Usando o resultado com bom senso

A maioria dos usuários de VPN é legítima: funcionários em túneis corporativos, viajantes, pessoas que se preocupam com privacidade. Um sinalizador funciona melhor como entrada de risco que aciona uma resposta proporcional, como uma etapa extra de verificação, uma pontuação de confiança menor ou uma revisão manual para ações de alto valor, e não como um bloqueio automático. Os padrões para isso estão em reduzindo falsos positivos na detecção de VPN, e o verificador de pontuação de fraude mostra como os sinais de IP podem ser combinados com evidências de e-mail, telefone e User-Agent em uma única pontuação de 0 a 100.

Para experimentar, chame GET https://ipto.to/v1/ip/:ip com endereços dos seus próprios logs (grátis, sem cadastro, 1.000 requisições por dia) e inspecione os sinalizadores ao lado do ASN. O esquema da resposta está na documentação da API.

Respostas diretas

A detecção de VPN verifica se um endereço IP pertence a uma rede de hospedagem ou de data center pelo seu ASN e se aparece em listas publicadas de endereços conhecidos de VPN, proxy ou saída Tor. Combinar os dois dá uma estimativa de probabilidade, não uma prova.
Servidores novos ou rotacionados podem ainda não estar em nenhuma lista, proxies residenciais parecem conexões domésticas comuns e VPNs autohospedadas em faixas pequenas podem nunca ser listadas. Um resultado negativo significa que não se sabe se o endereço é uma VPN.
Em geral não, porque muitos usuários de VPN são legítimos. Um sinalizador funciona melhor como sinal de risco que acrescenta uma etapa proporcional, como verificação extra ou revisão.
← Voltar ao blog