Mensagens do Android Toast podem ser abusadas para conceder acessibilidade ou privilégios de administrador de dispositivos

Pesquisadores demonstraram um ataque usando uma mensagem Toast que pode manipular socialmente um usuário para conceder permissões perigosas no Android.

O Android é uma plataforma bastante aberta com uma comunidade fantástica de desenvolvedores. Muitos desses desenvolvedores criarão aplicativos, ROMs personalizados e muito mais. Algumas organizações também realizam testes de segurança, como a Unidade 42 da Palo Alto Networks. Este grupo descobriu uma vulnerabilidade no sistema Android Toast Message, que permite ao invasor crie uma pseudo-sobreposição para induzir o usuário a conceder permissões perigosas sem seu conhecimento. Isso é já fixado no Atualização de segurança de setembro e no Android Oreo, portanto, fique tranquilo, pois se o seu telefone ainda receber patches de segurança mensais ou se você tiver um dispositivo com Android Oreo, você não estará vulnerável a esse ataque.

Todos os outros dispositivos Android são suscetíveis a este ataque. A maneira como isso funciona é explorar as notificações do sistema no Android para ignorar o requisito de "desenhar no topo", ou seja. permissão de sobreposição, que é como o "

Capa e espada"a exploração funcionou. Os pesquisadores usaram essa exploração para projetar socialmente os usuários para que concedessem o serviço de acessibilidade ao aplicativo atacante, permitindo-lhes ler todo o conteúdo da tela, entradas principais, etc. no dispositivo. Eles então usaram o mesmo método para convencer os usuários do aplicativo a conceder acesso de administrador, sem ter conhecimento do acesso que acabaram de conceder. Isso permite que o invasor instale aplicativos, monitore o dispositivo e também abre espaço para o potencial de ransomware.

Ataque de sobreposição de mensagem Android Toast explicado

Mas como isso realmente funciona? O desenvolvedores por trás da prova de conceito compartilhou o código-fonte real do ataque, que contém uma explicação mais técnica por trás da vulnerabilidade. Mas explicaremos brevemente como e por que essa exploração funciona.

Primeiro, você precisa considerar o que é uma mensagem de brinde. Eles já existem no Android há anos e você provavelmente já viu muitos deles no seu dispositivo todos os dias. Brindes são pequenas mensagens na parte inferior da tela que geralmente aparecem em um balão cinza com uma informação.

A exploração usa a mensagem do sistema para criar uma sobreposição na tela sem realmente solicitar ou precisar do SYSTEM_ALERT_WINDOW permissão, que deveria ser um requisito para qualquer aplicativo desenhar na sua tela. Em vez disso, ele envia a sobreposição por meio de uma notificação do sistema, criando botões que parecem ser para conceder legitimamente um sinal benigno. permissão ou aceitar um prompt sem sentido, mas na verdade são para conceder ao administrador do dispositivo ou acesso de acessibilidade ao aplicativo. Ele cria duas visualizações dentro de uma sobreposição do sistema.

Tudo isso pode ser feito devido a uma falha na verificação de permissão. O sistema Android (atualização de segurança pré-Oreo e pré-setembro) na verdade não verifica o que é alimentado por meio do sistema Android Toast Overlay, em vez disso, concede a permissão sem verificar. Provavelmente, isso ocorre porque o Google não previu a possibilidade de alimentar uma visualização por meio de uma sobreposição de brinde.

Tentativa do Android 7.1 de consertar o ataque de sobreposição do Android Toast

No Android 7.1 parece que o Google tentou bloquear essa exploração. Foi introduzido um tempo limite para mensagens do sistema e uma limitação foi criada: apenas 1 mensagem do sistema por UID, o ID do processo de um aplicativo. Isso foi facilmente contornado por meio de loops repetidos e exibição de mais sobreposições do sistema, de modo que é dada ao usuário a ilusão de que se trata de uma IU consistente. Se um loop não fosse criado, após 3,5 segundos a sobreposição desapareceria e o usuário veria o que o aplicativo está realmente solicitando ao usuário: conceder direitos de administração ou acessibilidade ao dispositivo.

Consequências de um ataque bem-sucedido

As permissões de administrador do dispositivo ou de acessibilidade, quando concedidas a um aplicativo, podem ser facilmente exploradas para muitos tipos de ataques maliciosos. Ransomware, keyloggers e limpadores de dispositivos podem ser criados usando esse exploit.

Os aplicativos não precisam de nenhuma permissão para mostrar uma mensagem de brinde, embora obviamente o aplicativo malicioso ainda precisa de BIND_ACCESSIBILITY_SERVICE e também de BIND_DEVICE_ADMIN para fazer uso eficaz dessa sobreposição do sistema ataque. Assim, sua melhor linha de defesa contra esse tipo de ataque caso seu dispositivo ainda não esteja corrigido é examinar as permissões que um aplicativo definiu em seu AndroidManifest ao instalá-lo. Se você instalar um aplicativo e não tiver certeza do motivo pelo qual ele precisa de um serviço de acessibilidade ou de privilégios de administrador de dispositivos, desinstale-o imediatamente e entre em contato com o desenvolvedor.

É preocupante que uma parte tão simples do Android, a humilde mensagem de brinde, possa ser explorada para manipular socialmente um usuário para conceder permissões perigosas. Esperamos que os fabricantes implementem os patches de segurança de setembro o mais rápido possível nos dispositivos, a fim de proteger os milhões de pessoas que poderiam facilmente cair em tal exploração.