Posted: 10 Min ReadPortuguês
Original Post: English

Sym Mobile Threat: Invasores podem manipular seus arquivos de mídia do WhatsApp e Telegram

Nova pesquisa da Symantec revela uma falha de sequestro de arquivos de mídia que afeta o WhatsApp e o Telegram para Android

Arquivos de mídia do WhatsApp e do Telegram podem ser expostos e manipulados por agentes maliciosos, de acordo com pesquisa nova da equipe de Segurança de SOs Modernos da Symantec, que se concentra na proteção de endpoints e sistemas operacionais móveis. A falha de segurança, chamada “Media File Jacking” (sequestro de arquivos de mídia), afeta o WhatsApp para Android por padrão, e o Telegram para Android se certos recursos forem ativados. Ela é proveniente do lapso de tempo entre o momento em que os arquivos de mídia recebidos por meio dos aplicativos são gravados em disco e o momento em que são carregados na interface de conversa dos aplicativos para os usuários consumirem. Esse lapso de tempo crítico gera uma oportunidade para agentes maliciosos intervirem e manipularem arquivos de mídia sem o conhecimento do usuário. Se a falha de segurança for explorada, um invasor malicioso pode explorar e manipular informações confidenciais como fotos e vídeos pessoais, documentos corporativos, faturas e gravações de voz. Os invasores poderiam se aproveitar das relações de confiança entre um remetente e um destinatário ao usar esses aplicativos de mensagens instantâneas para ganho pessoal ou para criar caos.

No entanto, como já mencionamos no passado, nenhum código está imune a vulnerabilidades de segurança.

A ameaça de sequestro de arquivos de mídia é especialmente preocupante tendo em vista a percepção comum de que a nova geração de aplicativos de mensagens instantâneas é imune à manipulação de conteúdo e a riscos de privacidade graças à utilização de mecanismos de segurança como a criptografia de ponta a ponta. Os usuários geralmente confiam no fato de que aplicativos de mensagens instantâneas como WhatsApp e Telegram protegem a integridade tanto do remetente e do destinatário quanto do conteúdo da mensagem em si. Isso se contrasta com aplicativos e protocolos mais antigos como o SMS, que sabidamente são falsificados bem facilmente. No entanto, como já mencionamos no passado, nenhum código está imune a vulnerabilidades de segurança. Embora a criptografia de ponta a ponta seja um mecanismo eficiente para garantir a integridade das comunicações, ela não será suficiente se houver vulnerabilidades no nível do aplicativo no código. O que nossa pesquisa sobre o sequestro de arquivos de mídia demonstra é que os invasores podem manipular arquivos de mídia ao aproveitar falhas de lógica nos aplicativos que ocorrem antes e/ou depois que o conteúdo é criptografado para transmissão.

Analisamos o sequestro de arquivos de mídia, como essa falha pode ser explorada e seu impacto em potencial em mais detalhes abaixo.

Contexto técnico

Os aplicativos de Android podem armazenar arquivos e dados em dois locais de armazenamento: o interno e o externo. Arquivos salvos no armazenamento interno só podem ser acessados pelo próprio aplicativo e não por outros. Arquivos salvos em uma pasta púbica do armazenamento externo podem ser lidos e gravados globalmente; portanto, podem ser modificados por outros aplicativos ou usuários fora do controle do aplicativo original. De acordo com a documentação para desenvolvedores do Android, “o armazenamento interno é o ideal quando você quiser garantir que nem o usuário nem outros aplicativos possam acessar seus arquivos”. Por sua vez, “o armazenamento externo é o melhor lugar para arquivos que não requerem restrições de acesso e/ou que você queira compartilhar com outros aplicativos, ou permitir que o usuário acesse com um computador”.

