2 pontos por GN⁺ 2024-12-12 | 1 comentários | Compartilhar no WhatsApp
  • A X41 avaliou o app do Mullvad VPN com um teste de intrusão white-box que incluiu acesso ao código-fonte, além de definir também um modelo de ameaças leve
  • O escopo da auditoria cobriu os códigos Android 2024.8-beta1, iOS 2024.8 e Desktop 2024.6, assumindo operação em cinco plataformas: Linux, Windows, macOS, Android e iOS
  • Nos testes, foram encontradas 6 vulnerabilidades, mas o app do Mullvad VPN demonstrou, no geral, um alto nível de segurança segundo o modelo de ameaças do relatório
  • O problema mais grave foi uma condição de corrida no manipulador de sinais e uma violação de segurança temporal que pode causar corrupção de memória, mas a gravidade diminui porque o invasor precisaria primeiro acionar o sinal por meio de outra falha
  • Algumas vulnerabilidades poderiam levar ao vazamento de informações de identificação do usuário para um invasor na rede adjacente ou a ataques de canal lateral em condições específicas, e a Mullvad VPN AB aplicou rapidamente as correções

Escopo da auditoria e características do alvo

  • A X41 realizou um teste de intrusão white-box no aplicativo VPN da Mullvad
    • Houve acesso ao código-fonte, e isso também incluiu a definição de um modelo de ameaças leve
  • O código-fonte auditado correspondia às seguintes versões
  • O app avaliado é grande e roda em 5 plataformas, o que aumenta a dificuldade da auditoria
    • As plataformas suportadas são Linux, Windows, macOS, Android e iOS
    • O Mullvad VPN vem passando por auditorias regulares, e o fato de novas vulnerabilidades terem sido encontradas em código já existente mostra que revisões contínuas de segurança seguem sendo necessárias diante da complexidade do produto
  • Em alvos mais maduros, os achados tendem a se deslocar para áreas fora do controle direto ou do foco principal da equipe de desenvolvimento do aplicativo
    • Características de funcionamento do sistema operacional
    • Interação entre diferentes camadas de rede e protocolos

Resultados encontrados e avaliação de segurança

  • Nos testes da X41, foram encontradas ao todo 6 vulnerabilidades
  • O aplicativo Mullvad VPN apresentou um alto nível de segurança segundo o modelo de ameaças do relatório
    • Padrões seguros de codificação e arquitetura
    • Auditorias regulares e testes de intrusão
    • Ambiente de execução reforçado
  • A vulnerabilidade mais grave foi uma corrupção de memória causada por condição de corrida no código do manipulador de sinais e por violação de segurança temporal
    • Uma vez acionado o código do manipulador de sinais, a exploração não parece improvável
    • Ainda assim, a gravidade geral cai porque o invasor precisaria primeiro provocar o sinal por meio de outra falha
  • Outras vulnerabilidades poderiam permitir que um invasor na rede adjacente vazasse informações de identidade do usuário ou viabilizar um ataque de canal lateral que, em certas condições, revelaria o site que o cliente está acessando no momento
    • Os ataques de canal lateral foram, em sua maioria, mitigados
    • A exceção são ataques em nível de protocolo que surgem da combinação de várias tecnologias, como NAT e variantes modernas do protocolo HTTP, algo que está fora do escopo de controle da Mullvad VPN AB
    • Usuários que precisem de mais segurança e privacidade podem considerar tecnologias de ofuscação e serviços de proxy dentro de um VPN protegido como opção
  • A Mullvad VPN AB corrigiu rapidamente os problemas encontrados, e as correções também foram auditadas como funcionando normalmente

Material público

