Como o Telegram do Moro pode ter sido hackeado

por | jun 19, 2019 | Cibersegurança | 0 Comentários

Há muita especulação sobre como as mensagens do Telegram do celular do Moro foram obtidas. Porém, não achei nenhuma descrição mais detalhada do cenário mais provável. Pesquisando sobre o assunto e fazendo testes no Telegram, cheguei à conclusão que tal cenário depende da seguinte particularidade do Telegram:

Todas as suas conversas do Telegram são armazenadas na nuvem (com exceção de chats secretos, que explico adiante). Ao se instalar o Telegram em um celular novo e se autenticar com um certo número de telefone, é possível ter acesso à todas as conversas do dono daquele número.

Como a autenticação do Telegram funciona

 

Ao instalar o Telegram no seu celular, ele pede para você digitar seu número de telefone. Após inseri-lo, o servidor do Telegram envia um código de 5 dígitos para aquele número através de SMS

Quando seu celular recebe o SMS, ele é lido pelo Telegram e o código é enviado para o servidor, que então tem certeza que você realmente é o dono daquele número de telefone.

Essa é a única forma de autenticação do Telegram (exceto quando a autenticação de dois fatores estiver ativada, como explico adiante). Se você consegue receber um SMS em um número de celular, você consegue entrar na conta Telegram daquele número.

Há um detalhe adicional: caso você instale o Telegram no seu PC ou em outro celular, o código será enviado para o Telegram instalado no seu celular original, como ilustrado abaixo. Mas se quiser, você pode forçar o envio do SMS.

 

Como um atacante pode se autenticar no seu Telegram

Você usou seu Telegram por meses, conversando com seus contatos e acumulando todo um histórico. Todas essas conversas estarão armazenadas nos servidores do Telegram. Mas se um atacante quer ter acesso à todas essas conversa, o que ele precisa fazer?

O atacante precisa ter acesso à sua linha de celular para receber um SMS no seu número, ou precisa obter o código de verificação enviado para o seu número.

O atacante instala o Telegram, informa o seu número de telefone, e o servidor do Telegram envia o código por SMS para o seu número de telefone. Se obter o código, o atacante terá acesso à todas suas mensagens.

Como o atacante obtém o código? Existem dois métodos mais prováveis.

SIM swap: transferindo o número para um novo chip

Funcionários de loja de telefonia conseguem transferir um número de telefone para um novo chip. Isso não é nem um pouco surpreendente: se você tiver seu celular roubado, poderá transferir sua linha para um chip novo sem muitos problemas.

Se o atacante, por exemplo, tem um contato com um funcionário de uma loja de telefonia, ele pode solicitar (ou pagar) para que o funcionário transfira seu número para um chip de posse do atacante. Assim, o ataque consiste em:

1 . O atacante transfere o seu número para um chip dele;

2. O atacante instala o Telegram em um celular com esse chip, recebe o código de autenticação e se autentica;

3. O atacante obtém acesso a todas as suas conversas.

Esse tipo de ataque é comum e já foi reportado várias vezes na mídia, embora geralmente seja usado para que o atacante se passe pela vítima para aplicar um golpe em um dos contatos dela.

A desvantagem desse ataque é que o seu celular perderá o sinal (afinal seu número foi transferido para o celular do atacante), e você poderá perceber que o ataque está ocorrendo.

O interessante é que aparentemente isso realmente aconteceu com o Moro, como noticiado. Contudo, o Intercept afirma que obteve as mensagens muito antes disso. Mas se aconteceu uma vez, pode ter acontecido outras vezes.

Engenharia social: obtendo o código de autenticação

Uma outra alternativa é o atacante instalar o Telegram, aguardar o código de autenticação ser enviado para o seu celular, e de alguma forma te convencer a mandar o código de volta para ele.

Isso pode ser feito através de “engenharia social”, ou o mau e velho golpe.

