360 research outputs found
Improving Malware Detection Accuracy by Extracting Icon Information
Detecting PE malware files is now commonly approached using statistical and
machine learning models. While these models commonly use features extracted
from the structure of PE files, we propose that icons from these files can also
help better predict malware. We propose an innovative machine learning approach
to extract information from icons. Our proposed approach consists of two steps:
1) extracting icon features using summary statics, histogram of gradients
(HOG), and a convolutional autoencoder, 2) clustering icons based on the
extracted icon features. Using publicly available data and by using machine
learning experiments, we show our proposed icon clusters significantly boost
the efficacy of malware prediction models. In particular, our experiments show
an average accuracy increase of 10% when icon clusters are used in the
prediction model.Comment: Full version. IEEE MIPR 201
A Multi-view Context-aware Approach to Android Malware Detection and Malicious Code Localization
Existing Android malware detection approaches use a variety of features such
as security sensitive APIs, system calls, control-flow structures and
information flows in conjunction with Machine Learning classifiers to achieve
accurate detection. Each of these feature sets provides a unique semantic
perspective (or view) of apps' behaviours with inherent strengths and
limitations. Meaning, some views are more amenable to detect certain attacks
but may not be suitable to characterise several other attacks. Most of the
existing malware detection approaches use only one (or a selected few) of the
aforementioned feature sets which prevent them from detecting a vast majority
of attacks. Addressing this limitation, we propose MKLDroid, a unified
framework that systematically integrates multiple views of apps for performing
comprehensive malware detection and malicious code localisation. The rationale
is that, while a malware app can disguise itself in some views, disguising in
every view while maintaining malicious intent will be much harder.
MKLDroid uses a graph kernel to capture structural and contextual information
from apps' dependency graphs and identify malice code patterns in each view.
Subsequently, it employs Multiple Kernel Learning (MKL) to find a weighted
combination of the views which yields the best detection accuracy. Besides
multi-view learning, MKLDroid's unique and salient trait is its ability to
locate fine-grained malice code portions in dependency graphs (e.g.,
methods/classes). Through our large-scale experiments on several datasets
(incl. wild apps), we demonstrate that MKLDroid outperforms three
state-of-the-art techniques consistently, in terms of accuracy while
maintaining comparable efficiency. In our malicious code localisation
experiments on a dataset of repackaged malware, MKLDroid was able to identify
all the malice classes with 94% average recall
Mukautuminen muutoksiin haittaohjelmien tunnistuksessa
This Master's thesis studies methods for detecting malware while adapting to how malware change over time. Malware detection methods are necessary to defend against cyber attacks, which could otherwise compromise information systems that are integral in the daily lives of everyone living in modern societies. Machine learning models have been shown to be effective in classifying files as either malicious or benign. However, malware and other software are constantly evolving, which makes classifiers unable to learn what malware in the future will be like. Therefore, methods are required for adapting to this concept drift in malware detection.
In this thesis, we compare three different methods called retrain, threshold, and hybrid that update the classifier to adapt to changes in the data over time. First, we create a classifier for detecting if a Windows portable executable file is malicious or benign. We use a dataset of 61466 files consisting of 19648 known malware and 41818 clean files. The classifier uses features that are extracted using static analysis without executing the files.
To choose which classifier to use in malware detection, we compare random forest, gradient boosted decision trees, neural network, and support vector machines. Gradient boosted decision trees achieve the highest accuracy and AUC, and using a random forest for selecting most important features reduces the training time of the model. This classifier achieves an accuracy of 98.7\% when using cross-validation to evaluate the model. In contrast, when using temporally ordered files, the classifier has an accuracy of 96.7\% showing the presence of concept drift in malware detection.
Each of the proposed retrain, threshold, and hybrid methods improve the accuracy of the classifier by adapting to concept drift. The best performing method is hybrid, which is a combination of the two other methods. This method is able to correctly classify 98.5\% of previously unseen files yielding a significant improvement in the malware detection capabilities of the classifier.Tämä diplomityö tutkii menetelmiä haittaohjelmien tunnistamiseksi ja haittaohjelmissa tapahtuviin muutoksiin mukautumiseksi. Haittaohjelmien tunnistaminen on tärkeä tapa puolustautua kyberhyökkäyksiltä, jotka voisivat muutoin vaarantaa tärkeitä tietojärjestelmiä. Koneoppimismallit ovat tehokkaita luokittelemaan tiedostoja joko haitallisiksi tai vaarattomiksi. Haittaohjelmat ja muut ohjelmistot kehittyvät kuitenkin jatkuvasti, minkä vuoksi luokittelijat eivät pysty oppimaan, millaisia tulevaisuuden haittaohjelmat ovat. Tästä syystä tarvitaan menetelmiä haittaohjelmissa tapahtuviin muutoksiin mukautumiseksi.
Tässä opinnäytetyössä verrataan kolmea erilaista menetelmää, nimeltään retrain, threshold ja hybrid, jotka saavat luokittelijan mukautumaan ajan myötä tapahtuviin muutoksiin. Ensin työssä luodaan luokittelija, joka tunnistaa, onko Windowsin käyttöjärjestelmän suoritettava tiedosto haitallinen vai vaaraton. Luokitelijan kouluttamiseen käytetään 61466 tiedostoa, joista 19648 ovat tunnettuja haittaohjelmia ja 41818 on vaarattomia tiedostoja. Luokitteluohjelma käyttää ominaisuuksia, jotka on kerätty staattisella analyysillä tiedostoista ajamatta niitä.
Luokittelijan valitsemiseksi vertaamme menetelmiä random forest, gradient boosted decision trees, neural network ja support vector machines. Parhaan tarkkuuden saavuttaa gradient boosted decision trees -menetelmää käyttävä malli, ja kouluttamiseen kuluvaa aikaa voidaan nopeuttaa käyttämällä random forest -menetelmää valitsemaan tärkeimmät ominaisuudet tiedostojen luokittelemiseksi. Tämä luokitin saavuttaa 98.7\% tarkkuuden ristiinvalidointia käytettäessä. Kun tiedostot järjestetään ajan mukaan, luokittimen tarkkuus on 96.7\%, mikä näyttää, että haittaohjelmissa tapahtuu muutoksia ajan myötä.
Kukin ehdotetuista retrain, threshold ja hybrid menetelmistä parantaa luokittimen tarkkuutta. Paras menetelmä on hybrid, joka on yhdistelmä kahdesta muusta menetelmästä. Tämä menetelmä luokittelee oikein 98.5\% tiedostoista selvästi parantaen luokittimen haittaohjelmien tunnistuskykyjä
- …