1 comentários

 
GN⁺ 2024-12-12
Opiniões no Hacker News
  • Link direto para o relatório em PDF: https://x41-dsec.de/static/reports/X41-Mullvad-Audit-Public-...
    Os títulos dos problemas encontrados incluem falta de pilha alternativa para tratadores de sinais, uso de funções que não são seguras para assíncrono, vazamento de endereço IP virtual do dispositivo de túnel, desanonimização via NAT, desanonimização via MTU e sideloading durante a instalação.
    No geral, o conteúdo é bastante direto, e eles se apoiam bastante no DAITA (Defesa contra Análise de Tráfego por IA); ainda não entendi completamente, mas parece valer a pena ler mais: https://mullvad.net/en/vpn/daita
    • O tratamento de sinais seguro tem tantas armadilhas que talvez valha repensar a API inteira.
      Até o OpenSSH teve um problema relacionado https://blog.qualys.com/vulnerabilities-threat-research/2024..., e sem um mecanismo explícito de function coloring parece difícil criar uma boa abstração em qualquer linguagem.
      Talvez seja possível em uma linguagem puramente funcional como Haskell.
    • O artigo parece mais fácil de acompanhar: https://dl.acm.org/doi/pdf/10.1145/3603216.3624953
    • Sobre a pilha ser pequena demais: não há prova de que a alocação de 8 KB seja de fato insuficiente, e também é questionável se isso é realmente explorável.
      O uso de funções que não são seguras para assíncrono é um problema comum, mas difícil de explorar na prática; qualquer desenvolvedor que já tenha lidado com tratadores de sinais provavelmente cometeu esse erro ao menos uma vez por causa de problemas de timing extremamente difíceis de reproduzir.
      O vazamento de endereço ARP é explorável apenas na rede local, em vez de ser um problema específico da Mullvad, e os ataques de desanonimização se aplicam a todas as VPNs; dá para anonimizar mais, mas isso tem custo.
      O sideloading talvez seja o pior problema, mas não é explorável isoladamente.
  • Eu ia fazer uma breve reclamação sobre relatórios públicos de auditoria dizerem coisas como “esta empresa é muito segura, faz tudo muito bem, e esta auditoria confirmou isso”, mas isso não é um problema exclusivo da X41; é algo que quase todas as empresas de avaliação fazem, e algumas são muito piores que a X41.
    Dito isso, foi uma boa descoberta encontrar uma vulnerabilidade de corrupção de heap em um programa Rust que pode ser realmente provocada.
    Por outro lado, dar severidade alta à vulnerabilidade seguinte parece inflação de classificação, já que ela é teórica, aparentemente não tem prova de conceito e nem é corrupção de memória.
  • É um bom relatório de auditoria.
    Uma seção separada de modelo de ameaças é algo que muitas empresas de auditoria pulam em seus relatórios.
    Tenho certeza de que auditores anteriores, como Cure53, Assured e Atredis, também definiram previamente um modelo de ameaças adequado com a Mullvad, mas, se isso não estiver explicitamente escrito para o leitor, há espaço para interpretar mal os resultados.
    • Se “definiram previamente um modelo de ameaças adequado com a Mullvad”, isso não acaba tornando a auditoria sem sentido?
      Se o alvo tem voz sobre a auditoria ou sobre os métodos de ataque, é difícil que os resultados não fiquem enviesados a favor do alvo.
      Parece que a abordagem menos enviesada seria o alvo não saber absolutamente nada sobre o que o auditor fará.
      Se a Mullvad participou da metodologia ou limitou o escopo dos testes, então os resultados não têm valor de qualquer forma.
  • Link para o post no blog da Mullvad: https://mullvad.net/en/blog/the-report-for-the-2024-security...
  • Esta é uma auditoria do app Mullvad VPN, não do serviço em si.
  • A Mullvad costumava ser excelente, mas os torrents ficaram muito piores por causa do fim do encaminhamento de portas.
    O fim do suporte ao OpenVPN também não me agrada, porque tenho alguns casos de uso que precisam dele, então pretendo mudar para outro lugar.
    É uma pena, porque eles vinham fazendo um bom trabalho havia muito tempo.
    • Por qualquer critério razoável, ela ainda é excelente.
      Remover o encaminhamento de portas reduz muito os abusos que eles precisam lidar e afeta apenas uma minoria minúscula de usuários super nerds.
    • Fico curioso para saber há quanto tempo isso aconteceu.
      Uso torrents pela Mullvad há um tempo e, embora torrents com poucos seeds às vezes demorem bastante para começar, acabam baixando.
      Para mídias mais obscuras, às vezes é preciso planejar com alguns dias de antecedência.
    • Também senti falta da Mullvad por causa do fim do encaminhamento de portas, mas tive que mudar para outro provedor.
    • Não sei por que estão abandonando o OpenVPN.
      Sinceramente, acho que nem consideraria um provedor sem suporte a OpenVPN, então fico me perguntando qual é o sentido disso.
    • É uma pena que vão abandonar o OpenVPN, mas ainda resta pelo menos 1 ano.
      Por algum motivo, no meu roteador ele funciona muito melhor e de forma mais estável como VPN site a site.
  • O título ficaria mais claro como “A X41 auditou o app Mullvad VPN”.
  • Uso Mullvad VPN com WireGuard no OpenBSD (man wg).
    Funciona bem, e também é possível comprar mês a mês com Bitcoin para manter o anonimato.
    • Bitcoin não é anônimo.
      Entendi algo errado?
    • Eu pago minha VPN com um cartão de crédito no meu nome, que uso há anos.
      Não estou tentando esconder o fato de que às vezes uso VPN; o ISP vê o túnel, os sites visitados veem o IP da VPN, e no netflow ficam registrados horário, duração, volume transferido etc.
      O uso de VPN em si não é segredo.
      Acho que a maioria dos usuários de VPN é formada por pessoas comuns como eu, que querem privacidade contra empresas de publicidade online e coletoras de dados.

