Índice:
- Uma nova reviravolta para uma abordagem antiga
- Detecção de anomalia
- Contenção de malware
- Resultado dos testes
- Benefícios do PREC
- O desafio
Os mercados de aplicativos Android são uma maneira conveniente para os usuários obterem aplicativos. Os mercados também são uma maneira conveniente para os bandidos entregarem malware. Os proprietários do mercado, para seu crédito, tentam descobrir aplicativos ruins usando medidas de segurança como o Google Bouncer. Infelizmente, a maioria - incluindo o Bouncer - não está à altura da tarefa. Os bandidos quase imediatamente descobriram como saber quando o Bouncer, um ambiente de emulação, estava testando seu código. Em uma entrevista anterior, Jon Oberheide, co-fundador da Duo Security e a pessoa que notificou o Google sobre o problema, explicou:
"Para tornar o Bouncer eficaz, ele deve ser indistinguível do dispositivo móvel de um usuário real. Caso contrário, um aplicativo malicioso poderá determinar que está sendo executado com o Bouncer e não executar sua carga maliciosa".
Outra maneira que os bandidos enganam Bouncer é usando uma bomba lógica. Ao longo de sua história, as bombas lógicas causaram estragos nos dispositivos de computação. Nesse caso, o código da bomba lógica impede silenciosamente os verificadores de malware, bem como a falha do Bouncer em ativar a carga útil até que o aplicativo malicioso seja instalado em um dispositivo móvel real.
A conclusão é que os mercados de aplicativos Android, a menos que se tornem eficientes na detecção de cargas úteis de malware em aplicativos, são, de fato, um importante sistema de distribuição de malware.
Uma nova reviravolta para uma abordagem antiga
A equipe de pesquisa da Universidade Estadual da Carolina do Norte de Tsung-Hsuan Ho, Daniel Dean, Xiaohui Gu e William Enck pode ter encontrado uma solução. Em seu artigo PREC: Contenção Prática de Exploração de Raiz para Dispositivos Android, a equipe de pesquisa apresentou sua versão de um esquema de detecção de anomalias. O PREC consiste em dois componentes: um que funciona com o detector de malware da loja de aplicativos e o que é baixado com o aplicativo no dispositivo móvel.
O componente da loja de aplicativos é único, pois emprega o que os pesquisadores chamam de "monitoramento de chamadas do sistema classificado". Essa abordagem pode identificar dinamicamente chamadas do sistema a partir de componentes de alto risco, como bibliotecas de terceiros (aquelas não incluídas no sistema Android, mas que acompanham o aplicativo baixado). A lógica aqui é que muitos aplicativos maliciosos usam suas próprias bibliotecas.
As chamadas do sistema a partir do código de terceiros de alto risco obtido com esse monitoramento, além dos dados obtidos no processo de detecção da loja de aplicativos, permitem que o PREC crie um modelo de comportamento normal. O modelo é carregado no serviço PREC, comparado aos modelos existentes para precisão, sobrecarga e robustez para imitar ataques.
O modelo atualizado está pronto para ser baixado com o aplicativo sempre que o aplicativo for solicitado por alguém que visite a loja de aplicativos.
Essa é considerada a fase de monitoramento. Depois que o modelo e o aplicativo PREC são baixados no dispositivo Android, o PREC entra no estágio de imposição - em outras palavras, detecção de anomalias e contenção de malware.
Detecção de anomalia
Depois que o aplicativo e o modelo PREC são instalados no dispositivo Android, o PREC monitora o código de terceiros, especificamente as chamadas do sistema. Se a sequência de chamadas do sistema for diferente daquela monitorada na loja de aplicativos, o PREC determinará a probabilidade de que o comportamento anormal seja uma exploração. Depois que o PREC determina que a atividade é maliciosa, ela entra no modo de contenção de malware.Contenção de malware
Se entendido corretamente, a contenção de malware torna o PREC único quando se trata de anti-malware do Android. Devido à natureza do sistema operacional Android, os aplicativos anti-malware do Android não conseguem remover o malware ou colocá-lo em quarentena porque cada aplicativo reside em uma sandbox. Isso significa que o usuário deve remover manualmente o aplicativo mal-intencionado, localizando o malware na seção Aplicativo do System Manager do dispositivo, abrindo a página de estatísticas do aplicativo e tocando em "desinstalar".
O que torna o PREC único é o que os pesquisadores chamam de "mecanismo de contenção refinado baseado em atraso". A idéia geral é diminuir a velocidade de chamadas suspeitas do sistema usando um pool de threads separados. Isso força a exploração a atingir o tempo limite., Resultando em um status "Aplicativo que não responde", no qual o aplicativo é finalmente desligado pelo sistema operacional Android.
O PREC pode ser programado para eliminar os threads de chamada do sistema, mas pode interromper as operações normais do aplicativo se o detector de anomalias cometer um erro. Em vez de arriscar, os pesquisadores inserem um atraso durante a execução do thread.
"Nossas experiências mostram que a maioria das explorações de raiz se torna ineficaz depois que diminuímos o encadeamento nativo malicioso até um certo ponto. A abordagem baseada em atraso pode lidar com os alarmes falsos com mais tranqüilidade, já que o aplicativo benigno não sofrerá falhas ou terminação devido a falsos transitórios. alarmes ", explica o jornal.
Resultado dos testes
Para avaliar o PREC, os pesquisadores construíram um protótipo e o testaram em 140 aplicativos (80 com código nativo e 60 sem código nativo) - mais 10 aplicativos (quatro aplicativos conhecidos de exploração raiz do projeto Malware Genome e seis aplicativos de exploração raiz reembalados) - que continha malware. O malware incluía versões do DroidDream, DroidKungFu, GingerMaster, RATC, ZimperLich e GingerBreak.
Os resultados:
- O PREC detectou e interrompeu com êxito todas as explorações de raiz testadas.
- Ele gerou zero alarmes falsos nos aplicativos benignos sem código nativo. (Os esquemas tradicionais geram 67-92% de alarmes falsos por aplicativo.)
- O PREC reduziu a taxa de alarmes falsos nos aplicativos benignos com código nativo em mais de uma ordem de magnitude em relação aos algoritmos tradicionais de detecção de anomalias
Benefícios do PREC
Além de ter um bom desempenho nos testes e encaminhar um método viável para conter malware Android, o PREC tinha números decididamente melhores quando se tratava de falsos positivos e perda de desempenho. Quanto ao desempenho, o documento afirmou que o "esquema de monitoramento classificado do PREC impõe menos de 1% de sobrecarga e o algoritmo de detecção de anomalias do SOM impõe até 2% de sobrecarga. No geral, o PREC é leve, o que o torna prático para dispositivos de smartphone".
Os atuais sistemas de detecção de malware usados pelas lojas de aplicativos são ineficazes. O PREC fornece um alto grau de precisão de detecção, uma baixa porcentagem de alarmes falsos e contenção de malware - algo que não existe atualmente.
O desafio
A chave para fazer o PREC funcionar é a adesão dos mercados de aplicativos. É apenas uma questão de criar um banco de dados que descreva o desempenho normal de um aplicativo. PREC é uma ferramenta que pode ser usada para fazer isso. Em seguida, quando um usuário baixa um aplicativo desejado, as informações de desempenho (perfil PREC) acompanham o aplicativo e serão usadas para basear o comportamento do aplicativo enquanto ele estiver instalado no dispositivo Android.