- VPN é uma tecnologia que cria um túnel para o tráfego de rede entre o dispositivo do usuário e um servidor em outra rede. A rede virtual criada dessa forma funciona como uma rede física, sem ficar limitada pela localização geográfica.
- O cliente de VPN cria uma interface de rede virtual, criptografa/descriptografa o tráfego e depois o envia para a interface de rede física.
- As VPNs foram projetadas para serem o mais fáceis possível de usar, exigindo pouco além de fazer login e clicar em um botão.
- Como as VPNs transportam tráfego de rede de camadas mais baixas pela internet, elas na prática aumentam a superfície de ataque do host. Uma VPN encapsula o tráfego de LAN na internet, criando uma rede local (LAN) sobre a internet.
- As VPNs mitigam a superfície de ataque ampliada da LAN com controles compensatórios, como criptografia de pacotes. Mas elas não protegem o usuário contra ataques de rede local na LAN física.
DHCP e a opção DHCP 121
- DHCP é um protocolo que aloca endereços IP dinamicamente e oferece opções para ajustar remotamente a configuração de dispositivos.
- A opção DHCP 121 permite que administradores adicionem rotas estáticas à tabela de roteamento do cliente.
- Uma característica interessante da opção DHCP 121 é que o servidor DHCP não pode especificar em qual interface de rede a rota será instalada. Em vez disso, o cliente DHCP escolhe implicitamente a interface de rede usada para se comunicar com o servidor DHCP ao instalar as regras de roteamento dessa opção.
Requisitos e processo do ataque Decloaking
- O host alvo precisa aceitar uma concessão DHCP de um servidor DHCP controlado pelo atacante
- O cliente DHCP do host alvo precisa implementar a opção DHCP 121
- O atacante executa um servidor DHCP na mesma rede do usuário da VPN e se define como gateway na configuração DHCP.
- Usando a opção DHCP 121, ele configura rotas na tabela de roteamento do usuário da VPN.
- Com essas rotas, o tráfego de rede é enviado pela interface de rede que se comunica com o servidor DHCP, e não pela interface virtual da VPN.
- O tráfego é transmitido fora do túnel criptografado da VPN, mas o canal de controle da VPN permanece intacto, então a VPN continua sendo vista como conectada.
Alvos afetados
- A maioria dos sistemas operacionais que implementam clientes DHCP conforme a especificação RFC e oferecem suporte a rotas da opção DHCP 121 é afetada, incluindo Windows, Linux, iOS e MacOS. (O Android não é afetado porque não oferece suporte à opção DHCP 121)
- VPNs que dependem apenas de regras de roteamento para proteger o tráfego do host são vulneráveis.
- Se você hospeda seu próprio servidor VPN, ele pode ser vulnerável se a configuração do cliente VPN não for reforçada.
- O impacto independe do protocolo VPN subjacente (WireGuard, OpenVPN, IPsec etc.), porque o ataque reconfigura a pilha de rede do sistema operacional da qual a VPN depende.
Mitigações e limitações
- O uso de
network namespaces no Linux pode resolver completamente esse problema, mas em geral isso não é bem implementado.
- Foi observado que alguns provedores de VPN bloqueiam tráfego de entrada/saída na interface física por meio de regras de firewall, mas isso é apenas uma mitigação parcial.
- Ignorar a opção DHCP 121 também é uma mitigação possível, mas pode interromper a conectividade de rede.
- Usar hotspot ou VM pode ajudar, já que dificulta ao atacante obter acesso à rede local.
- Se a confidencialidade absoluta do tráfego for necessária, a melhor defesa é evitar o uso de redes não confiáveis.
Opinião do GN⁺
- Como as VPNs não foram projetadas para mitigar ataques de LAN na rede física, afirmações de marketing de provedores de VPN de que a VPN protege clientes em redes não confiáveis podem ser perigosas. Provedores de VPN deveriam documentar publicamente mitigações ou correções para o TunnelVision e informar os usuários.
- VPNs corporativas são frequentemente usadas em cafeterias, hotéis e aeroportos, então administradores de rede devem alertar os funcionários sobre os riscos de trabalhar nesses locais e recomendar evitá-los sempre que possível. Também devem implementar protocolos criptográficos como HTTPS em recursos internos para evitar vazamento de dados causado por usuários de VPN conectados a partir de redes não confiáveis.
- Como a maior parte do tráfego da internet já é protegida por HTTPS, mesmo que a VPN seja neutralizada, a maior parte dos dados dos usuários não ficará exposta a atacantes na rede local. Ainda assim, tráfego sensível exige cautela.
- Mantenedores de sistemas operacionais, com exceção do Linux, devem verificar se é possível adicionar ou aprimorar recursos relacionados a
network namespaces.
- Isso não viola exatamente as propriedades de segurança da tecnologia VPN em si, mas contradiz as garantias oferecidas por provedores de VPN, por isso pode ser visto como uma vulnerabilidade. Os pesquisadores estimam que essa técnica pode ter sido possível desde 2002 e decidiram divulgar os resultados para informar amplamente as partes afetadas.
1 comentários
Comentário do Hacker News
Resumo: