Detecção de malware no Android. SecApk: um alerta aos desenvolvedores
O título deste artigo do blog tem algum significado misterioso? Não exatamente.
Nesta primeira parte sobre as detecções de malware no Android, vamos apresentar a Android:SecApk, uma detecção relacionada com o App Shield (Bangcle) e os aplicativos Android (.apk). Esta detecção abrange uma grande amostra de malwares e está em crescimento. Algumas amostras compactadas com o SecApk que já existiram ou ainda existem na loja Google Play e também em outras lojas podem ser vistas na tabela abaixo:
MD5
|
Nome - Informações
|
F1EF5B8C671B2146C2A2454ECF775E47
|
G锁屏冰雪奇缘之来自星星的你V1.0.apk
PUP: um aplicativo que promove um filme específico. Potencialmente indesejado devido ao extenso conjunto de permissões solicitadas.
Estado atual: removido do Google Play
|
10bd28d4f56aff83cb6d31b6db8fdbd2
|
Cut_the_bird.apk
PUP: um jogo que solicita permissões potencialmente indesejadas e pode levar à perda de dados pessoais.
|
05ffb6f34e40bb1cf8f9628e5647d5e3
|
aini1314langmanzhutisuoping_V2.5_mumayi_700e0.apk
PUP: um protetor de tela que solicita permissões não relacionadas à finalidade do aplicativo.
|
d6b40bbb79b54c09352a2e0824c0adba
|
3D职业乒乓球.apk
PUP: este aplicativo é um jogo de tênis. Potencialmente indesejado devido ao extenso conjunto de permissões solicitadas.
|
eefd2101e6a0b016e5a1e9859e9c443e
|
eefd2101e6a0b016e5a1e9859e9c443e.apk
\Malware: este aplicativo rouba dados pessoais e mensagens SMS do usuário.
|
O App Shield é um serviço online que, depois de receber um arquivo .apk que lhes foi enviado, o criptografam e adicionam algumas camadas de proteção. O procedimento de criptografar e proteger um arquivo .apk será discutido na segunda parte deste artigo.
Começando pelo processo de envio, um aplicativo limpo chamado AvstTest.apk foi enviado ao serviço. O arquivo .apk exportado foi renomeado para AvstTest[SecApk].apk. Além disso, o apktool e o dex2jar foram utilizados para decodificar as funções do .apk e converter os arquivos .dex em .jar.
A estrutura interna do arquivo convertido pode ser vista na figura acima. Aparecem as duas novas pastas: lib e assets. A pasta lib contém dois arquivos que são necessários pelas bibliotecas de compartilhamento na plataforma ARM.
A pasta assets contém um arquivo jar criptografado chamado bangle_classes.jar. Este arquivo é uma versão criptografada do original classes.dex. Além disso, a pasta meta-data contém os arquivos necessários para a criptografia RSA.
O arquivo manifest do Android também é alterado, mas somente para fazer o link com o novo arquivo dex. A classe com.secapk.wrapper.ApplicationWrapper será chamada sempre que o processo for iniciado.
A estrutura interna do arquivo classes.dex também é alterada. No novo arquivo dex, podemos ver a nova classe ApplicationWrapper que é utilizada para carregar na memória a versão não-criptografada do arquivo classes.dex. A estrutura do arquivo dex original pode ser vista do lado direito da imagem abaixo.
A real preocupação deste artigo do nosso blog é que cada arquivo que utiliza esta proteção pode ser detectado como um PUP (Programa Potencialmente Indesejado). Muitos criadores de malware utilizam esta proteção para tornar indetectáveis as suas amostras maliciosas. Paralelamente, aplicativos legítimos utilizam a proteção para fugir da engenharia reversa, decompilação, injeção de código malicioso e outros usos ilegais.
É uma verdadeira terra de ninguém.
A empresa que criou esta proteção afirma que cada arquivo é verificado por várias definições de vírus. O problema é que os malwares dia-0 existem e alguns deles são realmente difíceis de detectar. No caso do malware protegido pelo SecApk penetrar no mercado oficial, será difícil de detectar. A escolha mais segura é detectar o compactador SecApk e informar o usuário que o aplicativo que ele está a ponto de executar é potencialmente indesejado (PUP).
A segunda parte deste artigo explicará em mais detalhes o processo que o compactador utiliza para carregar o código original na memória do sistema.
O avast! protege os usuários do Android
O avast! Free Mobile Security detecta e avisa ao usuário sobre estes aplicativos (maliciosos ou não) que são compactados com o SecApk e podem ser potencialmente perigosos. No momento, não há outro meio de proteger eficientemente os nossos usuários. Se você é um desenvolvedor, uma boa dia é repensar o uso deste tipo de protetores em seus aplicativos.
Obrigado por utilizar o avast! Antivírus e por recomendar-nos aos seus amigos e familiares. Encontre as últimas notícias, divirta-se, participe de concursos e muito mais no Facebook, Twitter, Google+ e Instagram. Dono do próprio negócio? Descubra mais sobre os nossos produtos corporativos.