Título
Malware detection methods for Android mobile applications
Autor
Lopes, João Pedro Lapa da Silva
Resumo
pt
Os avanços na computação móvel estão a atrair utilizadores de dispositivos tradicionais a
transitar para as plataformas móveis para atender às suas necessidades de processamento de
dados. Entre estas, a plataforma Android é a mais popular, detendo a maioria da quota de
mercado devido à sua política open-source e capacidade de instalar aplicações através de várias
lojas de aplicações. Este facto, conjuntamente com a quantidade de dados sensíveis que estes
dispositivos agora armazenam, torna o ataque à plataforma Android atraente para os autores de
malware, causando um grande fluxo de aplicações maliciosas no ecossistema. Os métodos
tradicionais de deteção de malware não conseguem controlar e prevenir este fluxo eficazmente,
exigindo uma abordagem automática e inteligente, como a aprendizagem automática. Nesta
tese, três algoritmos de aprendizagem automática, XGBoost, SVM e K-NN, foram treinados
com diversas características, focando-se nas permissões Android e características estáticas das
aplicações, para medir a eficácia da aplicação de técnicas de aprendizagem automática no
combate à proliferação de malware. Dado o rácio de goodware para malware de 99/1 do
conjunto de dados, realizaram-se quatro experiências com uma versão subamostrada do mesmo
com um rácio de 70/30 para testar diferentes subconjuntos do espaço de características bem
como eliminação e agregação de características antes de treinar os algoritmos com o conjunto
completo de características usando normalização de características em dois cenários. Esta
abordagem apresentou resultados promissores, com XGBoost, SVM e K-NN distinguindo entre
malware e goodware com um score de 90 % (valores Area Under the Receiver Operating
Curve).
en
Advancements in mobile computing are attracting traditional device users to transition
toward mobile platforms to fulfil their data processing needs. Among these, the Android
platform is the most popular, holding the majority of the market share due to its open-source
policy and ability to install applications from different application stores. This fact, coupled
with the amount of sensitive data these devices now store, makes it attractive for malware
authors to attack the Android platform, causing a large influx of malicious applications in the
ecosystem. Traditional malware detection methods cannot effectively control and prevent this
influx, demanding an automatic and intelligent approach such as machine learning. In this
thesis, three machine learning algorithms, XGBoost, SVM and K-NN were trained with several
features, with a focus on Android permissions , to measure the
effectiveness of applying machine learning techniques to combat the proliferation of malware.
Given goodware to malware ratio of 99/1, four experiments with an under-sampled
version of the dataset with a ratio of 70/30 were conducted to test different subsets of the feature
space as well as feature elimination and aggregation before training the algorithms with the full
set of features using feature normalization across two distinct scenarios. This approach showed
promising results, with XGBoost, SVM and K-NN distinguishing between malware and
goodware with a score of 90 % (Area Under the Receiver Operating Curve values).