- Atualmente há uma ação coletiva em andamento contra a Meta e, segundo documentos judiciais, a empresa pode ter violado a Wiretap Act.
- Este post se baseia em documentos judiciais e em uma análise de engenharia reversa do app Onavo Protect.
- O Facebook usou um ataque MITM para interceptar o tráfego HTTPS criptografado dos usuários, chamando isso de "ssl bump".
Resumo técnico
- O app Android Onavo Protect continha código que induzia os usuários a instalar um certificado CA emitido pelo "Facebook Research".
- Esse certificado era necessário para que o Facebook descriptografasse o tráfego TLS.
- O app distribuído em 2016 incluía o certificado Facebook Research CA, e alguns deles eram válidos até 2027.
- Com o lançamento de novas versões do Android, esse método deixou de ser utilizável.
- O domínio de analytics do app Snapchat não usava certificate pinning, o que possibilitava o ataque MITM.
- Além das estatísticas de uso do app, havia funcionalidades para coletar dados sensíveis, como IMSI.
Como funcionava
- Um certificado confiável era instalado no dispositivo, todo o tráfego era enviado para a infraestrutura do Facebook por meio de uma VPN e, em seguida, descriptografado com o proxy de cache Squid.
- Tráfego dos domínios de Snapchat, Amazon e YouTube era interceptado.
- Com o tempo, a taxa de sucesso dessa estratégia caiu devido ao reforço de segurança no Android.
- O Facebook considerou a API de acessibilidade como alternativa.
Motivação
- Mark Zuckerberg mencionou a necessidade de analytics confiáveis sobre o Snapchat.
- Havia a intenção de levar a outras apps, por meio do app VPN Onavo Protect, a tecnologia de interceptar o tráfego de domínios específicos.
- O Facebook adquiriu a Onavo em 2013 por cerca de US$ 120 milhões e buscou aproveitar bem essa tecnologia.
Análise técnica
- O motivo de confiarmos em sites ou servidores remotos via HTTPS/TLS é a existência de certificados públicos armazenados no trust store do dispositivo.
- Se um certificado autoassinado for adicionado ao trust store, torna-se possível interceptar o tráfego TLS criptografado.
- A partir do Android 11, os certificados adicionados pelo usuário passaram a não ser confiados pela maioria dos apps.
- O app Snapchat não usava certificate pinning para seu domínio de analytics.
Conclusão
- O fato de o Facebook ter descriptografado tráfego HTTPS sem o consentimento dos usuários pode violar normas éticas e representar um problema legal.
- Desde o Android 7, os apps foram alterados para não confiar em certificados do armazenamento do usuário.
- O Facebook tentou coletar dados sensíveis como IMSI.
Resumo do GN⁺
- Este artigo explica em detalhes o método técnico usado pelo Facebook para interceptar o tráfego de concorrentes.
- Com o reforço de segurança do Android, esses métodos não são mais eficazes.
- O possível abuso da API de acessibilidade pelo Facebook levanta questões éticas.
- Entre projetos semelhantes, há ferramentas de análise de tráfego via VPN.
1 comentários
Comentários do Hacker News
Parece que o FB pagou usuários do SC para participarem de uma "pesquisa de mercado" e instalarem um proxy
Foi muito estúpido da parte dos funcionários do FB falar publicamente sobre MITM (ataque man-in-the-middle) e ainda incentivar outras empresas a incluí-lo também
Há algum grau de escolha para o usuário, já que era preciso baixar o app Onavo
WKWebVieweSFSafariViewControllerSFSafariViewController, mas continua usandoWKWebViewWKWebView, é possível injetar JS arbitrário e rastrear o comportamento do usuárioÉ a única empresa de tecnologia sobre a qual não consigo ter uma opinião positiva
A atual ação coletiva contra a Meta inclui documentos que alegam violação da Wiretap Act
Dá a impressão de que o Facebook opera como um posto avançado da NSA
Deveria haver precedente jurídico sobre SSLbump
Um parente meu quase participou de uma pesquisa de mercado, mas desistiu
Antes de transmitir informações sensíveis pela internet, deveria haver uma troca de certificados TLS
É bem provável que agentes maliciosos como a Meta estejam usando muitos "dark patterns"