Pesquisadores da ThreatFabric descobriram um novo malware para Android chamado Hirudo, que combina funções de um trojan bancário tradicional com capacidades completas de uma ferramenta de acesso remoto. Atualmente, o malware tem como alvo oito aplicativos bancários indonésios, com indicadores internos de que pode ser adaptado para atingir bancos na China, na Índia, no México, no Marrocos e na Tailândia.
O Hirudo não se limita a roubar dados de acesso do dispositivo: ele permite que o invasor veja a tela em tempo real por meio do WebRTC, controle o telefone usando os serviços de acessibilidade e acesse as câmeras frontal e traseira. O malware também coleta mensagens de texto, incluindo uma verificação inicial que abrange 90 dias e uma lista específica de remetentes de bancos e carteiras.
Como o malware chega ao telefone?
O Hirudo é distribuído por meio de um dropper incorporado a aplicativos que parecem legítimos, como um aplicativo de compras, de visualização de vídeos adultos ou de dramas curtos, promovidos nas redes sociais. Depois que o aplicativo é instalado, o dropper verifica se o Hirudo está presente no dispositivo e instala a carga maliciosa caso ela não esteja.
Ao detectar um aplicativo bancário indonésio específico, o malware exibe um aviso falso de atualização, remove o aplicativo legítimo e baixa uma versão modificada vinculada ao banco-alvo. Dessa forma, o usuário acredita estar lidando com o aplicativo bancário habitual, enquanto a versão falsa funciona como uma interface para roubo e controle.
Contorno das verificações de segurança dentro do aplicativo
A versão modificada inclui um mecanismo para interceptar chamadas do aplicativo, com o objetivo de desativar verificações de assinatura digital, serviços de acessibilidade, captura de tela e Play Integrity dentro do próprio aplicativo. Segundo os pesquisadores, o mecanismo pode substituir o certificado de assinatura solicitado pelo Android pelo certificado original e ocultar a assinatura de teste. Ele também retorna uma lista vazia quando há uma consulta sobre serviços de acessibilidade, tornando o serviço do invasor invisível à verificação.
A importância desse método está em transferir o confronto das verificações do dispositivo para os mecanismos de integridade dentro do próprio aplicativo substituído. Portanto, os sinais produzidos por um aplicativo que foi substituído não podem ser considerados confiáveis por si só, e a possibilidade de reutilizar o mecanismo pode facilitar a expansão do ataque para outros aplicativos e regiões.
O que as instituições financeiras devem revisar?
- Verificar o Play Integrity e aplicar seus resultados no servidor, sem considerar o resultado correto, por si só, como evidência suficiente, pois o Hirudo pode encaminhar as solicitações de verificação por meio do próprio servidor.
- Usar análises comportamentais em várias camadas para detectar padrões fraudulentos, tratando a ausência de dados comportamentais como um sinal que merece investigação.
- Considerar sinais de acessibilidade e captura de tela como evidências complementares, e não como condições isoladas de bloqueio, incorporando-os ao cálculo de risco.
- Manter controles de risco transacional no login, na recuperação de credenciais, na criação de beneficiários e na aprovação de pagamentos, pois um resultado local falsificado não pode substituir uma decisão do servidor.
O alerta prático para as instituições é que confiar em uma única verificação dentro do aplicativo já não é suficiente quando o malware consegue substituir o próprio aplicativo e ocultar os componentes de controle. Os detalhes disponíveis sobre os operadores do Hirudo e a dimensão das infecções não são mencionados no material de origem, o que limita a estimativa do alcance real da campanha.