
Getty Images
Pesquisadores acadêmicos descobriram sérias vulnerabilidades no núcleo do Threema, um mensageiro instantâneo que seu desenvolvedor com sede na Suíça diz fornece um nível de segurança e privacidade que “nenhum outro serviço de chat” pode oferecer. Apesar das reivindicações extraordinariamente fortes e das duas auditorias de segurança independentes que a Threema recebeu, os pesquisadores disseram que as falhas minam completamente as garantias de confidencialidade e autenticação que são a base de qualquer programa vendido como provedor de criptografia de ponta a ponta, normalmente abreviado como E2EE.
Threema tem mais de 10 milhões de usuários, que incluem o governo suíço, o exército suíço, o chanceler alemão Olaf Scholz e outros políticos daquele país. Os desenvolvedores do Threema o anunciam como uma alternativa mais segura ao mensageiro WhatsApp da Meta. Está entre os principais aplicativos Android para uma categoria paga na Suíça, Alemanha, Áustria, Canadá e Austrália. O aplicativo usa um protocolo de criptografia personalizado em violação das normas criptográficas estabelecidas.
As sete falhas mortais
Pesquisadores da universidade de pesquisa ETH, com sede em Zurique relatado na segunda-feira que encontraram sete vulnerabilidades no Threema que questionam seriamente o verdadeiro nível de segurança que o aplicativo ofereceu ao longo dos anos. Duas das vulnerabilidades não exigem acesso especial a um servidor ou aplicativo Threema para personificar criptograficamente um usuário. Três vulnerabilidades exigem que um invasor obtenha acesso a um servidor Threema. Os dois restantes podem ser explorados quando um invasor obtém acesso a um telefone desbloqueado, como em uma passagem de fronteira.

Paterson e outros.
“No geral, nossos ataques prejudicam seriamente as reivindicações de segurança do Threema”, escreveram os pesquisadores. “Todos os ataques podem ser mitigados, mas em alguns casos é necessária uma grande reformulação.”
As sete vulnerabilidades que os pesquisadores descobriram incluem:
- Ator externo sem acesso especial
- No caso de uma chave efêmera ser exposta pelo menos uma vez, um invasor pode personificar permanentemente o cliente para o servidor e obter todos os metadados em todas as mensagens E2EE. Esta é uma deficiência notável porque as chaves efêmeras nunca devem ser capazes de autenticar um usuário. Com o Threema, o vazamento de uma chave efêmera tem o mesmo efeito que o vazamento de uma chave de longo prazo. O gerenciamento desleixado de chaves também faz com que o Threema reutilize chaves efêmeras em locais onde nunca deveriam ser reutilizadas.
- Uma falha na forma como o protocolo cliente-para-servidor (C2S) do Threema interage com seu protocolo end-to-end (E2E) que faz com que um usuário crie um valor Threema especial conhecido como caixa de comprovante e o envie ao invasor. O invasor pode explorá-lo enganando um usuário para enviar um conjunto de caracteres (u9j6saufs’jjखԻ^rdos1כW:-́;ܡRA) para uma conta especial, mas inócua. Uma maneira possível de um invasor fazer isso é enviar spam para um grande número de usuários, informando-os para enviar a cadeia de caracteres para uma conta específica para se qualificar para um prêmio. A partir desse ponto, o invasor pode representar o cliente hackeado para o servidor.
Prolongar / Ataque 1.2 na prática: à esquerda, um par de chaves adequado codificado em base64. Os bytes de chave pública 1 a 31 , também codificados no código QR, consistem em caracteres UTF-8 imprimíveis. À direita, a conta do gateway *LYTAAAS Threema (já revogada), com a chave pública sequestrada do servidor. O usuário U enviando o conteúdo do QR para *LYTAAAS como uma mensagem permitirá que *LYTAAAS se autentique para Threema como o U.Prolongar / Uma figura mostrando a interação entre protocolos de uma sessão E2E e C2S. O invasor reivindica a chave pública do servidor e conhece um par de chaves da forma (z, Z = 0x01 ∥ σ ∥ 0x01). Eles convencem a vítima U a enviar σ para eles como uma mensagem de texto E2E (em azul, lado esquerdo). O atacante pode agora iniciar uma sessão do protocolo C2S (lado direito) onde usa o par de chaves “efêmero” (z, Z) e a caixa de comprovante correspondente EK2 (Z) (em azul) para autenticar como U para o servidor .
- Quando um invasor compromete um servidor Threema:
- Falta de proteção de integridade nos metadados da mensagem. Como resultado, um invasor pode reordenar e/ou excluir sub-repticiamente as mensagens enviadas de um cliente para outro.
- O tratamento de nonce de uso incorreto permite ataques de “repetição e reflexão”, nos quais o agente da ameaça reenvia mensagens antigas e envia a um usuário uma mensagem que o usuário enviou anteriormente para outra pessoa.
- Um bug no protocolo de desafio e resposta usado para que um cliente se autentique no servidor durante o registro. Durante o processo, o cliente prova a posse de sua chave privada criptografando uma mensagem do servidor que é criptografada com uma chave pública do servidor. Um servidor comprometido pode explorar esse design para criar “kompromat” ou mensagens potencialmente incriminatórias que podem ser entregues a qualquer momento posterior a um usuário-alvo. Threema corrigiu esta vulnerabilidade em dezembro de 2021, quando um pesquisador separado o avistou.
- Quando um invasor obtém acesso a um telefone desbloqueado executando o Threema:
- Um recurso que permite aos usuários exportar sua chave privada de um dispositivo para outro. Decisões de design ruins tornam trivial para um invasor usar a chave para clonar uma conta do Threema e acessar todas as mensagens futuras. Combinado com um servidor Threema comprometido, o adversário também pode obter todas as mensagens enviadas anteriormente.
- A compactação de mensagem que ocorre antes da criptografia quando o Threema cria um backup, combinada com a capacidade de um invasor usar um recurso de apelido para injetar cadeias de caracteres escolhidas no backup. Isso permite que um invasor mais sofisticado observe o tamanho do arquivo de backup em várias iterações e, eventualmente, recupere a chave privada do usuário.
