Man-in-the-Disk: uma nova e perigosa maneira de hackear um Android

Como um aplicativo Android aparentemente inofensivo pode infectar seu smartphone utilizando armazenamento externo compartilhado.

O Android é um bom sistema operacional e seus desenvolvedores realmente se preocupam com segurança, mas com tantas versões e programas para o SO, ficar de olho em todos não é tarefa fácil. Por isso, novas formas de driblar os mecanismos de segurança integrados aparecem com bastante frequência. A maneira mais nova de hackear um Android se chama “Man-in-the-Disk”.

“Sandboxes”, a base da segurança Android

Um princípio-chave do Android é que todos os aplicativos devem ser isolados uns dos outros. Isto é alcançado por meio do uso das chamadas sandboxes. Cada app, junto com seus arquivos privados, vive em uma “sandbox” que outros não podem acessar.

A ideia é evitar que um programa malicioso, mesmo que se infiltre em seu dispositivo Android, roube dados que outros aplicativos bons armazenam, como nome de usuário e senha do seu app bancário ou histórico de mensagens. Não é surpresa que hackers estejam trabalhando duro para encontrar novas maneiras de desviar do mecanismo, buscando algo chamado de “fuga da sandbox”. E são bem-sucedidos de tempos em tempos.

Por exemplo, a apresentação de Slava Makkaveev na DEF CON 26 teve como o foco um aplicativo sem permissões particularmente perigosas ou suspeitas escapando da sandbox. Ele apelidou o método de “Man-in-the-Disk“, em função do reconhecido tipo de ataque Man-in-the-Middle.

Como funciona o ataque Man-in-the-Disk?

Além das áreas de sandbox que armazenam arquivos de programas, o Android tem um armazenamento externo compartilhado, chamado apropriadamente de “Armazenamento Externo”. Um aplicativo precisa pedir permissão ao usuário para acessá-lo: “Acessar fotografias, mídias e arquivos do seu dispositivo” (isto se trata efetivamente de duas permissões – LER_ARMAZENAMENTO_EXTERNO e ESCREVER_ARMAZENAMENTO_EXTERNO). Esses privilégios normalmente não são considerados perigosos, e quase todos os aplicativos os pedem.

Aplicativos usam armazenamento externo para muitas coisas úteis, como substituir ou transferir arquivos entre um smartphone e um computador. Contudo, o armazenamento externo é também frequentemente usado para armazenar temporariamente dados baixados da Internet. Primeiro, esses dados são inseridos na parte compartilhada do disco, e só depois transferidos para uma área isolada que apenas aplicativos específicos podem acessar.

Por exemplo, um aplicativo pode usar temporariamente a área para armazenar módulos adicionais que instala para expandir suas funcionalidades, conteúdos adicionais como dicionários ou atualizações. O problema é que qualquer programa com acesso para ler/escrever no armazenamento externo pode ser capaz de acessar e modificar os arquivos, e adicionar algo malicioso.

Na vida real, isto quer dizer que você pode instalar um programa aparentemente inofensivo como um jogo, e mesmo assim ter seu smartphone infectado com algo desagradável.

Os criadores do Android na verdade sabem que usar o armazenamento externo pode ser perigoso, e o site para desenvolvedores do sistema operacional até mesmo apresenta algumas dicas úteis para programadores.

A questão é que nem todos os desenvolvedores de aplicativos, nem mesmo funcionários do Google ou certos fabricantes de smartphones, seguem esses conselhos. Exemplos apresentados por Slava Makkaveev incluem explorações da vulnerabilidade do Google Tradutor, Yandex.Translate, Google Voice Typing e Google Text-to-Speech, assim como de aplicativos de sistema da LG e do navegador da Xiaomi.

A propósito, pesquisadores do Google recentemente descobriram que exatamente o mesmo ataque Man-in-the-Disk pode ser aplicado à versão Android de um jogo muito popular, o Fortnite. Para baixar o jogo, usuários precisam instalar um aplicativo de ajuda primeiro, que supostamente deve fazer o download dos arquivos do jogo. Acontece que, com o ataque Man-in-the-Disk, alguém pode enganar o auxiliar e fazê-lo instalar um programa malicioso. Os desenvolvedores do Fortnite – a Epic Game – estão cientes dessa vulnerabilidade e já lançaram uma nova versão do instalador. Então se você gosta do Fortnite, use a versão 2.1.0 para se proteger. Se já o tiver instalado, desinstale e reinstale completamente o jogo com a versão mencionada anteriormente.

Como proteger seu Android do ataque Man-in-the-Disk?

Makkaveev apontou apenas alguns apps realmente populares para demonstrar quão ruins as coisas estão, mas provavelmente são muitos os aplicativos vulneráveis. Como se proteger?

  • Instale aplicativos apenas de lojas oficiais como a Google Play. Os malwares podem infiltrar-se, mas é muito mais raro – e são removidos regularmente.
  • Desabilite a instalação de aplicativos de fontes terceirizadas nas configurações do seu smartphone ou tablet; são as fontes mais perigosas. Para fazer isso, selecione Configurações -> Segurança e desmarque a opção Fontes desconhecidas.

  • Escolha aplicativos de desenvolvedores verificados. Verifique a classificação do app e leia as avaliações dos usuários. Evite instalar qualquer coisa que pareça suspeita.
  • Não instale o que não precisa. Quanto menos aplicativos tiver no seu smartphone, melhor.
  • Lembre-se de remover aplicativos que não são mais necessários.
  • Utilize um aplicativo antivírus para mobile confiável que vai notificá-lo caso um programa malicioso tente penetrar em seu dispositivo.
Dicas