O WhatsApp possui uma brecha que permite ler conversas dos usuários mesmo que as mensagens estejam criptografadas, informa o jornal britânico “The Guardian”, em reportagem publicada nesta sexta-feira (13).

A falha foi descoberta por Tobias Boelter, um pesquisador da Universidade de Berkeley, na Califórnia, que chegou a comunicá-la em abril do ano passado ao Facebook, o dono do aplicativo de mensagem, que não resolveu o problema.

A vulnerabilidade decorre, diz o jornal, da forma como o WhatsApp implantou um modelo de criptografia de ponta-a-ponta.

Esse sistema gera chaves únicas de segurança para cada usuário. É com elas que as mensagens são codificadas e decodificadas. A criptografia de ponta-a-ponta, como o nome sugere, protege todo o trajeto da comunicação entre as pontas (os participantes) de uma conversa. Com ela, nenhum intermediário, nem mesmo o WhatsApp, deve ser capaz de interferir na conversa e obter o conteúdo que foi compartilhado.

Só que o WhatsApp adaptou o protocolo Signal, desenvolvido pela Open Whisper Systems, amplamente usado por outros aplicativos “seguros”, como, por exemplo, o Telegram. Essa modificação permite que o aplicativo force a troca das chaves de um usuário que não esteja conectado à internet sem que as pessoas que conversem com ele sejam avisadas. A partir daí, todas as mensagens marcadas como não entregues são criptografas com a nova chave e enviadas novamente, diz o “Guardian”.

Nova chave

É durante a nova codificação das mensagens e o reenvio que a interceptação das mensagens se torna possível, ainda de acordo com a publicação. “Se o WhatsApp for questionado por uma agência governamental para revelar um registro de mensagem, pode efetivamente garantir acesso por causa dessa mudança de chaves”, afirmou Boelter ao jornal.

As pessoas que conversem com esse usuário cuja chave foi modificada até podem ser notificados da mudança, mas apenas se tiverem acionado essa opção nas configurações do app e só depois de as mensagens terem sido reenviadas.

O protocolo Signal originalmente não permite o reenvio automático de mensagens se um usuário off-line muda sua chave enquanto algumas de suas mensagens não foram entregues ao destinatário. Além disso, o remetente é avisado da troca dos códigos de encriptação.

“Podem dizer que essa vulnerabilidade pode apenas ser explorada para espionar uma só mensagem, não conversas inteira. Isso não é verdade se você considerar que o servidor do WhatsApp pode encaminhar mensagens sem mandar a notificação de que a mensagem não foi entregue [sinalizada pelo duplo tique], o que os usuários podem não notar. Usando a retransmissão da vulnerabilidade, o servidor do WhatsApp pode mais tarde conseguir uma transcrição de toda a conversa, não apenas de uma única mensagem”, afirmou Boelter.

A adoção de criptografia ponta-a-ponta foi anunciada pelo WhatsApp no ano passado – antes disso, o app já usava um modelo mais simples de codificação de mensagens.

Questionado pelo jornal, o WhatsApp diz que o envio automático após a troca de chaves é feito para as mensagens sempre cheguem a seu destino. “Nós sabemos que as razões mais comuns para isso acontecer [troca de chaves] são porque as pessoas trocam de celulares ou reinstalam o WhatsApp. Isso ocorre porque em muitas partes do mundo, as pessoas frequentemente mudam de aparelho ou de SIM card. Nessas situações, nós queremos dar às pessoas a certeza de que as mensagens serão enviadas, não perdidas no meio do caminho”, afirmou um porta-voz do aplicativo ao jornal.

Entenda a criptografia de ponta-a-ponta

Essa solução funciona a partir da troca de chaves criptográficas, a tecnologia responsável pelo processo que embaralha e codifica cada mensagem individualmente. A vantagem desse tipo de criptografia é que o processo é invisível e não exige nenhuma ação por parte dos usuários: as chaves são recebidas e utilizadas automaticamente.

Essa troca deve, idealmente, ocorrer diretamente entre os participantes de uma conversa. Isso dá trabalho e, no mundo real, sistemas de criptografia utilizam entidades confiáveis para verificar a legitimidade das chaves.

No caso do WhatsApp, a troca é intermediada pelo aplicativo. Isso significa que uma falha de segurança no app ainda pode permitir que um espião interfira no processo de troca de chaves, violando a segurança e a privacidade da comunicação do mesmo jeito que seria possível antes do WhatsApp adotar a criptografia de ponta-a-ponta.

Teste de confidencialidade

Como a comunicação passa a depender da segurança de um intermediário, o sigilo não está mais só nas mãos dos participantes da conversa. É por isso que o WhatsApp possui um meio de conferir se a troca de chaves ocorreu de maneira correta. Ou seja: se a chave recebida por seu amigo é a mesma que ele enviou, então está tudo certo e o processo ocorreu de maneira segura.

A verificação consiste em abrir o perfil de um contato no WhatsApp e clicar em Criptografia – o item com um cadeado. Depois, basta escanear o código QR que aparecer na tela. Em caso de segurança, o código se transforma em um tique verde.

O ideal é fazer isso pessoalmente, mas é possível usar outros meios, como uma chamada em vídeo. Junto do código QR também há uma série de números que pode ser usada para comparação por outros meios, como uma chamada telefônica.

A ideia principal é que a verificação não ocorra pelo próprio WhatsApp. Quanto mais confiável e menos sujeito a interferência ou grampos for o método usado na verificação, melhor será a segurança.

Ainda há riscos?

Mesmo com todos esses processos, um ataque é teoricamente possível. Criminosos ou espiões, porém, teriam uma dificuldade considerável para intervir no processo de troca de chaves, já que ele também é protegido por chaves criptográficas do próprio aplicativo.

Ao criar um meio de checagem manual, o WhatsApp demonstra compromisso com a segurança dos usuários e busca se isentar de qualquer acusação de colaboração com a espionagem governamental, como a que foi revelada por Edward Snowden.

Por outro lado, como o WhatsApp está intermediando essa troca, os desenvolvedores do aplicativo têm acesso às chaves que forem transmitidas. Isso, no entanto, não compromete o sigilo da conversa.