3 pontos por GN⁺ 2024-05-07 | 1 comentários | Compartilhar no WhatsApp
  • 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

 
GN⁺ 2024-05-07
Comentário do Hacker News

Resumo:

  • Este ataque é semelhante ao ataque "Poison Tap" de Samy Kamkar em 2016. Usando um adaptador de rede USB/Thunderbolt, é possível anunciar duas rotas mais específicas e interceptar todo o tráfego com prioridade sobre as outras interfaces do sistema.
  • A manchete afirma que isso afeta todos os clientes VPN, mas muitos clientes configuram regras de firewall para bloquear tráfego com interfaces físicas. Teria sido produtivo documentar qual proporção das principais soluções de VPN pessoais/comerciais e corporativas tem esse recurso ativado por padrão.
  • Com a opção 121 do DHCP, um servidor DHCP pode definir regras de roteamento para intervalos CIDR específicos. Isso recebe prioridade sobre a regra padrão 0.0.0.0/0 por causa do prefixo mais longo.
  • Esse "ataque" é um uso inteligente da opção 121 do DHCP. Para isolar corretamente, é preciso usar roteamento baseado em políticas adequado (por exemplo, Linux network namespaces, FreeBSD vnet, OpenBSD rdomains).
  • No Linux, isso pode ser mitigado colocando a interface VPN em uma VRF. O systemd-networkd oferece suporte a isso por padrão.
  • O modelo de ameaça em que o invasor consegue se tornar o servidor DHCP da LAN é improvável, mas não impossível.
  • Uma arquitetura baseada em máquina virtual também pode resolver esse problema. O QubesOS permite configurar algo semelhante com muita facilidade.
  • Uma alternativa interessante aos network namespaces é contornar completamente a rede do kernel e usar uma pilha de rede em espaço de usuário.
  • O uso de um serviço de VPN apenas IPv4 enquanto o IPv6 permanece ativado no sistema é mais preocupante. Isso pode causar problemas graves.