Como o Facebook interceptou o tráfego de apps móveis criptografado de concorrentes
(doubleagent.net)- Documentos públicos de uma ação coletiva antitruste contra a Meta e a engenharia reversa de um APK Android arquivado do Onavo Protect revelaram a estrutura que permitia ao Facebook descriptografar, por meio de man-in-the-middle, o tráfego HTTPS de apps concorrentes
- O ponto central era fazer com que um certificado CA do Facebook Research fosse instalado no dispositivo e então encaminhar o tráfego da VPN Onavo para o
ssl bumpde um proxy transparente Squid na infraestrutura do Facebook - O Onavo Protect teve mais de 10 milhões de instalações no Android; uma versão distribuída em 2016 incluía certificados CA como assets do app, e um deles era válido até 2027
- Depois do Android 7, restrições ao fluxo de instalação de certificados e à confiança em CAs adicionadas pelo usuário reduziram a eficácia, mas foi confirmado que, na época, o
sc-analytics.appspot.comdo Snapchat não tinha certificate pinning, permitindo MITM - Após o reforço de segurança do Android e a disseminação do pinning, o Facebook chegou a considerar o uso da Accessibility API, e a configuração de permissões do Onavo também deixava aberta a possibilidade de acesso a informações sensíveis como IMSI
Estrutura do Onavo confirmada por documentos públicos e engenharia reversa do APK
- Documentos públicos da atual ação coletiva contra a Meta incluem materiais que indicam a possibilidade de o Facebook ter violado o Wiretap Act
- Segundo a explicação de um usuário do HN, o caso em si não é uma ação por wiretapping, mas uma ação antitruste sobre violação do Sherman Act; a equipe jurídica dos autores teria descoberto, por acaso, a possibilidade relacionada ao Wiretap Act durante a fase de produção de provas
- A análise se baseia em documentos judiciais públicos e na engenharia reversa de um pacote arquivado do app Android Onavo Protect
- Como as informações divulgadas são limitadas e parciais, alguns fatos podem estar imprecisos ou incompletos
- Ainda não está claro se o tráfego de todos os usuários do app foi interceptado ou se isso afetou apenas alguns usuários
Como determinados tráfegos HTTPS foram descriptografados com ssl bump
- O Facebook chamava essa técnica de
ssl bump, nome vindo do recurso de proxy transparente do Squid caching proxy - O fluxo de funcionamento era próximo da seguinte configuração
- Instalação, no dispositivo, de um certificado confiável emitido pelo Facebook Research
- Envio do tráfego do dispositivo para a infraestrutura controlada pelo Facebook por meio da VPN Onavo
- Redirecionamento do tráfego para um proxy transparente Squid
- Descriptografia do tráfego TLS de determinados domínios por meio da configuração
ssl bump
- Nos documentos judiciais, os domínios de interesse aparecem como relacionados a Snapchat, Amazon e YouTube
- Apenas com o app Onavo arquivado, é difícil confirmar se o tráfego de outros usuários foi de fato interceptado ou se apenas passou pelo proxy
Permissões e funções de coleta do app Onavo Protect
- O app Android Onavo Protect teve mais de 10 milhões de instalações e incluía código para induzir o usuário a instalar um certificado CA no repositório de confiança do usuário do dispositivo
- O app exigia várias permissões sob a justificativa de “proteção” e exibição de uso de dados
Display over other appsAccess past and deleted app usage
- O manifest do Android incluía
android.permission.PACKAGE_USAGE_STATS, permitindo coletar estatísticas de uso de outros apps e uso de rede - O esquema do banco de dados local parece armazenar dados relativamente agregados, como estatísticas de uso de apps e volume de tráfego de rede por app
- E-mails em documentos públicos incluíam a necessidade de “reliable analytics” para o Snapchat e a ideia de um “kit para iOS e Android que interceptasse o tráfego de subdomínios específicos”
Instalação de certificados CA e mudanças de segurança no Android
- O app Onavo tinha uma função que chamava
KeyChain.createInstallIntent()do Android para instalar certificados, com uma estrutura em que o usuário via um pop-up de instalação com o nome Facebook Research KeyChain.createInstallIntent()deixou de funcionar da mesma forma no Android 7 Nougat- A política de segurança do Android também mudou bastante depois disso
- Apps voltados ao Android 6.0 API level 23 ou inferior confiavam, por padrão, no repositório de CAs adicionadas pelo usuário
- A partir do Android 7, apps deixaram de confiar por padrão em CAs adicionadas pelo usuário, a menos que definissem uma configuração de segurança separada
- No Android 7, deixou de ser possível instalar certificados no repositório do sistema sem root
- O Android 11 bloqueou completamente o mecanismo pelo qual apps induziam usuários a instalar certificados, e nenhum app passou a confiar por padrão em certificados do repositório do usuário
- O método que era possível entre 2016 e 2019 hoje é tecnicamente difícil de executar da mesma forma no ambiente Android atual
Certificados do Facebook Research incluídos no app
- O APK do Onavo na versão de setembro de 2017 incluía
old_ca.cerenew_ca.cerna pastaassets - O código relacionado foi identificado na classe
ResearchCertificateManager - A diferença entre os dois certificados era o período de validade
- O primeiro certificado era válido a partir de 8 de setembro de 2016 e tinha validade de um ano
- O segundo certificado era válido de 8 de junho de 2017 a 8 de junho de 2027
- Os documentos judiciais contêm a frase de que o certificado usado para SSL bump é “gerado no servidor e enviado ao dispositivo”
- Nos apps obtidos, ainda não foi confirmada uma função concreta de adição de certificados pelo servidor após 2017, e o ponto exige investigação adicional
Domínio de analytics do Snapchat e certificate pinning
- Se o app tivesse implementado certificate pinning por completo, esse método de MITM não teria funcionado
- Entre as provas dos documentos públicos,
sc-analytics.appspot.comaparece como domínio relacionado ao Snapchat - Após decompilar uma versão antiga do app Snapchat, constatou-se que o tráfego desse domínio de analytics não tinha certificate pinning aplicado
- O Facebook tinha consciência de que o reforço da segurança do Android e a disseminação do certificate pinning reduziam a viabilidade de longo prazo do
ssl bump
Avaliação da Accessibility API e acesso a informações sensíveis
- À medida que o reforço de segurança do Android e a adoção de certificate pinning se espalhavam, o Facebook considerou usar a Accessibility API como alternativa
- O Google afirmou que recursos de acessibilidade só podem ser declarados como ferramentas de acessibilidade quando forem serviços destinados a ajudar pessoas com deficiência a usar o dispositivo ou superar dificuldades decorrentes de uma deficiência
- O uso indevido de recursos de acessibilidade do Android costuma ser associado a exemplos de apps maliciosos, como banking malware
- O app Onavo incluía a permissão
READ_PHONE_STATEno manifest e, na época, isso podia permitir obter informações sensíveis como subscriber IMSI - A possibilidade de acesso ao IMSI mostra que também é necessária verificação adicional sobre outros dados que o app Onavo pode ter coletado
Controvérsias anteriores do Onavo e diferença desta análise
- As informações relacionadas a MITM nesta análise são um assunto diferente das controvérsias sobre o Facebook Project Atlas e o Onavo conhecidas em 2019
- Em 2019, o app Onavo foi removido das lojas após uma investigação segundo a qual o Facebook pagava adolescentes para usar um app e coletava dados sobre seus hábitos de uso
- Em 2023, duas subsidiárias do Facebook receberam ordem do Tribunal Federal da Austrália para pagar multas totalizando 20 milhões de dólares australianos por conduta potencialmente enganosa sob a lei australiana do consumidor
- O foco desta análise está no fato de que, mesmo depois de o app ter sido removido, APKs arquivados permitiram confirmar a implementação técnica da época
1 comentários
Comentários do Hacker News
Para organizar exatamente qual é a questão levantada, há um detalhe que vários textos parecem omitir: pelo que entendi, o FB fez usuários do SC instalarem um proxy em troca de participar de uma pesquisa de mercado
A maioria dos textos é escrita de forma a soar como hacking, mas na prática não parece ser isso. Eu gostaria de saber mais sobre o que disseram aos participantes que eles estavam recebendo em troca, mas não me parece provável que eles não soubessem que seu comportamento estava sendo monitorado
Se uma das partes da comunicação está quebrando a criptografia com uma ferramenta fornecida por terceiros, a alegação de que isso é escuta clandestina me parece um pouco fraca. Não sou advogado, mas se isso for escuta clandestina, então eu descriptografar e analisar o tráfego de API de algum serviço com um proxy SSL local também seria escuta clandestina?
Espero que tenham sido honestos sobre o que coletavam. O artigo não mostra como era a tela de consentimento antes da instalação do proxy
Nesse caso, o app Onavo acabou removido da app store e resultou em multa
Separadamente, houve um programa em que o Facebook pagava adolescentes para instalar o Facebook Research VPN via canal de distribuição enterprise, contornando a App Store e as regras, e essa versão paga era mais invasiva
Portanto, esse caso do Onavo é completamente indefensável
https://apkpure.com/onavo-protect-from-facebook/com.onavo.sp...
https://techcrunch.com/2019/01/29/facebook-project-atlas/?re...
O post do blog também distingue a controvérsia anterior — em que, em 2023, um tribunal federal australiano mandou duas subsidiárias do Facebook pagarem um total de 20 milhões de dólares por conduta enganosa com potencial de violar a lei do consumidor australiana — da atual alegação de escuta clandestina
Quanto a “descriptografar e analisar meu tráfego com meu proxy SSL local também seria escuta clandestina?”, se você está olhando seu próprio tráfego na sua própria rede ou no seu próprio equipamento, então obviamente não
Partes dos e-mails são impressionantes em vários sentidos, especialmente por mostrarem o quão idiotas ou arrogantes as pessoas do FB eram. Falar abertamente de MITM e ainda deixar por escrito que colocaram esse kit em produtos de várias outras empresas foi realmente muito estúpido
Algo como “Zuck, tenho uma ideia sobre o que você sugeriu, vamos conversar” já seria suspeito, mas pelo menos não seria uma prova de culpa. Parece gente que nunca viu um filme ou uma reportagem sobre outras empresas que foram pegas
O verdadeiro problema é a ausência total de ética. Se ética é vista como obstáculo, parece o tipo de lugar em que você seria ridicularizado em uma sala de reunião ou demitido. A cultura corporativa parece voltada acima de tudo para o lucro, e no setor de software isso é especialmente ruim porque há gente demais que simplesmente não pensa nas implicações éticas do que faz
E isso sem nem falar do Instagram
No fim, parece que eles simplesmente pagam dinheiro demais e empregam gente demais do setor, o que reduz as críticas. Todos nós temos um amigo que trabalhou na Meta ou talvez até tenhamos nos candidatado alguma vez. Já alguém que tenha passado pela Anduril quase ninguém conhece
Sem querer minimizar, mas isso não era tão comum assim, já que ao menos exigia que o usuário baixasse o app Onavo
O que me vem mais à cabeça são dois tipos de webview no iOS que podem ser usados e não foram descontinuados:
WKWebVieweSFSafariViewController. Os dois têm usos pretendidos bem diferentesAo tocar em um link no app do Facebook, ele deveria usar
SFSafariViewController. Ele é privado porque o código do app não consegue ver o que acontece lá dentro, compartilha cookies com o Safari e foi literalmente feito para “carregar conteúdo web externo dentro do contexto deste app”Mas o FB ainda usa
WKWebView. Com ele, dá para injetar JS arbitrário na página que você quiser e rastrear tudo: navegação, recursos carregados etc. Depois deste texto e de outras revelações, dá medo imaginar o que o FB faz com esse recurso. Há uma boa chance de estarem rastreando até em qual pixel o usuário toca em sites externos. Pensar que talvez rastreiem todos os nomes de usuário e senhas digitados na webview interna parece paranoia, mas tecnicamente isso é possível. E dá mesmo para acreditar que eles não fariam isso?https://x.com/jameshartig/status/1534886418266431488
WKWebViewdava tanto poder assim ao app. Existe alguma forma de o usuário descobrir se, ao abrir uma página, ela está emWKWebViewouSFSafariViewController? Não uso FB, mas uso webviews de outros apps, e preferia que eles não pudessem fazer esse tipo de coisaO que ainda não sabemos é em que porcentagem dessas instalações o tráfego dos concorrentes do FB passou por ataque MITM
https://www.androidrank.org/application/onavo_protect_from_f...
Não sei bem por quê, mas o Facebook é a única empresa de tecnologia que simplesmente não consigo ver com bons olhos. Google, Microsoft, Apple, Nvidia, AMD, Intel etc. têm coisas de que gosto e de que não gosto; Facebook eu só não gosto
Fechei minha conta do Facebook uns 10 ou 11 anos atrás e coloquei um filtro para tirar o Facebook dos resultados de busca, e isso funciona. Quase não vejo nada relacionado ao Facebook nem no feed do Google Notícias. Ainda uso o WhatsApp, porém, porque ele é o maior app de mensagens na Ásia fora da China
Além disso, há irresponsabilidade quanto ao efeito do algoritmo em amplificar discurso de ódio. As outras empresas não têm problemas nessa escala
O marketing também é desonesto. Em praticamente toda propaganda do Quest e anúncio de recurso, usam visualizações conceituais para enganar sobre o que é possível fazer. O Mark também recorre muito a linguagem dupla ao tratar dos problemas. Isso não é exclusivo da Meta, mas, em comparação com as outras empresas listadas, ela leva a publicidade enganosa ao limite
Neste ciclo de IA, a popularidade da Meta voltou a subir graças aos pesos abertos e aos modelos que não são open source, e o Mark também tenta recriar a própria imagem com a ofensiva recente de relações públicas
Ainda assim, entre as empresas listadas, a Meta é a única que me parece culturalmente sem um núcleo moral no trabalho. Cultura vem de cima, e Zuckerberg e Thiel incutiram na forma de operar da Meta uma cultura de que “o sucesso é tudo”
As outras empresas certamente também são capitalistas, mas ao menos têm algum senso de responsabilidade pelo que produzem
Se eu mesmo estou fortalecendo o outro lado, então me opor publicamente não tem efeito nenhum
A frase “na atual ação coletiva contra a Meta, os documentos judiciais incluem a alegação de que a empresa violou o Wiretap Act” é imprecisa
Isto não é uma ação por escuta. Todos os pedidos são por violação do Sherman Act, ou seja, antitruste. Os advogados dos autores apenas encontraram por acaso, durante a fase de produção de provas, evidências de que o Facebook pode ter violado o Wiretap Act. Não há pedido relacionado a escuta; é um caso antitruste
Fico confuso e curioso se a DMCA não é forte o bastante para algo nessa escala, se é uma questão de legitimidade ativa ou de danos comprováveis, ou se os autores simplesmente esqueceram disso
Um parente meu quase entrou uma vez em uma pesquisa de mercado que era essencialmente semelhante a isso. Funcionava redirecionando todo o tráfego de internet do celular por uma VPN e proxy controlados pela empresa de pesquisa de mercado, além de instalar um certificado
Ele teria recebido uma pequena compensação e teria concordado com a instalação. Não me lembro de a empresa ter enganado explicitamente sobre o que era
Ainda assim, embora eu em geral não goste de políticas excessivamente paternalistas, questiono o quanto faz sentido o consentimento de alguém com relativamente pouco conhecimento técnico para esse tipo de coisa. Não foi enganação, mas também não explicaram de forma realmente clara e concreta o que estava acontecendo para quem não entendia do assunto
Ler isto me faz pensar que o Facebook agora tem um departamento que é basicamente uma organização de fachada da NSA
https://qz.com/1145669/googles-true-origin-partly-lies-in-ci...
Agora os carros já vêm com serviços do Google e Android embutidos no sistema de infotainment, e não há como tirar isso. O que poderia dar errado quando uma empresa de publicidade consegue ver para onde você vai e quem está no carro com você?
Ooooh, SSLbump
Imagino que já deva existir jurisprudência tratando como crime farejar tráfego de rede do lado do cliente
Provavelmente foi em algum dos vários casos envolvendo escuta de informações bancárias
É por isso que, antes de enviar informações nocivas pela internet, servidor e cliente deveriam usar mTLS, trocando certificados dos dois lados. Mas na prática, nãããão
É lamentável, mas não surpreende. É bem provável que agentes maliciosos como a Meta já tenham inserido vários dark patterns
Por exemplo, dá para imaginar riscos de vazamento por dados de sensores em que se monitora informações como acelerômetro e giroscópio para inferir conteúdo de áudio. Se os dados coletados forem retransmitidos discretamente para fora e processados, pode-se reconstruir informações sensíveis sem acessar diretamente o microfone do aparelho
Não seria nada estranho se eles fossem capazes de fazer isso
É bem provável que a Meta e outras empresas nocivas, assim como órgãos governamentais, estejam usando técnicas de escuta muito mais numerosas, piores e mais simples no mundo real