Por padrão, o WhatsApp armazena arquivos de mídia recebidos por um dispositivo no armazenamento externo, no seguinte caminho: /storage/emulated/0/WhatsApp/Media/. No Telegram, se um usuário ativar o recurso “Salvar na Galeria”, assumindo que é uma ação segura e sem entender as consequências indiretas, o Telegram, de forma similar, vai armazenar arquivos em: /storage/emulated/0/Telegram/. Ambas as pastas são públicas. Os aplicativos carregam os arquivos recebidos das pastas públicas para que os usuários as vejam na interface de conversa, quando eles entrarem na conversa correspondente.

O fato de que os arquivos são gravados no armazenamento externo e carregados dele sem mecanismos de segurança adequados (veja mais informações na seção “Como os desenvolvedores de aplicativos podem se proteger da ameaça”, abaixo) permite que outros aplicativos com permissão de gravação no armazenamento externo coloquem em risco a integridade dos arquivos de mídia. A gravação no armazenamento externo (WRITE_EXTERNAL_STORAGE) é uma permissão comum solicitada por aplicativos Android; mais de um milhão de aplicativos no Google Play têm esse acesso. De fato, com base em nossos dados internos sobre aplicativos, descobrimos que, em média, quase 50% dos aplicativos de um dispositivo têm essa permissão.

Quando pesquisamos o fluxo do tratamento dos arquivos de mídia no WhatsApp e no Telegram, descobrimos que, entre o recebimento e gravação em disco dos arquivos no dispositivo (ETAPA 1) e o carregamento deles para os usuários os consumirem nos aplicativos (ETAPA 3), surge a oportunidade perfeita de exploração: um malware pode analisar instantaneamente os arquivos e manipulá-los (ou simplesmente os substituir por arquivos escolhidos pelo invasor) para algum ganho escuso (ETAPA 2).

Pense nisso como uma corrida entre o invasor e o aplicativo que carrega os arquivos. Se o invasor chegar primeiro aos arquivos – isso pode acontecer quase em tempo real se o malware monitorar as alterações nas pastas públicas – os destinatários verão os arquivos manipulados antes de sequer ver os originais. Além disso, a miniatura que aparecer na notificação que os usuários veem também exibirá a imagem ou arquivo manipulado, de forma que os destinatários não terão indicação alguma de que os arquivos foram alterados. Além disso, os dados podem ser manipulados no WhatsApp tanto ao enviar arquivos – indicando que o ataque foi lançado no dispositivo do remetente – quanto ao recebê-los – quando o ataque acontece no dispositivo do destinatário.

Como já discutimos, a permissão WRITE_EXTERNAL_STORAGE é muito comum entre aplicativos Android e, geralmente, os usuários não se incomodam em conceder a permissão como parte do processo de adoção dos aplicativos. Portanto, é possível que um usuário instale inadvertidamente o malware supracitado, ao contrário do que faria com outro aplicativo que peça permissões mais agressivas (como sensores críticos do dispositivo ou acesso a recursos); nesse caso, um usuário poderia ser mais cuidadoso antes de aceitar a instalação.

Além disso, a vulnerabilidade de sequestro de arquivos de mídia indica um problema maior: o uso inseguro de recursos de armazenamento por parte dos desenvolvedores de aplicativos. Em 2018, pesquisadores descobriram uma falha similar, relacionada à forma com que alguns aplicativos Android utilizam o armazenamento externo, abrindo a porta para a manipulação de dados por parte dos invasores. O ataque chamado Man-in-the-Disk pode ocorrer quando os desenvolvedores deixam de tomar precauções de segurança ao armazenar arquivos no armazenamento externo. Isso pode resultar na instalação silenciosa de aplicativos potencialmente maliciosos e a negação de serviço para aplicativos.

Impacto

Vamos examinar algumas situações nos quais invasores podem explorar essa vulnerabilidade para fraudar vítimas:

