LinkedIn, Instagram Vulnerável a pré-visualização de problemas de segurança RCE

Views: 355
0 0
Read Time:8 Minute, 38 Second

Aplicativos de bate-papo populares, incluindo LINE, Slack, Twitter DMs e outros, também podem vazar dados de localização e compartilhar informações privadas com servidores de terceiros.

Visualizações de links em aplicativos de bate-papo populares no iOS e Android são uma mangueira de problemas de segurança e privacidade, descobriram pesquisadores. Em risco estão Facebook Messenger, LINE, Slack, Twitter Direct Messages, Zoom e muitos outros. No caso do Instagram e do LinkedIn, é possível até mesmo executar código remoto nos servidores das empresas através do recurso, de acordo com uma análise.

As visualizações de links são padrão na maioria dos aplicativos de bate-papo, e podem ser muito úteis. Quando um usuário envia um link através, ele torna um resumo curto e uma imagem de visualização em linha no chat, para que outros usuários não precisem clicar no link para ver o que ele aponta.

Infelizmente, há uma desvantagem. De acordo com os pesquisadores independentes Talal Haj Bakry e Tommy Mysk, o recurso pode vazar endereços IP, expor links enviados em chats criptografados de ponta a ponta e foi pego “baixando desnecessariamente gigabytes de dados silenciosamente em segundo plano”.

As questões remontam à forma como as visualizações são geradas, segundo os pesquisadores. Há três maneiras de fazer isso: o remetente pode gerá-lo; o receptor pode gerá-lo; ou o servidor pode gerá-lo. Os dois últimos são problemáticos, sendo a versão gerada pelo servidor a mais preocupante.

“Como o aplicativo sabe o que mostrar no resumo?” Bakry e Mysk explicaram. “Ele deve de alguma forma abrir automaticamente o link para saber o que está dentro. Mas isso é seguro? E se o link contiver malware? Ou se o link levar a um arquivo muito grande que você não gostaria que o aplicativo baixasse e usasse seus dados.”

Links gerados pelo remetente

Se o remetente gerar a visualização, o aplicativo irá e baixará o que está no link, criará um resumo e uma imagem de visualização do site, e enviará isso como um anexo junto com o link.

“Quando o aplicativo na extremidade receptora receber a mensagem, ele mostrará a visualização como recebeu do remetente sem ter que abrir o link”, explicaram os pesquisadores, em uma postagem nesta semana. “Dessa forma, o receptor estaria protegido contra riscos se o link for malicioso.”

iMessage, Signal (se a opção de visualização de link estiver ativada nas configurações), Viber e WhatsApp seguem essa abordagem de práticas recomendadas, observaram. Mas há uma ressalva quando se trata de Viber.

“Se você enviar um link para um arquivo grande, seu telefone tentará automaticamente baixar todo o arquivo, mesmo que sejam vários gigabytes de tamanho”, observaram os pesquisadores.

Eles acrescentaram: “também vale a pena mencionar que, embora os chats do Viber sejam criptografados de ponta a ponta, tocar em um link fará com que o aplicativo encaminhe esse link para servidores Viber para fins de proteção contra fraudes e anúncios personalizados.”

Links gerados pelo receptor

Quando o receptor gera a visualização, significa que o aplicativo abrirá qualquer link enviado a ele, automaticamente, sem necessidade de interação do usuário.

“Este é ruim”, disseram os pesquisadores, observando que o processo pode vazar dados de localização.

“Vamos explicar brevemente o que acontece quando um aplicativo abre um link”, escreveram. “Primeiro, o aplicativo tem que se conectar ao servidor que o link leva e perguntar o que está no link. Isso é referido como um pedido GET. Para que o servidor saiba para onde enviar os dados de volta, o aplicativo inclui o endereço IP do seu telefone na solicitação GET.”

Eles acrescentaram: “Se você estiver usando um aplicativo que segue essa abordagem, tudo o que um invasor teria que fazer é enviar um link para seu próprio servidor onde ele pode gravar seu endereço IP. Seu aplicativo abrirá o link sem que você toque nele, e agora o invasor saberá onde você está [até um bloco da cidade].”

Uma segunda questão é que um link pode potencialmente apontar para um grande arquivo de vídeo ou arquivo.

“Um aplicativo de buggy pode tentar baixar todo o arquivo, mesmo que sejam gigabytes de tamanho, fazendo com que ele use a bateria e o plano de dados do seu telefone”, alertaram os pesquisadores.

Links gerados por servidor

Finalmente, na terceira abordagem, o aplicativo envia o link para um servidor externo e pede que ele gere uma visualização, então o servidor enviará a visualização de volta para o remetente e o receptor.

Embora isso evite o problema de vazamento de endereços IP encontrado no cenário gerador de receptores, ele potencialmente expõe informações a terceiros, de acordo com os pesquisadores, e pode permitir a execução de código se o link aponta para um site malicioso com JavaScript.

Quanto à exposição de dados, o servidor precisará fazer uma cópia (ou pelo menos uma cópia parcial) do que está no link para gerar a visualização.

“Digamos que você estava enviando um link de Dropbox privado para alguém, e você não quer que ninguém veja o que está nele”, escreveram os pesquisadores. “A questão se torna… os servidores estão baixando arquivos inteiros, ou apenas uma pequena quantidade para mostrar a visualização? Se eles estão baixando arquivos inteiros, os servidores mantêm uma cópia, e se sim por quanto tempo? E essas cópias são armazenadas com segurança, ou as pessoas que executam os servidores podem acessar as cópias?”

