Cracking o certificate pinning do Messenger da Meta no macOS
Engenheiros reversos detalham como contornaram o certificate pinning no app Messenger da Meta no macOS para interceptar seu tráfego criptografado, o que leva a uma análise mais ampla de quão eficazes realmente são essas defesas no lado do cliente. Os comentadores avaliam os trade-offs entre certificate pinning, ofuscação e verificações de integridade, observando que atacantes determinados sempre podem modificar binários, enquanto empresas usam essas técnicas principalmente para elevar a barra contra adulteração casual ou comprometimento de CA. A conversa se amplia para questões de direitos do usuário de inspecionar o tráfego do app, limites legais da engenharia reversa e quanto controle plataformas como Apple e Meta deveriam ter sobre o que roda nos dispositivos dos usuários.
Engenharia reversa do certificate pinning do Messenger
- Vários კომენტadores descrevem tentativas passadas semelhantes em outros apps (Snapchat, TikTok, Instagram) e observam que cert pinning junto com fortalecimento anti-RE pode ser muito difícil de contornar.
- Muitos destacam que inverter ramos condicionais (por exemplo, JNE/JE) e reexecutar o app é um padrão de cracking comum, de décadas atrás; o caso do Messenger é visto como um exemplo moderno.
- Alguns esperam que IA ou ferramentas automatizadas semelhantes a fuzzing ajudem a localizar esses ramos, embora outros observem que isso é basicamente um problema padrão de fuzzing/busca, e não um problema de “IA”.
Por que não usar simplesmente os clientes da web ou Android?
- Interfaces web muitas vezes usam APIs diferentes ou não têm comportamentos específicos, então não são bons substitutos quando se analisa o protocolo de um cliente desktop.
- Apps Android são mais fáceis de interceptar (e a Meta documenta como fazer isso para trabalho de bug bounty), mas a Texts.com está construindo um cliente desktop, então corresponder ao comportamento do desktop é importante.
Ofuscação, verificações de integridade e modelos de ameaça
- Vários argumentam que ofuscação pesada ou verificação de integridade em binários de cliente tem valor limitado: atacantes motivados ainda vão vencer, e isso adiciona custo, impacto de desempenho e dor de cabeça na depuração.
- O certificate pinning é apresentado como uma etapa barata para “elevar a barra” e principalmente proteção contra proxies hostis ou CAs comprometidas, não como uma medida séria anti-RE.
- Outros contrapõem que, sem verificação de integridade, contornar o pinning patchando alguns bytes parece fácil demais, embora os críticos respondam que impedir usuários de modificar o próprio software é hostil ao usuário.
Controle de plataforma e liberdade do usuário
- Alguns conectam isso ao modelo mais fechado da Apple (Secure Enclave, assinatura de código, sandboxing) como uma forma de impor confiança e integridade, o que outros descrevem como “traiçoeiro” ou antiusuário.
- Há consenso de que, uma vez que os atacantes controlam o dispositivo do cliente, a defesa perfeita é impossível; tudo o que se pode fazer é aumentar o esforço necessário.
Inspeção de tráfego, teorias da conspiração e privacidade
- Comentadores veem com bons olhos a capacidade de inspecionar o tráfego do Messenger para testar alegações como “o Facebook escuta via microfone”, embora outros observem que criptografia extra no nível da aplicação ainda poderia esconder o conteúdo.
- Várias respostas apontam que, com controle total do cliente, sempre é possível fazer hook antes da criptografia.
- Um grande subfio debate se a segmentação de anúncios aparentemente “psíquica” se deve a espionagem ou a modelos comportamentais altamente eficazes e grafos sociais (por exemplo, navegação de amigos em redes compartilhadas).
- Alguns veem essa adtech preditiva como inerentemente distópica e defendem que dados pessoais deveriam ser legalmente “tóxicos” para corporações; outros sugerem que as pessoas superestimam o quão especiais seus dados são.
Persistência de dados no iOS/macOS e controle do usuário
- Um usuário reclama que dados de rastreamento do Facebook persistem mesmo após apagar o app no iOS.
- Outros explicam que apps podem armazenar itens no Keychain vinculados ao desenvolvedor, invisíveis aos usuários; no iOS, remover isso normalmente exige apagar o telefone sem restaurar, fazer jailbreak ou ter lógica de exclusão fornecida pelo app.
Considerações legais
- Algumas postagens questionam se contornar o cert pinning viola as regras anti-circunvenção do DMCA.
- As respostas citam exceções dos EUA para pesquisa de segurança de boa-fé e engenharia reversa para interoperabilidade, mas observam que EULAs e algum entendimento jurídico podem complicar as coisas.
Ferramentas e técnicas alternativas
- As ferramentas mencionadas incluem Proxyman para interceptação, Frida para hooks nativos, tracing de TLS baseado em eBPF e SSLKEYLOGFILE para registro de chaves TLS.
- Alguns observam que, em vez de quebrar o pinning, fazer hook nas bibliotecas TLS (por exemplo, via eBPF ou Frida) pode capturar plaintext antes da criptografia, embora fluxos de trabalho baseados em proxy continuem muito convenientes.