1. Manipulação de imagens. Nesta situação, um aplicativo aparentemente inocente, mas realmente malicioso, baixado pelo usuário pode manipular fotos pessoais quase em tempo real, sem a vítima saber. O aplicativo é executado em segundo plano e realiza um ataque de sequestro de arquivos de mídia enquanto a vítima usa o WhatsApp. Ele monitora fotos recebidas pelo aplicativo de mensagens, identifica rostos nas fotos e os substitui por outras coisas, como outros rostos ou objetos. Um usuário do WhatsApp pode enviar uma foto de família para um de seus contatos, mas o destinatário vê uma foto modificada. Embora esse ataque possa parecer trivial e meramente irritante, ele demonstra a possibilidade de manipular imagens dinamicamente. Em uma situação similar com consequências mais amplas, os arquivos de mídia de um candidato a cargo político ou um executivo de empresa poderiam ser manipulados, permitindo aos invasores extorquir ou incriminar seus alvos.

2. Manipulação de pagamentos. Em um dos ataques de sequestro de arquivos de mídia mais danosos, um agente malicioso pode manipular uma fatura enviada por um fornecedor a um cliente, para forçar um pagamento a uma conta falsa. Assim como na situação anterior, um aplicativo aparentemente legítimo, mas na verdade malicioso, procura arquivos de fatura em PDF recebidos via WhatsApp e então programaticamente troca as informações de conta bancária exibidas na fatura pelas do agente malicioso. O cliente recebe a fatura que estava esperando, mas não sabe que ela foi alterada. Até a fraude ser descoberta, o dinheiro pode estar totalmente fora de alcance. Para piorar, a falsificação de faturas pode ser distribuída de forma ampla e não direcionada, visando quaisquer faturas a serem manipuladas, afetando várias vítimas que usam aplicativos de mensagens como o WhatsApp para fazer negócios.

3. Falsificação de mensagens de áudio. Nesta situação, um invasor explora as relações de confiança entre funcionários de uma empresa. Um CEO envia ao CFO uma mensagem de áudio via WhatsApp, solicitando uma apresentação de slides atualizada para uma reunião de conselho na semana seguinte. O invasor, usando reconstrução de voz por meio de tecnologia de deep learning – algo que está se tornando cada vez mais viável hoje em dia – altera o arquivo de áudio original para comunicar ao CFO, com a própria voz do CEO, que é preciso transferir um pagamento imediatamente para uma entidade fictícia, que na verdade é o invasor. O agente malicioso não só manipula a comunicação do CEO como dá um passo além e reconstrói a voz dele, gerando uma técnica de fraude muito eficiente. A mensagem original do CEO é substituída quando chega ao celular do CFO. O que o CFO ouve, no fim das contas, é uma mensagem de áudio crível de seu chefe com a ordem de fazer um pagamento, algo que um funcionário desavisado pode facilmente ver como uma solicitação legítima.

4. Outro exemplo interessante em que podemos encontrar um ataque de sequestro de arquivos de mídia é o das fake news. No Telegram, administradores usam o conceito de “canais” para transmitir mensagens a um número ilimitado de assinantes que consomem o conteúdo publicado. Um invasor pode alterar os arquivos que aparecem no feed do canal em tempo real. Vamos considerar, por exemplo, uma emissora de notícias confiável que mantém um canal no Telegram. Os assinantes confiam no canal para obter notícias críveis. Um invasor pode comunicar mentiras no canal ao manipular os arquivos de mídia recebidos ali. O interessante é que isso acontece sem o conhecimento e consentimento nem do dono do canal, nem da vítima final. Esse exemplo ilustra como tanto o remetente quanto o destinatário podem ser prejudicados pelo ataque: os destinatários consomem fake news e a reputação ou a credibilidade do dono do canal é abalada.

Como os desenvolvedores de aplicativos podem se proteger da ameaça

Como mencionamos antes, o WhatsApp salva arquivos no armazenamento externo automaticamente, enquanto o Telegram faz isso quando o recurso “Salvar na Galeria” é ativado. No entanto, em ambos o casos, nenhum dos aplicativos implementou qualquer medida para proteger seus usuários de um ataque de sequestro de arquivos de mídia.

Para garantir que os arquivos de mídia fiquem a salvo de agentes maliciosos, recomendamos as seguintes medidas:

  • Valide a integridade dos arquivos: em um arquivo de metadados, armazene um valor de hash para cada arquivo de mídia recebido antes de gravá-lo em disco. Então, confirme que o arquivo não foi alterado (ou seja, o hash é o mesmo) antes que o arquivo de mídia seja carregado pelo aplicativo na conversa correspondente para os usuários verem. Essa etapa pode ajudar os desenvolvedores a validar que os arquivos não foram manipulados antes do carregamento. Essa abordagem faz o equilíbrio entre as necessidades de segurança (proteção contra ataques de sequestro de arquivos de mídia) e de funcionalidade (como o suporte a aplicativos de backup de terceiros) dos aplicativos de mensagens.
  • Armazenamento interno: se for possível, armazene os arquivos de mídia em uma pasta não pública, como o armazenamento interno. Alguns aplicativos de mensagens instantâneas já optaram por essa medida.
  • Criptografia: esforce-se para criptografar arquivos confidenciais, como geralmente é feito com as mensagens de texto nas soluções de mensagens modernas. Essa medida, assim como a anterior, dará aos arquivos melhor proteção contra exposição e manipulação. A desvantagem é que outros aplicativos, como os de backup de fotos, não poderão acessar facilmente esses arquivos.

Com o lançamento do Android Q, o Google planeja fazer mudanças na forma com que os aplicativos acessam arquivos no armazenamento externo do dispositivo. O armazenamento com escopo planejado para o Android é mais restrito, o que pode ajudar a combater ameaças como a falha no WhatsApp/Telegram que descobrimos. Com o armazenamento com escopo, os aplicativos terão sua própria área de armazenamento em uma pasta específica para cada um, mas não poderão acessar arquivos na partição de armazenamento inteira, a menos que o usuário conceda uma permissão explícita. Embora isso tenha potencial para melhorar a proteção da privacidade do usuário, também acarreta mudanças importantes na forma com que milhões de aplicativos utilizam o armazenamento externo. Em parte por causa desses desafios, o Google anunciou recentemente que planeja colocar a API em vigor somente em 2020, na próxima versão principal da plataforma. Mesmo nesse prazo, o impacto da mudança levará tempo para surgir, devido à fragmentação de versões do sistema operacional Android.

Processo de revelação

A Symantec notificou o Telegram e o Facebook/WhatsApp sobre a vulnerabilidade de sequestro de arquivos de mídia.

Proteção

Os mecanismos de detecção de malware da Symantec, que capacitam o Symantec Endpoint Protection Mobile (SEP Mobile) e o Norton Mobile Security, detectam aplicativos que exploram a vulnerabilidade descrita.

Sendo assim, as empresas que utilizam o SEP Mobile e os usuários do Norton Mobile Security se beneficiam da análise profunda de aplicativos e da detecção de comportamento malicioso, suspeito e indesejado que os mecanismos proporcionam e já estão protegidos contra a ameaça descrita.

Mitigação

Desativando o armazenamento de arquivos de mídia no armazenamento externo

Os usuários dos aplicativos de mensagens podem mitigar o risco de sequestro de arquivos de mídia desativando o recurso que salva os arquivos no armazenamento eterno. Mostramos abaixo como fazer isso no WhatsApp e no Telegram.

WhatsApp: Configurações -> Conversas -> Visibilidade de mídia

Telegram: Configurações -> Configurações de Chats -> Salvar na Galeria

About the Author

Yair Amit

VP & CTO, Modern OS Security

He leads the company’s research, vision and R&D center for securing iOS & Android devices, also envisioning the security model of future desktop operating systems. Working in the security industry for the past 15 years, his work has yielded dozens of patents.

About the Author

Alon Gat

Software Engineer

Alon is a Software Engineer at Symantec’s Modern OS Security team, where he leads backend development projects. He has over 10 years of development and architecture experience, with a focus on cyber security. Alon also enjoys coding with his new-born son.