Não quero nem espero privacidade em relação ao provedor de VPN
Afinal, conecto-me ao serviço de VPN deles a partir do IP do ISP residencial de uma conta no meu nome
Não importa como você esconda o pagamento da VPN, eles vão saber quem você é
Técnicos, especialmente o pessoal de segurança, muitas vezes vão longe demais nesse tipo de questão e acabam sendo irrealistas, dando a impressão de se afastarem dos modelos de ameaça e casos de uso do mundo real
O texto curto de James Mickens, “This World of Ours”, trata bem desse assunto: https://www.usenix.org/system/files/1401_08-12_mickens.pdf

  • Virei fã da Mullvad quando visitei a China
    Foi o app de VPN mais estável entre os que testei, e dá para usar em até 5 dispositivos por conta
  • Mesmo comprando com BTC, no fim você não acaba se conectando com seu IP real?
  • Mesmo deixando de lado a ilusão de anonimato do BTC, fico me perguntando se isso importa
    Se, como afirmam, eles não armazenam logs, então, independentemente do que saibam sobre você, o IP sobre o qual a polícia está perguntando poderia ter sido usado por qualquer um entre milhares de clientes, então eles não poderiam entregar isso às autoridades mesmo que quisessem
    Estou deixando passar alguma coisa?
  • VPN hoje em dia é um bom negócio, mas não tenho a sensação de que tratem bem os clientes ou mostrem de forma transparente o que oferecem
    Parece haver bastante bobagem, e também uma vibe de que uma VPN “bacana” precisa vir de um país escandinavo, quando na prática a maioria não vem
    • Não entendo muito bem essa afirmação
      Na melhor das hipóteses, ela só tem relação periférica com o texto, e a formulação é vaga a ponto de soar como se a Mullvad estivesse fazendo algo ruim
      A Mullvad diz que é sediada na Suécia; você está dizendo que não é? Eles também divulgam a localização e os proprietários dos servidores
      Também oferecem bastante informação sobre por que usar ou não usar uma VPN, não registram dados dos clientes, migraram para infraestrutura somente em RAM e são baratos, com uma única mensalidade fixa
      Fico curioso para saber exatamente o que seria bobagem e o que você gostaria que fizessem de diferente
    • Não sei o que a frase “VPNs bacanas precisam vir da Escandinávia, mas a maioria não vem” quer insinuar
      Não entendo nem por que teria de ser assim, nem por que isso não seria verdade
      Para ser justo, entre as VPNs fortemente orientadas à privacidade que conheço, a única que não é escandinava é a ProtonVPN
    • Do ponto de vista do consumidor, é uma bagunça porque você precisa verificar por conta própria se até o básico está funcionando direito
      Alguns anos atrás eu usava a Nord e descobri uma falha silenciosa em que ela dizia estar conectada, mas na verdade não se conectava à VPN; quando relatei, responderam que era um problema conhecido e que eu não precisava me preocupar
      Pelo que sei, eles não publicaram nenhum aviso de segurança
    • Uso a Mullvad há cerca de 5 anos e estou satisfeito
      O fato de não gastarem rios de dinheiro em anúncios no YouTube ou em sites de afiliados é até tranquilizador
      Também prefiro que estejam em uma jurisdição que não pareça um refúgio para empresas suspeitas
      Resumindo, gosto porque parece haver menos bobagem e ela parece decente
      Não acho que conseguiria confiar na PIA ou em empresas do tipo
  • O único problema da Mullvad é que encontro muito mais captchas e bloqueios em sites do que com outras VPNs
    • YouTube e Reddit são os piores
      Tenho bastante certeza de que o bloqueio agressivo não é por causa de abuso, mas porque VPNs se tornaram um problema real para rastreamento e mineração de dados
      Muitas vezes um servidor de saída funciona em um dos dois, mas não em ambos, então suspeito que haja algum grau de coordenação no bloqueio de IPs entre YouTube e Reddit para tornar o uso de VPN incômodo e desestimulá-lo
      Atrapatlhar o pingue-pongue das redes sociais para usuários de VPN parece uma estratégia eficaz para influenciar comportamento e, como ambos são praticamente monopólios naturais, quase não há risco de perder usuários por fazerem isso
      É parecido com o modo como banners de cookies são usados de forma abusiva para mudar o sentimento das pessoas em relação às regulações de privacidade em favor da mineração de dados
      Até muitos técnicos acreditam que os banners irritantes de cookies são culpa da UE, mas, na prática, muitas vezes se trata de conformidade maliciosa, algo desnecessário ou claramente ilegal
      De todo modo, é extremamente irritante e parece uma das facetas da enshittification geral da web e da insatisfação que cresce rapidamente
    • Ultimamente, para mim, tem sido sério
      Sou tratado praticamente como uma persona non grata, e muitos captchas são simplesmente bloqueios, embora pareçam esperar treinamento gratuito