Estudo de caso de vazamento 2: vazamentos do WebRTC

[ware_item id=33][/ware_item]

Seus endereços IP públicos fazem parte da identidade de um indivíduo na Web, permitindo que sites, aplicativos e terceiros rastreiem suas atividades na Web e associem-na a esse indivíduo específico. Com uma VPN, os sites veem o endereço IP público do servidor VPN em vez do endereço do usuário, protegendo sua identidade.


No entanto, o WebRTC às vezes pode permitir que os sites vejam o endereço IP público do usuário, representando um vazamento que compromete a privacidade. Este estudo de caso do nosso Privacy Research Lab descreve como ocorrem os vazamentos do WebRTC e como testá-los usando as Ferramentas de Teste de Vazamento da ExpressVPN.

Visão geral do WebRTC

O WebRTC é um conjunto de tecnologias abertas que permite que as páginas da web forneçam comunicações ponto a ponto (P2P) por meio de um navegador da web. A maioria dos navegadores modernos agora oferece suporte total ao padrão WebRTC.

O WebRTC, entre outras coisas, oferece aos navegadores da Web a capacidade de detectar os endereços IP públicos de um usuário e também seus endereços IP locais. Essa capacidade é essencial para facilitar as comunicações P2P usando apenas navegadores da Web, sem aplicativos ou plugins adicionais.

Vazamentos no WebRTC

Vazamentos no WebRTC são uma forma de vazamento de IP. As páginas da Web podem usar APIs JavaScript WebRTC para solicitar ao navegador os endereços IP de um dispositivo. Depois de coletar esses endereços IP, eles podem enviá-los aos seus servidores e usá-los para identificar quem está acessando uma página ou serviço da Web específico..

A maioria dos aplicativos VPN efetivamente protege contra endereços IPv4 que vazam via WebRTC, no entanto, muitos aplicativos VPN tendem a ignorar os endereços IPv6 vazados da mesma maneira.

Como o WebRTC detecta endereços IP?

O WebRTC usa duas técnicas principais para determinar os endereços IP de um dispositivo: servidores STUN / TURN e Discovery de candidatos a hosts.

STUN / TURN os servidores descobrem endereços IP, verificando o endereço IP público usado para acessá-los. Geralmente, essas não são as causas de vazamentos de IP da VPN.

Host Candidate Discovery é mais problemático quando se trata de vazamentos do WebRTC. Essa funcionalidade permite que os navegadores inspecionem diretamente o sistema e as interfaces de rede e vejam quais endereços IP estão associados a eles.

Todas as interfaces de rede ativas em um dispositivo precisam de endereços IP para funcionar. Por exemplo, para uma conexão Wi-Fi ativa, haverá uma interface de rede correspondente em um dispositivo. Essa interface, por sua vez, terá um endereço IP.

O WebRTC pode revelar esses endereços IP, que normalmente não podiam ser vistos externamente ao dispositivo, para páginas da web.

Por que os vazamentos de IPv6 são problemáticos?

Os endereços IPv4 são escassos - simplesmente não há o suficiente para circular! Geralmente, os endereços IPv4 são compartilhados entre as pessoas. Para fazer isso, um sistema chamado Network Address Translation (NAT) é usado. Este sistema permite que os dispositivos atribuam endereços "IPv4 locais" às suas interfaces de rede enquanto compartilham um endereço IP público comum, geralmente via ISP. Esses endereços IP locais são usados ​​globalmente por milhões de computadores em todo o mundo e são difíceis de direcionar associados a um indivíduo específico.

O problema com o IPv6 é que os endereços não são escassos. Há um muito deles! Isso significa que geralmente são atribuídos a cada pessoa um endereço IPv6 exclusivo. Quando esse endereço IPv6 é atribuído a uma interface de rede, significa que o WebRTC pode descobrir um endereço IP que identifique quem você é, mesmo que esse endereço IP não seja normalmente visível para o mundo externo..

Que tipos de vazamentos existem?

Existem dois tipos de vazamentos do WebRTC, de gravidade diferente. De que um usuário pode estar vulnerável depende se ele concede permissões específicas relacionadas ao WebRTC a uma página da web. Nos dois casos, uma boa VPN deve proteger contra vazamentos.

Observe que os fabricantes de navegadores podem usar métodos diferentes para implementar o WebRTC; portanto, é possível que um navegador vaze e outro não, mesmo com a mesma configuração de dispositivo e provedor de VPN.

Vazamentos persistentes (não são necessárias permissões)

