O WhatsApp tem mesmo uma falha de segurança?

word-image26

O jornal britânico “The Guardian” publicou na última semana uma matéria apontando a descoberta de uma falha no WhatsApp, que permite ler mensagens mesmo elas estando criptografadas.

A reportagem chamou a falha de “backdoor” (porta dos fundos), termo normalmente usado para vulnerabilidades propositais, criadas para permitir que alguém (governos, hackers, a própria empresa) acesse as mensagens.

Mas será que o tal “backdoor” existem mesmo? Ou seria apenas o comportamento esperado (uma característica) do aplicativo para aquela situação?

Vamos entender o problema:

Imagine que o usuário A envie uma mensagem ao usuário B criptografada com a chave B1 do usuário B (é assim que a criptografia ponta-a-ponta funciona). A mensagem do usuário A é armazenada criptografada nos servidores do WhatsApp até que o usuário B possa se conectar e receber a mensagem (essa espera pode ser de até 30 dias). Esse é o comportamento das comunicações assíncronas (onde você pode enviar uma mensagem a alguém enquanto ele está off-line).

Acontece que o usuário B trocou de smartphone e acaba de reinstalar o WhatsApp no aparelho novo. Nessa nova instalação, a chave do usuário B passa a ser B2 (e não mais B1 do aparelho antigo).

A partir dessa situação, temos alguns cenários:

Cenário 1: Falhar pela segurança. Os servidores apagam a mensagem pendente, pois ela foi criptografada pela chave B1 que não existe mais. O usuário B nunca receberá a mensagem. Se o usuário A ativou as notificações para trocas de chaves, ele será alertado que o usuário B está usando uma nova chave (B2). Assim, o usuário A saberá que o usuário B não recebeu a mensagem, e terá a opção de reenviá-la. Este cenário aumenta a segurança, mas diminui a confiabilidade na entrega das mensagens.

Cenário 2: Entregar. Os servidores dirão ao smartphone do usuário A que o usuário B tem uma nova chave (B2), e que ele deverá criptografar novamente a mensagem pendente com essa nova chave. O smartphone do usuário A fará isso e o usuário B receberá normalmente a mensagem. Se o usuário A ativou as notificações para trocas de chaves, ele será alertado de que a chave do usuário B mudou. Este cenário torna o serviço mais confiável, diminuindo as falhas na entrega das mensagens. É dessa maneira que o WhatsApp trabalha.

O problema é que o Cenário 2 abre uma questão de segurança. Mesmo que o usuário B não tenha trocado de smartphone, os servidores poderiam agir maliciosamente, fingindo uma nova chave do usuário B, mas que na verdade é uma chave que os servidores controlam. Dessa maneira, o smartphone do usuário A iria reenviar a mensagem, mas agora os servidores seriam capazes de entendê-la (mesmo elas estando criptografadas).

Pelo funcionamento de hoje, mesmo que o usuário A seja alertado da troca da chave, ele não poderia impedir a entrega, pois a mesma já teria ocorrido.

O ideal seria um Cenário 3: Antes da entrega da mensagem pendente, alertar o usuário sobre a troca da chave e perguntar se ele gostaria de reenviar a mensagem usando a nova chave ou então descartá-la antes da entrega.

É importante lembrar que somente as mensagens pendentes nos servidores do WhatsApp correm esse risco. As mensagens já entregues ficam armazenadas nos aparelhos dos usuários.

Se você quiser ativar as notificações de trocas de chaves do WhatsApp, entre em Configurações (ou Ajustes), depois Conta, depois Segurança e ative o item “Exibir Notificações de Segurança”.

Eu particularmente não acredito que esse comportamento seja uma vulnerabilidade intencional de segurança (backdoor). É muito mais uma característica de funcionamento do aplicativo.

Hoje praticamente qualquer outro programa de comunicação popular (Skype, Facebook Messenger, Allo, Hangouts, etc) pode interceptar qualquer mensagem de maneira invisível para o usuário, coisa que o WhatsApp não consegue (pelo menos com o que se sabe). Além do mais, outros aplicativos podem entregar o histórico das mensagens para autoridades mediante ordem judicial, ou serem vazadas caso seus servidores sejam invadidos por hackers, coisa que em tese no WhatsApp não é possível, já que este não armazena as mensagens depois de entregues.

Quem realmente precisa de segurança nas comunicações deve procurar aplicativos específicos para esse fim (como o Signal). Esses aplicativos optam sempre pela segurança em seu modo de funcionar, mesmo que isso os torne menos confiáveis do ponto de vista da entrega das mensagens ou na questão da facilidade de utilização. Já o WhatsApp opta pela confiabilidade da entrega das mensagens e pela transparência e facilidade de uso.

Artigos relacionados:

A briga entre a Justiça e o WhatsApp
http://www.ciberforense.com.br/a-briga-entre-a-justica-e-o-whatsapp/

Como ter acesso às conversas de WhatsApp num smartphone Android
http://www.ciberforense.com.br/como-ter-acesso-as-conversas-de-whatsapp-num-smartphone-android/

Vaine Luiz Barreira

Executivo de TI e Segurança da Informação.
Perito em Computação Forense.

LinkedIn 

Share on Facebook0Share on LinkedIn0Share on Google+0
(Visited 476 times, 1 visits today)

One comment

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *