360 research outputs found

    Improving Malware Detection Accuracy by Extracting Icon Information

    Full text link
    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

    Full text link
    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

    Get PDF
    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ä
    corecore