Vários aplicativos usam essa abordagem para visualizar links. Mas nos testes, eles variam amplamente em termos de quantos dados os servidores baixaram, disseram os pesquisadores:

  • Discórdia: Baixa até 15 MB de qualquer tipo de arquivo.
  • Facebook Messenger: Baixa arquivos inteiros se for uma imagem ou um vídeo, até mesmo arquivos gigabytes em tamanho.
  • Google Hangouts: Baixa até 20 MB de qualquer tipo de arquivo.
  • Instagram: Assim como o Facebook Messenger, mas não se limitando a qualquer tipo de arquivo. Os servidores baixarão qualquer coisa, não importa o tamanho.
  • LINE: Baixa até 20 MB de qualquer tipo de arquivo.
  • LinkedIn: Baixa até 50 MB de qualquer tipo de arquivo.
  • Slack: Baixa até 50 MB de qualquer tipo de arquivo.
  • Twitter: Baixa até 25 MB de qualquer tipo de arquivo.
  • Zoom: Baixa até 30 MB de qualquer tipo de arquivo.

“Embora a maioria dos servidores de aplicativos que testamos tenha colocado um limite de quantos dados são baixados, mesmo um limite de 15 MB ainda cobre a maioria dos arquivos que normalmente seriam compartilhados através de um link (a maioria das fotos e documentos não excedem alguns MBs em tamanho)”, observaram os pesquisadores. “Então, se esses servidores mantiver cópias, seria um pesadelo de privacidade se houvesse uma violação de dados desses servidores.”

O problema é particularmente preocupante para os usuários de LINE, de acordo com Bakry e Mysk, porque a LINE afirma ter criptografia de ponta a ponta onde apenas o remetente e o receptor podem ler as mensagens.

“Quando o aplicativo LINE abre uma mensagem criptografada e encontra um link, ele envia esse link para um servidor LINE para gerar a visualização”, de acordo com os pesquisadores. “Acreditamos que isso derrota o propósito da criptografia de ponta a ponta, já que os servidores LINE sabem tudo sobre os links que estão sendo enviados através do aplicativo e quem está compartilhando quais links para quem. Basicamente, se você está construindo um aplicativo criptografado de ponta a ponta, por favor, não siga [a abordagem gerada pelo servidor].”

Depois que os pesquisadores enviaram um relatório para a equipe de segurança da LINE, a empresa atualizou seu FAQ para incluir uma divulgação de que eles usam servidores externos para links de visualização, juntamente com informações sobre como desabilitá-los.

O Facebook Messenger e seu aplicativo irmão Instagram Direct Messages são os únicos nos testes que não colocam limite de quantos dados são baixados para gerar uma visualização de link. O Facebook respondeu às preocupações dos pesquisadores, dizendo que considera o recurso como planejado, mas não confirmou quanto tempo ele se mantém nos dados. O Twitter deu a mesma resposta.

O Slack, entretanto, confirmou que ele apenas armazena visualizações de link por cerca de 30 minutos, o que também é explicado em sua documentação.

Zoom disse aos pesquisadores que está analisando o problema e que está discutindo maneiras de garantir a privacidade do usuário.

Os pesquisadores também entraram em contato com Discord, Google Hangouts e LinkedIn para relatar suas descobertas, mas disseram que não receberam uma resposta desses dois.

Problemas remotos de execução de código

Quanto ao problema de execução de código, os pesquisadores postaram um vídeo com uma prova de conceito de como os hackers podem executar qualquer código JavaScript em servidores do Instagram. E no caso do LinkedIn Messages, os servidores também eram vulneráveis à execução do código JavaScript, o que lhes permitiu contornar o limite de download de 50 MB em um teste.

“Você não pode confiar no código que pode ser encontrado em todos os links aleatórios que são compartilhados em chats”, explicaram Bakry e Mysk. “Encontramos, no entanto, pelo menos dois grandes aplicativos que fizeram isso: Instagram e LinkedIn. Testamos isso enviando um link para um site em nosso servidor que continha código JavaScript que simplesmente fez uma chamada de retorno ao nosso servidor. Conseguimos confirmar que tínhamos pelo menos 20 segundos de tempo de execução nesses servidores. Pode não parecer muito, e nosso código não fez nada de ruim, mas hackers podem ser criativos.”

Nenhum deles respondeu às preocupações dos pesquisadores. Threatpost estendeu a mão para ambos perguntando sobre o assunto.

Procurando segurança

A questão da visualização de links é apenas mais uma preocupação quando se trata da segurança dos aplicativos de colaboração que se tornaram intrínsecos à realidade de trabalho de casa causada pela pandemia COVID-19.

A boa notícia é que alguns aplicativos não renderizam visualizações, como Signal (se a opção de visualização de link for desligada nas configurações), Threema, TikTok e WeChat.

“Esta é a maneira mais segura de lidar com links, já que o aplicativo não fará nada com o link, a menos que você toque especificamente nele”, observaram os pesquisadores.

No entanto, eles também alertaram que as visualizações de links são um fenômeno generalizado: “Existem muitos aplicativos de e-mail, aplicativos de negócios, aplicativos de namoro, jogos com bate-papo embutido e outros tipos de aplicativos que podem estar gerando visualizações de links incorretamente, e podem ser vulneráveis a alguns dos problemas que cobrimos.”

FONTE: THREATPOST

POSTS RELACIONADOS