O laboratório de ameaças da Zimperium, a zLabs, publicou em 16 de setembro a análise de um vírus de Android batizado de RatHat, capaz de operar a tela do celular sozinho com a ajuda de inteligência artificial, copiar a senha de aplicativos de banco e de carteiras de criptomoeda e interceptar os códigos de verificação que chegam por SMS. O relatório é assinado pelos pesquisadores Gianluca Braga, Vishnu Pratapagiri e Fernando Ortega.
O caminho de entrada não é uma falha do celular. É um arquivo que a própria pessoa instala. Segundo a Zimperium e a BleepingComputer, a distribuição acontece por mensagem de texto com link, por anúncio malicioso e por fóruns de terceiros, que levam a páginas falsas onde a vítima baixa manualmente um APK que se passa por um aplicativo conhecido, fora da Google Play.
Esse detalhe explica por que a comunidade brasileira nos Estados Unidos precisa prestar atenção neste caso. Instalar APK por fora virou rotina para quem procura um aplicativo que não aparece na loja americana. A pesquisa não aponta nenhum aplicativo brasileiro entre os alvos e não registra campanha em território americano, mas descreve com precisão a porta que esse hábito abre.
O que o vírus faz depois de instalado
A primeira coisa que o RatHat pede é a permissão de Acessibilidade do Android, o recurso pensado para quem tem deficiência visual ou motora e que dá ao aplicativo o direito de ler a tela e tocar nela. Com isso em mãos, segundo a BleepingComputer, ele liga sozinho as Opções do Desenvolvedor e a Depuração sem Fio, o que lhe garante acesso de linha de comando ao aparelho sem nenhum computador conectado.
A partir daí o roubo é direto. O vírus exibe telas falsas em HTML por cima de aplicativos de banco e de criptomoeda, e captura o login e a senha digitados ali. Também lê as mensagens e as notificações que chegam, inclusive as senhas de uso único e os códigos de dois fatores. A proteção em que a maioria das pessoas confia, o código que chega no celular, deixa de proteger quando o criminoso está dentro do celular.
Há ainda a leitura do toque em nível de hardware, descrita pela Zimperium. Com ela o RatHat reconstrói o PIN, a senha e o padrão de desbloqueio do aparelho, e extrai os endereços digitados na barra do navegador.
Desinstalar o aplicativo não resolve
O ponto mais incômodo da análise é a persistência. O RatHat instala um serviço escondido que continua ativo mesmo depois que o usuário desinstala o aplicativo, reinstala a praga sozinho e devolve a si mesmo as permissões que tinha perdido.
E ele atrapalha a tentativa de remoção. A BleepingComputer relata que, quando a pessoa abre a tela de confirmação para desinstalar, o vírus intercepta essa tela, cancela a operação e mostra uma janela falsa da Google Play com uma mensagem de erro inventada, para a vítima acreditar que o sistema é que falhou.
Onde entra a inteligência artificial
A automação de vírus de celular costuma ser feita com roteiro fixo, que quebra quando o aplicativo alvo muda de layout. O RatHat faz diferente: converte a árvore de acessibilidade do Android em um arquivo XML, envia esse retrato da tela para um assistente de inteligência artificial e recebe de volta as coordenadas do botão que deve tocar, o texto que está na tela e comandos de navegação, como rolar a página para baixo. O relatório não diz qual assistente é usado.
No texto da zLabs, o efeito prático aparece assim: o RatHat "usa inteligência artificial para navegar e controlar a interface do aparelho em tempo real, o que torna sua operação mais adaptável e mais difícil de ser detectada por programas de segurança do que a automação tradicional, baseada em roteiro".
Sobre a origem, a Infosecurity Magazine registra que os pesquisadores associam a operação a agentes que parecem atuar na China, com base num indício de bastidor: as instruções de inteligência artificial embutidas no código estão escritas em chinês.
Para escapar de quem tenta estudá-lo, o vírus também carrega peso morto. O arquivo de configuração do aplicativo, o AndroidManifest.xml, tem 61 megabytes, e 99% disso é lixo em blocos de um tipo não documentado, montado para travar as ferramentas de análise. Some a isso o contêiner do APK adulterado, instruções inválidas no código e as cadeias de texto criptografadas duas vezes.
O que ainda não se sabe
As três publicações não trazem número de infecções, número de vítimas nem lista de países atingidos. Também não existe lista pública dos bancos e aplicativos visados: a Zimperium fala em alvos financeiros globais, sem nomear instituições. Quem ler que o RatHat "está atacando bancos americanos" ou "aplicativos brasileiros" está lendo algo que a pesquisa não afirma.
O que dá para fazer hoje
As recomendações publicadas junto da análise são simples e valem para qualquer aparelho Android:
- Instalar aplicativo só pela Google Play. Se o aplicativo que você quer não está na loja do seu país, o APK de terceiros não é atalho seguro.
- Não conceder a permissão de Acessibilidade a aplicativo nenhum, salvo quando for exatamente para isso que ele serve.
- Manter o Play Protect ligado e rodando.
- Desconfiar de mensagem de texto não solicitada com link de download, mesmo quando o nome do remetente parece conhecido.
A conclusão dos pesquisadores é um recado para quem confia só no antivírus do aparelho. A arquitetura em camadas do RatHat, os serviços que sobrevivem fora do ciclo de vida do aplicativo e as decisões tomadas em tempo real por inteligência artificial, escreveu a zLabs, mostram por que os controles tradicionais de segurança em celular, baseados em assinatura, não dão conta.
Comentários
Faça login para comentar
EntrarSeja o primeiro a comentar!