Um exemplo: logo quando o SMS é enviado, o atacante te envia um email com algo do tipo “Telegram — verificação periódica de segurança”, com um link para um formulário onde você é instruído a inserir o código que acabou de receber. Você, distraído, acredita que o email é realmente do Telegram, preenche o formulário com o código e dá OK… mas o formulário envia o código para o atacante, que consegue completar a autenticação.

O ataque poderia ter sido detectado?

No cenário do SIM swap, o celular do Moro (ou do Dallagnol) teria perdido sinal (incapaz de fazer ou receber ligações). Além disso, nos dois cenários, o Telegram do Moro teria recebido uma mensagem com o código de autenticação (como mencionado, caso você já tenha uma instalação do Telegram, o código é enviado para a instalação antiga antes de ser enviado por SMS). E quando o atacante conseguiu se autenticar, o Telegram do Moro teria recebido uma notificação que um novo login ocorreu, informando o local e IP do atacante:

Então sim, o ataque poderia ter sido detectado. Porém, se o celular perdeu sinal de madrugada, pode ter passado despercebido. Quanto aos avisos, sabe-se que avisos de segurança são ignorados 90% das vezes. Então não é improvável que Moro não tenha prestado atenção nos avisos por distração ou ignorância.

O ataque poderia ter sido evitado?

Provavelmente.

O Telegram possui o recurso de “chats secretos”. Ao se comunicar com alguém em um chat secreto, as mensagem são cifradas de forma que só o remetente consiga decifrá-las (a cifração “ponta a ponta”). Dessa forma, mesmo se quisesse, o Telegram não teria como armazenar a conversa na nuvem. Chats em grupo, porém, não suportam esse recurso (e parte das mensagens vazadas do Moro eram de grupos).

Além disso, o Telegram possui o recurso de autenticação de dois fatores. Quando você ativa esse recurso, você insere uma senha que é atrelada ao seu número de telefone. Para se instalar o Telegram em outro dispositivo, será necessário digitar essa senha. Sem ela, o atacante não conseguiria se autenticar e obter as mensagens. (Mas note que, se ele for realmente bom em engenharia social, poderia obter a senha também — no exemplo que dei anteriormente, o formulário poderia conter um campo para a senha).

O Telegram é culpado?

Sim.

Ao instalar o Telegram, não há nenhuma orientação ao usuário sobre os recursos de segurança. A grande maioria dos usuários do Telegram não faz ideia que todas as suas conversas estão sendo armazenadas nos servidores do Telegram. A maioria não sabe qual a diferença dos chats comuns e secretos.

Para efeitos de comparação, no WhatsApp, todos os chats são “secretos”. Toda a comunicação utiliza cifração ponta-a-ponta. Os servidores do WhatsApp não possuem nenhuma cópia de nenhuma conversa de seus usuários. O WhatsApp pode sofrer o mesmo ataque de SIM swap ou engenharia social (sua autenticação é praticamente idêntica à do Telegram), mas se o atacante conseguir se autenticar, ele não terá acesso às suas conversas antigas.

(O WhatsApp realiza, opcionalmente, o backup de suas conversas no Google Drive ou no iCloud; mas se o atacante quiser obtê-los, ele precisará da sua senha do Google ou da Apple.)

Dessa forma, não há motivo para o Telegram não usar somente chats secretos.

Já li diversas vezes o argumento de que é responsabilidade do usuário utilizar o Telegram corretamente. Mas como podemos ver, são muitas as vítimas das más escolhas de segurança do Telegram. Há um crescente consenso entre os especialistas na segurança da informação que o software dever se seguro por padrão e que culpar usuários é inefetivo.

Conrado Gouvêa

Conrado Gouvêa

Desenvolvedor de soluções criptográficas.

Doutor em Ciência da Computação pela Unicamp na implementação eficiente de criptografia.

0 comentários

Enviar um comentário

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

CONTACT US

CONTACT US


Rua Maria Tereza Dias da Silva, 270
Cidade Universitária, Campinas-SP - Brasil
CEP 13083-820

fale.conosco@kryptus.com
Tel/Fax +55 (19) 3112 5000

© 2019 - Kryptus | Shaping Trusted Bonds - All rights reserved. - Developed by DDID