Por padrão, as páginas da web não recebem permissões WebRTC. No entanto, ainda é possível que as páginas acessem alguns dos endereços IP de um usuário usando as APIs WebRTC. Nessas situações, os sites podem rastrear facilmente o usuário por meio de seus endereços IP sem o conhecimento deles..

Vazamentos acionados (permissões necessárias)

As páginas da Web podem solicitar explicitamente permissões para usar a funcionalidade relacionada ao WebRTC. Essas permissões são realmente classificadas como Microfone e Câmera permissões. A razão para isso é que o WebRTC é uma tecnologia voltada para a comunicação P2P, como chamadas de voz ou videoconferência..

Quando uma dessas permissões é concedida, a página da Web obtém acesso a uma gama mais ampla de endereços IP no dispositivo, o que torna possível um vazamento. Em alguns navegadores, essas permissões persistem em todas as sessões, ou seja, se um usuário tiver dado permissões para a página da Web uma vez, a página reterá essas permissões quando o usuário retornar à página no futuro.

Observe que páginas da web individuais devem receber permissões separadamente, portanto, conceder permissões para um site não concede permissões para outro.

Embora esses vazamentos sejam menos graves do que os persistentes acima, pois exigem a concessão ativa de permissões pelo usuário, ainda os consideramos preocupantes. O WebRTC está crescendo em popularidade e os usuários podem esperar ver mais e mais sites usando a tecnologia nos próximos anos. Se uma VPN não oculta endereços IP quando um usuário concede permissões a um site, eles ficam com apenas duas opções:

  • Não use sites e serviços habilitados para WebRTC
  • Aceite os riscos de segurança e privacidade associados à exposição do endereço IP

Teste de vazamentos

Esses testes podem ser realizados em qualquer computador desktop. Ao executar testes de vazamento, recomendamos que você tenha o IPv6 disponível no seu dispositivo de teste, pois essa é a situação mais provável na qual os provedores de VPN vazam..

Teste manual

Você pode testar manualmente se há vazamentos usando nosso teste de vazamento on-line do WebRTC.

Etapas de reprodução

  • Verifique se a página de teste de vazamento está fechadas
  • Verifique se o seu aplicativo VPN está desconectado
  • Visite a página de teste de vazamento do WebRTC
  • Anote tudo público Endereços IP que você vê na saída de teste
    • Eles serão exibidos com seus Status como "vazamento potencial"
  • Feche a página de teste de vazamento
  • Conecte-se à sua VPN
  • Reabra a página de teste de vazamento do WebRTC
  • Se você vir algum dos endereços IP mencionados acima, há um vazamento

Observe que solicitamos explicitamente que você feche a página de teste de vazamento para evitar problemas de cache do navegador. Muitos navegadores armazenam em cache os IPs detectados via WebRTC, portanto, recarregar a página da Web não é uma maneira confiável de executar o teste.

Observe que esta página de teste testa apenas a classe mais grave de vazamentos, ou seja, os "vazamentos persistentes" discutidos acima. Para testar se você vaza quando as permissões são concedidas ao seu navegador, sugerimos que você use as ferramentas de teste de vazamento abaixo.

Teste usando as ferramentas de teste de vazamento ExpressVPN

As Ferramentas de Teste de Vazamento da ExpressVPN são um conjunto extensível de ferramentas Python de código aberto projetadas para testes de vazamento manuais e automatizados de aplicativos VPN. Consulte nossa introdução às ferramentas para obter instruções sobre como baixar e configurar as ferramentas.

Depois de configurar as ferramentas, verifique se você está no diretório raiz das ferramentas e execute:

./run_tests.sh -c configs / case_studies / webrtc_leaks.py

Este comando executará dois casos de teste em vários navegadores. Ambos os casos de teste são em grande parte uma automação das etapas manuais descritas acima e fazem o seguinte:

  • Verifique se o aplicativo VPN em teste está desconectado
  • Determine os endereços IPv4 e IPv6 públicos do dispositivo
  • Conecte o aplicativo VPN
  • Use uma página simplificada de teste de vazamento para reunir IPs WebRTC
  • Verifique se algum dos IPs públicos reunidos antes da conexão é visível via WebRTC após a conexão

Um teste testará vazamentos persistentes quando nenhuma permissão de navegador for concedida, o outro teste testará vazamentos quando permissões estamos concedido.

Nota: Você pode ajustar os navegadores usados ​​alterando o NAVEGADORES lista no webrtc_leaks.py Arquivo.

Estudo de caso de vazamento 2: vazamentos do WebRTC
admin Author
Sorry! The Author has not filled his profile.