Cloak And Dagger Exploit usa sobreposições e serviços de acessibilidade para sequestrar o sistema

O que nós do XDA uma vez imaginamos como uma prova de conceito de vulnerabilidade de segurança foi agora confirmado por cientistas da computação do Instituto de Tecnologia da Geórgia, em Atlanta. A equipe detalha o que eles chamam de "capa e espada"exploits que podem assumir o controle da interface da maioria das versões do Android (incluindo 7.1.2). Dada a sua natureza, é difícil de corrigir e também difícil de detectar.

Cloak and Dagger é um exploit que aproveita duas permissões para assumir o controle da IU sem dar ao usuário a chance de perceber a atividade maliciosa. O ataque usa duas permissões: SYSTEM_ALERT_WINDOW ("desenhar em cima") e BIND_ACCESSIBILITY_SERVICE ("a11y") que são muito comumente usados ​​em aplicativos Android.

Nós temos descrevi isso no passado, mas o que torna essa vulnerabilidade tão aguda é o fato de que os aplicativos que solicitam SYSTEM_ALERT_WINDOW recebem automaticamente essa permissão quando instalados por meio da Google Play Store. Quanto à ativação de um Serviço de Acessibilidade, um aplicativo malicioso é capaz de facilmente manipular socialmente um usuário para concedê-lo. O aplicativo malicioso pode até ser configurado para usar um serviço de acessibilidade para uma finalidade semilegítima, como monitorar quando determinados aplicativos estão abertos para alterar determinadas configurações.

Depois que essas duas permissões forem concedidas, o número de ataques que podem ocorrer é grande. O roubo de PINs, tokens de autenticação de dois fatores, senhas ou até mesmo ataques de negação de serviço são possíveis. Isso se deve à combinação de sobreposições para fazer o usuário pensar que está interagindo com um aplicativo legítimo e o Serviço de Acessibilidade sendo usado para interceptar entrada de texto e toque (ou retransmitir sua própria entrada).

Teorizamos essa vulnerabilidade há alguns meses, em que criaríamos um aplicativo de prova de conceito que usa SYSTEM_ALERT_WINDOW e BIND_ACCESSIBILITY_SERVICE para desenhar uma sobreposição na tela de entrada de senha no aplicativo XDA Labs e interceptar a entrada da tecla para deslizar senhas. Este aplicativo que imaginamos seria um aplicativo de gerenciamento de rotação automática que usaria uma sobreposição para desenhar uma caixa invisível na tela para controlar a rotação (em vez de solicitar WRITE_SETTINGS que geraria sinalizadores) e um serviço de acessibilidade para permitir que o usuário controle a rotação automática de perfis por aplicativo base. Em teoria, este seria um exemplo de aplicação que usa "capa e espada". No entanto, nenhum membro da nossa equipe estava disposto a arriscar seus contas de desenvolvedores desafiando os sistemas automatizados de verificação de aplicativos do Google para ver se nossa exploração de prova de conceito seria permitida no Google Play Loja.

De qualquer forma, estes investigadores fizeram o trabalho e submeteram pedidos de teste para provar que a utilização destas duas permissões pode de facto ser um grande problema de segurança:

Como você pode ver, os ataques são invisíveis para os usuários e permitem controle total sobre o dispositivo. Atualmente, todas as versões do Android, do Android 5.1.1 ao Android 7.1.2, são vulneráveis ​​a isso explorar, dado o fato de que tira vantagem de duas permissões usadas de outra forma para fins completamente legítimos propósitos.

Não espere que uma solução verdadeira para esse problema chegue ao seu dispositivo tão cedo, embora deva ser observado que o alterações feitas em SYSTEM_ALERT_WINDOW no Android O resolverá parcialmente essa falha, impedindo que aplicativos maliciosos ocupem completamente a tela inteira. Além disso, o Android O agora alerta por meio de notificação se um aplicativo estiver desenhando ativamente uma sobreposição. Com essas duas mudanças, é menos provável que um aplicativo malicioso consiga escapar impune se o usuário está atento.

Como você se protege em versões anteriores ao Android O? Como sempre, instale apenas aplicativos confiáveis ​​de fontes confiáveis. Certifique-se de que as permissões solicitadas estejam de acordo com o que você espera.

Quanto às centenas de milhões de usuários regulares por aí, de acordo com um porta-voz do Google Play Store Proteger também fornecerá as correções necessárias para evitar ataques de capa e adaga. Como exatamente isso será feito não está claro, mas esperamos que envolva alguma forma de detectar quando essas duas permissões estão sendo usadas de forma maliciosa. Duvido que ele seja capaz de detectar todos esses casos, portanto, em qualquer caso, é melhor monitorar quais permissões estão sendo concedidas a cada aplicativo instalado.