17
Machine Learning-Based Malware Detection for Android Applications: History Matters! Kevin Allix University of Luxembourg / SnT / SERVAL, Luxembourg Tegawendé F. Bissyandé University of Luxembourg / SnT / SERVAL, Luxembourg Jacques Klein University of Luxembourg / SnT / SERVAL, Luxembourg Yves Le Traon University of Luxembourg / SnT / SERVAL, Luxembourg 26 May 2014 978-2-87971-132-4 www.securityandtrust.lu University of Luxembourg Interdisciplinary Centre for Security, Reliability and Trust 6, rue Richard Coudenhove-Kalergi L-1359 Luxembourg-Kirchberg

Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

Machine Learning-Based MalwareDetection for Android Applications:

History Matters!

Kevin Allix University of Luxembourg / SnT / SERVAL, LuxembourgTegawendé F. Bissyandé University of Luxembourg / SnT / SERVAL, LuxembourgJacques Klein University of Luxembourg / SnT / SERVAL, LuxembourgYves Le Traon University of Luxembourg / SnT / SERVAL, Luxembourg

26 May 2014

978-2-87971-132-4

www.securityandtrust.lu

University of Luxembourg • Interdisciplinary Centre for Security, Reliability and Trust • 6, rue Richard Coudenhove-Kalergi • L-1359 Luxembourg-Kirchberg

Page 2: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

Machine Learning-Based Malware Detection for Android Applications:History Matters!

Kevin AllixSnT, University of Luxembourg

Tegawende F. BissyandeSnT, University of Luxembourg

Jacques KleinSnT, University of Luxembourg

Yves Le TraonSnT, University of Luxembourg

Abstract

Machine Learning-based malware detection is a promis-ing scalable method for identifying suspicious applica-tions. In particular, in today’s mobile computing realmwhere thousands of applications are daily poured intomarkets, such a technique could be valuable to guaran-tee a strong filtering of malicious apps. The successof machine-learning approaches however is highly de-pendent on (1) the quality of the datasets that are usedfor training and of (2) the appropriateness of the testeddatasets with regards to the built classifiers. Unfortu-nately, there is scarce mention of these aspects in theevaluation of existing state-of-the-art approaches in theliterature.

In this paper, we consider the relevance of history inthe construction of datasets, to highlight its impact onthe performance of the malware detection scheme. Typ-ically, we show that simply picking a random set ofknown malware to train a malware detector, as it is donein most assessment scenarios from the literature, yieldssignificantly biased results. In the process of assessingthe extent of this impact through various experiments, wewere also able to confirm a number of intuitive assump-tions about Android malware. For instance, we discussthe existence of Android malware lineages and how theycould impact the performance of malware detection inthe wild.

1 Introduction

Malware detection is a challenging endeavor in mo-bile computing, where thousands of applications are up-loaded everyday on application markets [5] and oftenmade available for free to end-users. Market maintain-ers then require efficient techniques and tools to continu-ously analyze, detect and triage malicious applications inorder to keep the market as clean as possible and main-tain user confidence. For example, Google has put in

place a number of tools and processes in the Google Playofficial market for Android applications. However, usingantivirus software on large datasets from Google revealsthat hundreds of malware are still distributed incognitothrough this market.

Unfortunately, malware pose various threats that can-not be ignored by users, developers and retailers. Thesethreats range from simple user tracking and leakage ofpersonal information [21], to unwarranted premium-ratesubscription of SMS services, advanced fraud, and evendamaging participation to botnets [33]. To address suchthreats, researchers and practitioners increasingly turn tonew techniques that have been assessed in the literaturefor malware detection in the wild. Research work haveindeed yielded promising approaches for malware de-tection. A comprehensive survey of various techniquescan be found in [26]. Approaches for large-scale de-tection are often based on Machine learning techniques,which allow to sift through large sets of applications todetect anomalies based on measures of similarity of fea-tures [7, 12, 17, 24, 29, 32, 36, 39, 44].

To assess malware detection in the wild, the litera-ture resorts to the 10-Fold Cross validation scheme withdatasets that we claim are biased and yield biased re-sults. Indeed, various aspects of construction of train-ing datasets are usually overlooked. Among such as-pects is the history aspect which assumes that the train-ing dataset, which is used for building classifiers, and thetest dataset, which is used to assess the performance ofthe technique, should be historically coherent: the for-mer must be historically anterior to the latter. This as-pect is indeed a highly relevant constraint for real-worlduse cases and we feel that evaluation and practical use ofstate-of-the-art malware detection approaches must fol-low a process that mimics the history of creation/arrivalof applications in markets as well as the history of ap-pearance of malware: detecting malware before they arepublicly distributed in markets is probably more usefulthan identifying them several months after they have been

Page 3: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

made available.Nevertheless, in the state-of-the-art literature, the

datasets of evaluation are borrowed from well-known la-belled repositories of apps, such as the Genome project,or constructed randomly, using market-downloadedapps, with the help of Antivirus products. However,the history of creation of the various apps that form thedatasets are rarely, if ever, considered, leading to situ-ations where some items in the training datasets are“from the future”, i.e., historically posterior to itemsin the tested dataset. Thus, different research questionsare systematically eluded in the discussion of malwaredetector performance:RQ-1. Is a randomly sampled training dataset equiva-lent to a dataset that is historically coherent to the testdataset?RQ-2. What is the impact of using malware knowledge”from the future” to detect malware in the present?RQ-3. How can the potential existence of families ofmalware impact the features that are considered by ma-chine learning classifiers?RQ-4. How fresh must be the apps from the trainingdataset to yield the best classification results?RQ-5. Is it sound/wise to account for all known malwareto build a training dataset?RQ-6. Finally, what are the steps to take towards build-ing a reliable training dataset?

This paper. We propose in this paper to investigatethe effect of ignoring/considering historical coherence inthe selection of training and test datasets for malware de-tection processes that are built on top of Machine learn-ing techniques. Indeed we note from literature reviewsthat most authors do not take this into account. Our ul-timate aim is thus to provide insights for building ap-proaches that are consistent with the practice of applica-tion –including malware– development and registrationinto markets. To this end, we have devised several typ-ical machine learning classifiers and built a set of fea-tures which are textual representations of basic blocksextracted from the Control-Flow Graph of applications’byte-code. Our experiments are also based on a sizeabledataset of about 200,000 Android applications collectedfrom sources that are used by authors of contributions onmachine learning-based malware detection.

The contributions of this paper are:

• We propose a thorough study of the history aspectin the selection of training datasets. Our discussionshighlight different biases that may be introduced ifthis aspect is ignored or misused.

• Through extensive experiments with tens of thou-sands of Android apps, we show the variations thatthe choice of datasets age can have on the malwaredetection output. To the best of our knowledge, we

are the first to raise this issue and to evaluate its im-portance in practice.

• We confirm, or show how our experiments support,various intuitions on Android malware, includingthe existence of so-called lineages.

• Finally, based on our findings, we discuss (1) the as-sessment protocols of machine learning-based mal-ware detection techniques, and (2) the design ofdatasets for training real-world malware detectors.

The remainder of this paper is organized as fol-lows. Section 2 provides some background on machinelearning-based malware detection and highlights the as-sociated assumptions on dataset constructions. We alsobriefly describe our own example of machine-learningbased malware detection. Section 3 presents relatedwork to support the ground for our work. Section 4 de-scribes the experiments that we have carried out to an-swer the research questions, and presents the take-homemessages derived from our empirical study. We proposea final discussion on our findings in Section 5 and con-clude in Section 6.

2 Preliminaries

The Android mobile platform has now become the mostpopular platform with estimated hundreds of thousandsof apps in the official Google Play market alone anddownloads in excess of billions. Unfortunately, as thispopularity has been growing, so is malicious software,i.e., malware, targeting this platform. Studies haveshown that, on average, Android malware remain unno-ticed up to 3 months before a security researcher stum-bles on it [6], leaving users vulnerable in the mean time.Security researchers are constantly working to proposenew malware detection techniques, including machinelearning-based approaches, to reduce this 3- months gap.The following sub-sections present the main conceptsupon which a machine learning approach is based. More-over, we describe our dataset and our overall methodol-ogy.

2.1 Malware Detection in the wild

In February 2012, Google has introduced theBouncer [23] which leverages on dynamic analysisto identify malware based on execution behavior. Thecurrent rates of malware appearing in Google Playdemonstrates however that this analysis can be cir-cumvented. Besides, a number of third party Androidmarkets are currently growing, most of which might takeless steps to scrutinize apps before upload.

2

Page 4: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

To better devise techniques and tools for fighting mal-ware, researchers must have at disposal an extensiveknowledge on existing malware. Unfortunately, spottingmalicious samples in Android is also difficult [6]: secu-rity practitionners have hard time collecting all Androidapps and end-users are not always aware of maliciousactivities that need reporting. To detect zero-day mal-ware attacks, i.e., attacks that were previously unknownto the malware detector, researchers resort to anomaly-based detection schemes [26]. They occur in two phases:a training phase during which the detector attempts tolearn to discriminate between the normal and abnormalbehavior/attributes, and a detection phase. Also referredto as machine learning-based detection schemes, theseapproaches are known to present two limitations: theyhave high false alarm rates and determining what fea-tures should be learned in the training phase is a complexendeavour. A key step in these approaches thus residesin the process of selecting datasets for training.

2.2 Machine Learning

As summarized by Alpaydin, “Machine Learning is pro-gramming computers to optimize a performance criterionusing example data or past experience” [3]. A commonmethod of learning is known as supervised learning, ascheme where the computer is helped through a first stepof training (as with a teacher). The training data consistsof Feature Vectors, each associated with a label, e.g., inour case, apps that are already known to be malicious(malware class) or benign (goodware class). After a runof the learning algorithm, the output is compared to thetarget output and learning parameters may be correctedaccording to the magnitude of the error. Consequently, toperform a learning that will allow a classification of appsinto the malware and goodware classes, the approachmust define a correlation measure and a discriminativefunction.

Malware features & Training data To devise an ef-fective similarity measure, one must first define whatapp metadata, or code, characteristics can provide thebest indicators of potential malicious activities. Suchfeatures must be extracted and potentially weighted fol-lowing their importance. Then, one must determine thethreshold (or a much more complex measure) of featuresvalue, that must be reached to be classified as malware.

As one could expect, given the importance of thethreshold and the kinds of features that will be retained asgood indicators, the extent and quality of training datasetwill drive all the assessment process. The training datasetmust thus be carefully sampled. The literature of An-droid malware detection includes diverse examples of

features, such as n-grams of source code, API usages,application permission uses, etc.

Machine Learning Algorithms & Other parametersThe execution of the machine learning process starts withthe construction of a classification model. The literatureof malware detection often implement approaches lever-aging one of the algorithms that are well-known in thecommunity of machine learning. For instance, the Weka1

framework provides, amongst many others, the Ran-domForest, J48, JRip and LibSVM implementations of,respectively, Support Vector Machine (SVM) [19], theRandomForest ensemble decision-trees algorithm [13],the RIPPER rule-learning algorithm [18] and the tree-based C4.5 algorithm [35]. A second variable of the pro-cess is the extent of the class imbalance between good-ware and malware in the training dataset. Finally, thevolume of features considered to discriminate malwarefrom goodware, also has an impact on the performanceof the detection technique.

In our work, because we focus exclusively on the his-tory aspect, we constrain all aforementioned variables tovalues that are widely used in the literature, or based onour own experiments which have allowed us to select themost appropriate settings. Furthermore, it is noteworthythat we do not aim for absolute performance, but rathermeasure performance delta between several approachesof constructing training datasets.

2.3 Working Example

In this section, we provide details on the machine-learning approach that will be used as a working exam-ple to investigate the importance of history in the selec-tion of training and test datasets. First, we show how ourfeatures are sound and how findings based on these canbe generalized to state-of-the-art techniques. Second, webriefly describe the features that we use.

A most common feature kind used in the literature ofmachine-learning is N-grams which have shown to beeffective for text classification. Kephart has then pro-posed to used N-grams for malware analysis [28], andwas recently followed by a large body of research in mal-ware detection which have leveraged n-grams to generatefile/program signatures for the training dataset of mal-ware [24, 29, 37]. We claim however that n-grams, byslicing raw code/data as strings, cannot optimally cap-ture the semantics of most malware, mainly because ma-licious software increasingly look like goodware whichthey often derive from. For the Android platform, Sahsand Khan have recently proposed [36] to use a combi-nation of Android permission and a representation of a

1http://www.cs.waikato.ac.nz/ml/weka/

3

Page 5: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

programs’ control-flow graphs (CFGs). Unfortunately,not all malware are related to a permission issue, andpermissions are often misused by developers [9]. Nev-ertheless, the CFGs contain much more information onthe execution behavior of a program. Thus, we builda technique that extracts, from an application program,data blocks that are semantically more relevant for exe-cuted software.

Practically, we perform static analysis of Android ap-plications’ bytecode to extract an abstract representationof the program’s CFG. We obtain a CFG that is expressedas character strings using a method devised by Pouik etal. in their work on establishing similarity between An-droid applications [34], and that is based on a grammarproposed by Cesare and Xiang [15]. The string rep-resentation of a CFG is an abstraction of the applica-tion’s code; it retains information about the structure ofthe code, but discards low-level details such as variablenames or register numbers. This property is desirablein the context of malware detection as two variants of amalware may share the same abstract CFG while havingdifferent bytecode. Given an application’s abstract CFG,we collect all basic blocks that compose it and refer tothem as the features of the application. A basic block isa sequence of instructions in the CFG with only one en-try point and one exit point. It thus represents the largestpiece of the program that is always executed altogether.By learning from the training dataset, it is possible toexpose, if any, the basic blocks that appear statisticallymore in malware. Overall, using an abstract representa-tion of the code could allow resisting to basic forms ofobfuscation, a threat to validity that n-grams-based ap-proaches cannot readily overcome.

The basic block representation used in our approachis a high-level abstraction of small parts of an Androidapplication. Depending on its position inside a method,one sequence of instructions may lead to different byte-code because of a renumbering of VM registers. Ourabstract basic block representation however will alwaysproduce the same string for one sequence of instructionsof a basic block, hence providing a higher resistance tocode variations than low-level representations such as n-grams computed on bytecode. For reproducibility pur-poses, and to allow the research community to build onour experience, the data we used (full feature matrix andlabels) is available on request.

2.4 Methodology

This study is carried out as a large scale experiment thataims at investigating the extent of the relevance of his-tory in assessing machine learning-based malware de-tection. This study is important for paving the road toa true success story of trending approaches to Android

Marketplace # of Android apps Percentageplay.google.com 78 460 38.04%

appchina 72 093 34.96%

1mobile 32,017 15.52%slideme 17 552 8.51%

anzhi 2 141 1.04%proandroid 1 605 0.78%

fdroid 1 222 0.59%genome 610 0.3%

freewarelovers 369 0.18%apk bang 168 0.08%

Table 1: Origin of the Android apks in our dataset

malware detection. To this end, our work must rely onan extensive dataset that is representative of real-worldAndroid apps and of datasets used in the state-of-the-artliterature. To account for the variety of classification al-gorithms in machine-learning approaches, we rely on theconclusions of a previous large-scale study by Allix etal. [2] with similar machine learning features. Based onthis study, we have chosen to use the RandomForrest al-gorithm which offers high classification performance. Toaccount for other execution parameters such as the ratiobetween goodware and malware in training datasets, weuse standard, or recurrent, settings found in the literature.

Dataset To perform this study we collect a largedataset of android apks from various markets. Table 1provides information on the distribution of the appli-cations in our dataset following the market where theyhave been crawled from. A large majority of our datasetcomes from play.google.com, the official market, andappchina.

An Android application is distributed as an .apk filewhich is actually a ZIP archive containing all the re-sources an application needs to run, such as the applica-tion binary code and images. An interesting side-effectof this package format is that all the files that makesan application go from the developers computer to end-users devices without any modification. In particular, allmetadata of the files contained in the .apk package, suchas the last modification date, are preserved. All bytecode,representing the application binary code, is assembledinto a classes.dex file that is produced at packaging-time.Thus the last modification date of this file represents thepackaging time. In the remainder of this paper, packag-ing date and compilation date will refer to this date.

To infer the historical distribution of the dataset appli-cations, we rely on compilation date at which the Dalvik2

bytecode (classes.dex file) was produced. We then sentall the app packages to be scanned by virus scanners

2Dalvik is the virtual machine running Android apps.

4

Page 6: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

0

5000

10000

15000

20000

25000

30000

08/2011M0

10/2011M2

12/2011M4

02/2012M6

04/2012M8

06/2012M10

08/2012M12

10/2012M14

12/2012M16

02/2013M18

04/2013M20

06/2013M22

08/2013M24

Total number of AppsNumber of Malware

Figure 1: Historical distribution and Malware Proportions

hosted by VirusTotal3. VirusTotal is a web portal whichhosts about 40 products from renown anti virus vendors,including McAfeer, Symantecr or Avastr. An appli-cation is labelled as malware if any scanner flags it assuch. Figure 1 depicts the distribution of dataset as wellas the percentage of malware found in the subset of eachmonth. The drop in the number of applications in cer-tain months are mainly due to some technical difficultiesthat we have experienced in the collection of apps frommarkets.

Machine learning Parameters In all our experiments,we have fixed the number of features to 5,000. We thusselected the 5,000 features with highest Information Gainvalues as measured on the training sets. The RandomFor-est algorithm was used for all our experiments.

3 Related Work

In this section, we propose to revisit related work tohighlight the benefits of our contributions in this paper.We briefly present previous empirical studies to highlighttheir significance for the malware detection field. Thenwe go over the literature of malware detection to discusstheir assessment protocol.

3.1 Empirical studiesEmpirical studies have seen a growing interest over theyears in the field of computer science. The weight ofempirical findings indeed help ensure that research di-rections and results are in line with practices. This isespecially important when assessing the performance ofa research approach. A large body of the literature has

3https://www.virustotal.com

resorted to extensive empirical studies for devising a reli-able experimental protocol [10,25,27]. Recently, Allix etal. have proposed a large-scale empirical studies on thedataset sizes used in the assessment of machine learning-based malware detection approaches [2]. In their work,the authors already questioned the assessment protocolsused in the state-of-the-art literature. Our work followsthe same objectives, aiming to highlight the importanceof building a reliable assessment protocol for researchapproaches, in order to make them more useful for real-world problems.

In the field of computer security, empirical studiespresent distinct challenges including the scarcity of dataabout cybercrimes. We refer the reader to a report byBohme and Moore [11]. Recently, Visaggio et al. empir-ically assessed different methods used in the literature fordetecting obfuscated code [41]. Our work is in the samespirit as theirs, since we also compare different methodsof selecting training datasets and draw insights for theresearch community.

With regards to state-of-the-art literature tackled inthis work, we note that a significant amount of MachineLearning approaches to malware detection has been pre-sented to the research community [1, 7, 8, 16, 22, 30].Although most of those approaches could not be repro-duced due to undisclosed parameters and/or undiscloseddatasets, we have compared their performance indicatorswith our classifiers in similar 10-Fold evaluation setups.Our classifiers achieved (1) better relative performancemetrics, and (2) high absolute performance metrics. Thisdemonstrates the soundness of the feature set we base ourexperiments on. We further note that in the assessmentprotocol of all these approaches, the history aspect waseluded when selecting training datasets.

5

Page 7: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

Approach Year Sources Historical Coherence[36] 2012 Undisclosed No

DROIDMAT [42] 2012 Contagio mobile for malware, Google Play for goodware No

[14] 2013 ”common Android Markets” for goodware, ”public databases of antivirus companies” for malware No

[4] 2013 Genome, VirusTotal, Google Play No

[20] 2013 Contagio mobile and Genome for malware, Undisclosed for goodware No

[43] 2013 ”from official and third party Android markets” for Goodware, Genome for malware No

[22] 2013 Google Play (labels from 10 commercial Anti virus scanners) No

DREBIN [7] 2014 ”Genome, Google Play, Chinese and russian markets, VirusTotal No

Table 2: A selection of Android malware detection approaches

3.2 Malware Detection & Assessment ofapproaches

We now review the assessment of malware detectiontechniques that are based on machine learning. For com-paring performances with our own approach, we focusfirst on techniques that have been applied to the Androidecosystem. In Table 2, we list recent “successful” ap-proaches from the literature of malware detection. Wedescribe the origin of the dataset used for the assessmentof the different approaches. For many of them, the appli-cations are borrowed from known collections of malwaresamples or from markets such as Google Play. They of-ten use scanners from VirusTotal to construct the groundtruth. In our approach, we have obtained our datasets inthe same ways. Unfortunately, to the best of our knowl-edge and according to their protocol descriptions fromthe literature, none of the authors has considered clearlyordering the data to take into account the history aspect.It is therefore unfortunate that the high performancesrecorded by these approaches may never affect the fightagainst malware in applications markets.

Android malware detection The most recent achieve-ment on machine learning-based malware detection forAndroid is DREBIN [7]. The authors of this approachhave relied on different features from the manifest fileas well as the byte code to build its SVM classifiers.The performance recorded in their paper are compara-ble to the performances obtained with our classifiers builtduring history-unaware 10-Fold experiments. DREBINgoes further by providing explainable outputs, i.e., be-ing able to somehow justify why an app was classifiedas malware. Unfortunately, these performance recordsmight have the effect of a sword cutting through watersince the authors do not mention taking into account real-world constraints such as the relevance of history.

In the remainder of this section we list related work,provide details on the size of their dataset and comparethem to our history-unaware 10-Fold experiments. Noneof them has indeed taken into account the history aspect

in their assessment protocol. In 2012, Sahs & Khan [36]built an Android malware detector with features basedon a combination of Android-specific permissions and aControl-Flow Graph representation. Their classifier wastested with k-Fold 4 cross validation on a dataset of 91malware and 2 081 goodware. We obtained comparablevalues of recall but much higher values for precision andF-measure. Using permissions and API calls as features,Wu et al. [42] performed their experiments on a datasetof 1 500 goodware and 238 malware. Many of our clas-sifiers exhibit higher values of both precision and recallthan theirs. In 2013, Amos et al. [4] leveraged dynamicapplication profiling in their malware detector. The eval-uation metrics of their 10-fold experiment are slightlylower than ours. Demme et al. [20] also used dynamicapplication analysis to perform malware detection witha dataset of 210 goodware and 503 malware. Many ofour 10-fold classifiers achieved higher performance thantheir best classifier. Yerima et al. [43] built malware clas-sifiers based on API calls, external program executionand permissions. Their dataset consists of 1 000 good-ware and 1 000 malware. Many of our 10-fold classi-fiers achieved higher performance than their best classi-fier. Canfora et al. [14] experimented feature sets basedon SysCalls and permissions. Their classifiers, evaluatedon a dataset of 200 goodware and 200 malware, yieldedlower precision and lower recall than ours.

Windows malware detection We have also exploredthe research of machine learning-based malware detec-tion for the Windows® platform. Approaches for thisplatform have indeed inspired Android researchers andexperiments on Windows malware have provided in-sights for dealing with Android malware. As for An-droid approaches, we describe the features used and thesize of datasets. History aspects are however less rele-vant in these cases, since there is no notion of market andapplications apparition/registration time. Kolter & Mal-oof [29] performed malware classification on WindowsExecutable files. Using n-grams extracted from those

4The value of k used by Sahs & Khan was not disclosed.

6

Page 8: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

binary files, and the Information Gain feature selectionmethod, they obtained high performance metrics with10-Fold experimentations on two collections: The firstone consisting in 476 malware and 561 goodware, thesecond one containing 1 651 malware and 1 971 good-ware. Many of our 10-fold classifiers achieved higherperformance metrics. In 2006, Henchiri & Japkow-icz [24] provided experimental results of a malware de-tector based on a sophisticated n-grams selection algo-rithm. They evaluated their classifier using 5-Fold5 on adataset of 3 000 samples, of which 1 512 were malwareand 1488 were goodware. The majority of our classi-fiers achieved better results than Henchiri & Japkowiczbest ones, even though we used a simple feature selectionmethod. Zhang et al. [44] leveraged a multi-classifiercombination to build a malware detector. They evalu-ated the quality of their detector with the 5-Fold methodon three datasets, each containing 150 malware and 423goodware. The features they are using are based on n-grams, and are selected with InfoGain. Zhang et al. men-tions testing on a larger dataset as a future work. Schultzand al. [38] performed malware detection using stringsand byte sequences as features. They obtained very highrecall and precision with 5-fold Cross Validation on adataset of 4 266 Windows executables (3 265 known ma-licious binaries and 1 001 benign). Many of our clas-sifiers performed similarly good or better. Perdisci etal. [31] built a packed executable detector that achievednear 99% accuracy. Their classifiers were trained on4 493 labelled executables and then tested on 1 005 bina-ries. The same authors leveraged their packed executabledetection method in [32] and added two malicious codedetectors, one of which is based on n-grams. They firstevaluated one of this detector with 5-fold cross valida-tion on 2 229 goodware and 128 malware and the otherdetector with 3 856 malware and 169 goodware. Finally,their complete approach called “McBoost” was evaluatedwith 5-fold on 3 830 malware and 503 goodware. Tahanet al. recently presented “Mal-ID” [40], a malware detec-tor that relies on high-level features obtained with StaticAnalysis. Their experiments are performed with 10-foldon a dataset built with 2 627 benign executables and 849known malware.

4 Experimental Findings

In this section, we report on the experiments that we haveconducted, and highlight the findings. First we discussto what extent it is important that datasets remain histor-ically coherent, as opposed to being selected at random(cf. Section 4.1). This discussion is based on qualitative

5While 10-Fold is equivalent to testing 10 times on 10% while beingtrained on 90% of the dataset, 5-Fold is equivalent to testing 5 times on20% while being trained on 80% of the dataset.

aspects as well as quantitative evaluation. Second, weconduct experiments that attempt to provide a hint to theexistence of lineages in Android malware in Section 4.2.Subsequently, we investigate in Section 4.3 the bias intraining with new data for testing with old data, and in-versely. Finally, we investigate the limitations of a naiveapproach which would consist in accumulating informa-tion on malware samples as time goes, in the hope ofbeing more inclusive in the detection of malware in thefuture (cf. Section 4.4).

4.1 History-aware Construction of Train-ing datasets

As described in Section 2.2, a key step of machine-learning approaches is the training of classifiers. Theconstruction of the corresponding training dataset is con-sequently of importance, yet details about how it isachieved are largely missing from the literature.

There are two common selection patterns for trainingdatasets: (1) use a collected and published dataset of mal-ware, such as Genome, to which one adds a subset ofconfirmed goodware; (2) build the dataset by randomlypicking a subset of goodware and malware from a datasetcollected from either an online market or an open repos-itory. Both patterns lead to the same situations: i.e. thatsome items in the training dataset may be historicallyposterior to items in the tested dataset. In other words:

• the construction of the training set is equivalent toa random history-unaware selection from a mix ofknown malware and goodware

• the history of creation/apparition of android appli-cations is not considered as a parameter in assess-ment experiments, although the practice of malwaredetection will face this constraint

Following industry practices, when a newly uploadedset of applications must be analyzed for malware identi-fication, the training datasets that are used are, necessar-ily, historically anterior to the new set. This constraint ishowever eluded in the validation of malware detectiontechniques in the research literature. To clearly high-light the bias introduced by current assessment protocols,we have devised an experiment that compares the per-formance of the machine learning detectors in differentscenarios. The malware detectors are based on classi-fiers that are built in two distinct settings: either withrandomly-constructed training datasets using a processdescribed in Figure 2, or with datasets that respect thehistory constraint. To reduce the bias between these com-parisons, we ensure that the datasets are of identical sizesand with the same class imbalance between goodwareand malware. Thus to build a history-unaware dataset R0

7

Page 9: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

M0 M1 M2 M3 M4 M5 M6 M7 M8 M9

Whole Dataset SHUFFLE

Select X Goodware

Select Y Malware

R0

X = number o f goodware in M0

Y = number o f malware in M0

Figure 2: Process of constructing a random training dataset R0 for comparison with the training dataset constituted ofall data from month M0

M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10

R0 ......

Figure 3: Classification process: the training dataset is either the dataset of a given month (e.g., M0) or a randomdataset constructing as in Figure 2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1

08/2011 12/2011 04/2012 08/2012 12/2013 05/2013 08/2013

Month0-PrecisionMonth0-Recall

Month0-F1Random0-Precision

Random0-RecallRandom0-F1

Reading: The Month0 curves show metrics for a classfier trained on the month 0, while the Random0 curves present results for aclassifier built with a training set of same size and same goodware/malware ratio as month 0, but drawn randomly from the whole

dataset.

Figure 4: Performance of malware detectors with history-aware and with history-unaware selection of training datasets

for comparing with training dataset constituted of datafrom month M0, we randomly pick within the wholedataset the same numbers of goodware and malware asin M0. We perform the experiments by training first on

M0 and testing on all following months, then by trainingon R0 and testing on all months (cf. Figure 3).

Figure 4 illustrates the results of our experiments.When we randomly select the training dataset from the

8

Page 10: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1

08/2011 12/2011 04/2012 08/2012 12/2013 05/2013 08/2013

Month10-PrecisionMonth10-Recall

Month10-F1Random10-Precision

Random10-RecallRandom10-F1

Figure 5: Performance of malware detectors: the trainingset is drawn randomly either from the whole dataset orfrom apps of month M10

entire dataset and build classifiers for testing applicationsregrouped by month, the precision and recall values ofthe malware detector range between 0.5 and 0.85. Theobtained F-Measure is also relatively high and roughlystable. This performance is in line with the performancesof state-of-the-art approaches reported in the literature.

We then proceed to constrain the training dataset to behistorically coherent to the test dataset. We select mal-ware and benign apps in the set of apps from a givenmonth, e.g., M0, as the source of data for building thetraining dataset for the classification. The tests sets re-main the same as in the previous experiments, i.e., thedatasets of applications regrouped by month. We observethat as we move away from M0 to select a test data, theperformance considerably drops.

We have repeated this experiment, alternatively select-ing each of the different month from our time-line as themonth from which we draw the training dataset. Thenwe only consider testing applications that are posteriorto the selected month. Figure 5 illustrates results whenselecting training datasets from month M10.

Finding RQ-1: Constructing a training dataset that isconsistent with the history of apparition of applicationsyields performances that are significantly worst thanwhat is obtained when simply randomly collecting ap-plications in markets and repositories. Thus, withoutfurther assessment, state-of-the-art approaches can-not be said to be powerful in real-world settings.

Finding RQ-2: With random selections, we allow mal-ware ”from the future” to be part of the training sets.This however leads to biased results since the perfor-mance metrics are artificially improved.

M0 M1 M2 M3 M4 M5

M0 M1 M2 M3 M4 M5

M0 M1 M2 M3 M4 M5

Figure 6: Using training dataset from 1 month for testingon all datasets of following months

4.2 Lineages in Android Malware

Our second round of experiments has consisted in inves-tigating the capabilities of a training dataset to help buildclassifiers that will remain performant over time. In thisstep of the study we aim at discovering how the varietyof malware is distributed across time. To this end, weconsider building training datasets with applications ineach month and test the yielded classifiers with the dataof each following months as depicted in Figure 6.

Figures 7 and 8 provide graphs of the evolution overtime of, on the one hand, F-Measure and, on the otherhand, Precision and Recall of malware detectors thathave been build with a training dataset at month Mi andapplied on months Mk,k>i. Disregarding outliers whichlead to the numerous abrupt rise and breaks in the curves,the yielded classifiers have, on average, a stable and highPrecision, with values around 0.8. This stability of Pre-cision is confirmed by the shape of the Recall and F-Measure curves. Indeed, these curves is similar, imply-ing that the variations of Recall have more impact on theharmonic measure than the Precision. This finding sug-gests that whatever the combination of training and testdataset months, the built classifiers still allow to iden-tify with good precision the malware whose features havebeen learned during training.

On the other hand, the Recall performance degradesover time: for a given month Mi whose applications havebeen used for the training datasets, the obtained classifieris less and less able to identify all malware in the follow-ing months Mk,k>i. This finding, correlated to the pre-vious one, suggests that, over time, the features that arelearned in the training dataset correspond less and less toall malware when we are in the presence of lineages inthe Android malware. We define a lineage as a set ofmalware that share the same traits, whether in terms ofbehavior or of coding attributes. Note that we differen-tiate the term lineage from the term family which, inthe literature, concern a set of malware that exploit the

9

Page 11: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

08/2011M0

10/2011M2

12/2011M4

02/2012M6

04/2012M8

06/2012M10

08/2012M12

10/2012M14

12/2012M16

02/2013M18

04/2013M20

06/2013M22

08/2013M24

F-M

easu

reMonth0 Month1 Month2 Month3 Month4 Month5 Month6 Month7 Month8 Month9

Month10 Month11 Month12

Month13 Month14 Month15 Month16 Month17 Month18 Month19 Month20 Month21 Month22 Month23 Month24

Figure 7: Performance Evolution of malware detectors over time

same vulnerability. Lineage is a more general term.The experiments also highlight the bias introduced

when training classifiers with a specific and un-renewedset of malware, such as the Genome dataset. It also con-firms why the random selection of malware in the entiretime-line as presented in Section 4.1, provides good per-formances: many lineages are indeed represented in suchtraining datasets, including lineages that should have ap-peared for the first time in the test dataset.

0

0.2

0.4

0.6

0.8

1

08/2011M0

10/2011M2

12/2011M4

02/2012M6

04/2012M8

06/2012M10

08/2012M12

10/2012M14

12/2012M16

02/2013M18

04/2013M20

06/2013M22

08/2013M24

Prec

ision

Month0 Month1 Month2 Month3 Month4 Month5 Month6 Month7 Month8 Month9

Month10 Month11 Month12

Month13 Month14 Month15 Month16 Month17 Month18 Month19 Month20 Month21 Month22 Month23 Month24

a) Precision of malware detectors

0

0.1

0.2

0.3

0.4

0.5

0.6

08/2011M0

10/2011M2

12/2011M4

02/2012M6

04/2012M8

06/2012M10

08/2012M12

10/2012M14

12/2012M16

02/2013M18

04/2013M20

06/2013M22

08/2013M24

Reca

ll

Month0 Month1 Month2 Month3 Month4 Month5 Month6 Month7 Month8 Month9

Month10 Month11 Month12

Month13 Month14 Month15 Month16 Month17 Month18 Month19 Month20 Month21 Month22 Month23 Month24

b) Recall of malware detectors

Figure 8: Evolution of Precision and Recall evolution ofmalware detectors over time

Finding-RQ3: Android malware is diversified. The ex-istence of lineages complicates malware detection, sincetraining datasets must be regularly updated to include alarger variety of malware lineages representatives.

4.3 Is knowledge “from the future” theGrail?

Previous experiments have shown that using applica-tions from the entire time-line, without any historicalconstraint, favorably impacts the performance of mal-ware detectors. We have then proceeded to show that,when the training dataset is too old compared to the testdataset, this performance drops significantly. We now in-vestigate whether training data that are strictly posteriorto the test dataset could yield better performance than us-ing data that are historically anterior (coherent). Such abiased construction of datasets is not fair when the ob-jective is to actively keep malicious apps from reachingthe public domain. However, such a construction can bejustified by the assumption that the present might alwayscontain representatives of malware lineages that have ap-peared in the past.

In the Android ecosystem, thousands of applicationsare created weekly by developers. Most of them, includ-ing malware from new lineages, cannot be thoroughlychecked. Nevertheless, after some time, antivirus ven-dors may identify the new malware. Machine-learningprocesses can thus be used to automate a large-scaleidentification of malware in applications that have beenmade available for some time. Figure 9 depicts the F-Measure performance evolution of the malware detec-tors: for each month Mi, that is used for training, the ob-tained classifiers are used to predict malware in the pre-vious months Mk,k<i. The Recall evolution, outlined in

10

Page 12: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

08/2011M0

10/2011M2

12/2011M4

02/2012M6

04/2012M8

06/2012M10

08/2012M12

10/2012M14

12/2012M16

02/2013M18

04/2013M20

06/2013M22

08/2013M24

F-M

easu

reMonth0 Month1 Month2 Month3 Month4 Month5 Month6 Month7 Month8 Month9

Month10 Month11 Month12

Month13 Month14 Month15 Month16 Month17 Month18 Month19 Month20 Month21 Month22 Month23 Month24

Figure 9: Performance of malware detectors when using recent data to test on old datasets

Figure 10, and the F-Measure evolution follow the samevariations, suggesting that the impact of the average vari-ations of the Precision is marginal, despite the shape ofthe curve which should be attributed to outliers. Overall,the performance is dropping significantly with the timedifference between test and training datasets.

0

0.2

0.4

0.6

0.8

1

08/2011M0

10/2011M2

12/2011M4

02/2012M6

04/2012M8

06/2012M10

08/2012M12

10/2012M14

12/2012M16

02/2013M18

04/2013M20

06/2013M22

08/2013M24

Prec

ision

Month0 Month1 Month2 Month3 Month4 Month5 Month6 Month7 Month8 Month9

Month10 Month11 Month12 Month13

Month14 Month15 Month16 Month17 Month18 Month19 Month20 Month21 Month22 Month23 Month24

a) Precision of malware detectors

0

0.1

0.2

0.3

0.4

0.5

0.6

08/2011M0

10/2011M2

12/2011M4

02/2012M6

04/2012M8

06/2012M10

08/2012M12

10/2012M14

12/2012M16

02/2013M18

04/2013M20

06/2013M22

08/2013M24

Reca

ll

Month0 Month1 Month2 Month3 Month4 Month5 Month6 Month7 Month8 Month9

Month10 Month11 Month12

Month13 Month14 Month15 Month16 Month17 Month18 Month19 Month20 Month21 Month22 Month23 Month24

b) Recall of malware detectors

Figure 10: Evolution of Precision and Recall of malwaredetectors when using recent data to test on old datasets

Finding-RQ4: Applications, including malware, usedfor training in machine learning-based malware detec-tion must be historically close to the target dataset that istested. Older training datasets indeed cannot account for

all malware lineages, and newer datasets do not containenough representatives of most malware from the past.

4.4 Naive Approaches to the Constructionof Training Datasets

Given the findings of our study presented in previoussections, we investigate through extensive experimentsthe design of a potential research approach for malwaredetection which will be in line with the constraints of in-dustry practices. At a given time t, one can only buildclassifiers using datasets that are anterior to t. Never-theless, to improve our chances of maintaining perfor-mance, two protocols can be followed:

(1) Keep renewing the training dataset entirely to stayhistorically close to the target dataset of test. Thisrenewal process must however be automated to re-main realistic. In this scenario, we assume that abootstrap step is achieved with antivirus products atmonth M0 to provide a first reliable training dataset.The malware detection system is then on its own forthe following months. Thus, the classification thatis obtained on month M1, using month M0 for train-ing, will be used “as is” to train the classifiers fortesting applications data of month M2. This systemis iterated until month Mn as depicted in Figure 11,meaning that, once it is bootstrapped, the detectionsystem is automated and only relies on its test re-sults to keep training new classifiers. In practice,such an approach makes sense due to the high pre-cision values recorded in previous experiments.

(2) Include greedily the most knowledge one can col-lect on malware lineages This scenario is also au-

11

Page 13: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

M0 M1 M2 M3 M4 M5

Figure 11: Using malware classification results of month Mn−1 as training dataset for testing month Mn

0

0.2

0.4

0.6

0.8

1

08/2011M0

10/2011M2

12/2011M4

02/2012M6

04/2012M8

06/2012M10

08/2012M12

10/2012M14

12/2012M16

02/2013M18

04/2013M20

06/2013M22

08/2013M24

Prec

ision

Month0Scenario 1Scenario 2

a) Comparison based on the Precision metric

0

0.2

0.4

0.6

0.8

1

08/2011M0

10/2011M2

12/2011M4

02/2012M6

04/2012M8

06/2012M10

08/2012M12

10/2012M14

12/2012M16

02/2013M18

04/2013M20

06/2013M22

08/2013M24

Reca

ll

Month0Scenario 1Scenario 2

a) Comparison based on the Recall metric

Figure 12: Comparing two naive approaches to the baseline of history-aware approach

tomated and requires bootstrapping. However, in-stead of renewing the training dataset entirely eachmonth, new classification results are added to theexisting training dataset and used to build classifiersfor the following month.

Figure 12 shows the Precision and Recall performanceobtained in both scenarios. We compare these cases tothe baseline scenario where we keep using the classifiersobtained at month M0 with labels from antivirus productsto detect malware for every other month (cf. Section 4.1).The graphs show that by constantly using “fresh” data fortraining in Scenario 1, we maintain the precision at stableand higher rate than the baseline. However, by continu-ously adding malware to form a training datasets with ap-plications that are more or less fresh, we witness a steadydegradation of Precision in Scenario 2. The Recall per-formance on the other hand follows opposite evolutions.In Scenario 1, using fresh data obtained by classifiersbased on the data of previous month, leads to a steadydrop in Recall, while adding new malware detected to thetraining datasets allows to maintain the Recall around tothe original baseline.

Both of these naive approaches have opposite advan-tages and drawbacks. They provide insights, throughempirical evidence, on how machine learning-based mal-ware detection systems should consider the constructionof training datasets.

Finding-RQ5: Maintaining performance of malwaredetectors cannot be achieved by simply adding/renewinginformation in training datasets based on the output ofprevious runs. However, these scenarios have shown in-teresting impact on performance evolution over time, andmust be further investigated to identify the right balance.

5 Discussion, Insights and Future work

In this section we summarize the key points developed inthis paper to enumerate the insights provided by our find-ings. Based on these experimental results, we plan ourfuture work to devise realistic approaches for Androidmalware detection using machine-learning techniques.

Findings

• History constraints must not be eluded in the con-struction of training datasets of machine learning-based malware detectors. Indeed, they introducesignificant bias in the interpretation of the perfor-mance of malware classifiers.

• There is a need for building a reliable, and contin-uously updated, benchmark for machine learning-based malware detection approaches. We makeavailable, upon request, the version we have builtfor this work. Our benchmark dataset containsabout 200,000 Android applications spanning 2years of historical data of Android malware.

Insights

• Machine-learning cannot assure the identification ofan entirely new lineage of malware that is not repre-sented in the training dataset. Thus, there is need toregularly seed the process with outside information,such as from antivirus vendors, of new lineages ofmalware.

• In real world settings, practitioners cannot be pre-sented with a reliable dataset for training. Indeed,most malware are discovered, often manually, by

12

Page 14: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

antivirus vendors far later after they have been avail-able to end-users. Large-scale ML-based malwaredetection must therefore be used to automate thediscovery of variants of malware which have beenauthenticated in a separate process.

Finding-RQ6: Building a reliable training dataset forobtaining the best real-world performance requires aright balance between the need for maximizing fresh dataand the need for including samples of most malware lin-eages.

Threat to Validity

To perform this study, we have considered a uniqueuse-case scenario for using machine learning-basedmalware detection. This scenario consists inActively preventing malware from reaching marketsand is extremely relevant to most real-world constraints.Indeed, in practice, it is important to keep the windowof opportunity very narrow. Thus, to limit the number ofinfected devices, Android malware must be detected asthey arrive in the market. It is therefore important thatstate-of-the-art approaches be properly assessed, takinginto account history constraints.

There is however a second use-case scenario whichconcerns online repositories for research and would con-sist on cleaning such repositories regularly. In this sce-nario, repositories maintainers attempt to filter maliciousapps once a new kind of malware has been discovered.In such a context, practitioners can afford to wait for along time before building relevant classifiers for iden-tifying malware that have been since in the repository.Nevertheless, such repositories are generally of reason-able size and can be scanned manually and with the helpof anti virus products.

Future work

• Building on the insights of our experiments, weplan to investigate how to maintain the performanceof machine learning-based malware detectors untilantivirus vendors can detect a new strain of mal-ware. This research direction could help bring re-search work to be applied on real-world processes,in conjunction with antivirus products which arestill widely used, although they do not scale to thecurrent rates of malware production.

• To account for the evolution of representations ofmalware lineages in training datasets over time, weplan to investigate a multi-classifier approach, eachclassifier being trained with more or less outdated

data and weighted accordingly. A first challengewill be on how to infer or automate the choice ofweights for different months in the timeline to buildthe most representative training dataset.

6 Conclusion

Given the steady increase in the adoption of smartphonesworldwide, and the growth of application developmentfor such devices, it is becoming important to protectusers from the damages of malicious apps. Malware de-tection has thus been in recent years the subject of re-newed interest, and researchers are investigating scalabletechniques to spot and filter out apps with malicious traitsamong thousands of benign apps.

However, more than in other fields, research in com-puter security must yield techniques and approaches thatare truly usable in real-world settings. To that end, as-sessment protocols of malware detection research ap-proaches must reflect the practice and constraints ob-served by market maintainers and users. Through thisempirical study we aim to prevent security research fromproducing approaches and techniques that are not in linewith reality. Furthermore, given the performances re-ported in state-of-the-art literature of malware detection,while market maintainers still struggle to keep malwareout of markets, it becomes important to clear the researchfield by questioning current assessment protocols.

In this paper, we have investigated the relevance ofhistory in the selection of assessment datasets. We haveperformed large-scale experiments to highlight the dif-ferent bias that can be exhibited by different scenarios ofdataset selection. Our main conclusion is that the assess-ment protocol used for current approaches in the state-of-the-art literature is far from the reality of a malwaredetection practice for keeping application markets clean.We have further investigated naive approaches to trainingdataset construction and drawn insights for future workby the research community.

References

[1] AAFER, Y., DU, W., AND YIN, H. Droidapiminer:Mining api-level features for robust malware detec-tion in android. In Proceedings of the InternationalConference on Security and Privacy in Communi-cation Networks (2013), SecureComm.

[2] ALLIX, K., BISSYANDE, T. F., JEROME, Q.,KLEIN, J., STATE, R., AND LE TRAON, Y. Large-scale machine learning-based malware detection:Confronting the ”10-fold cross validation”schemewith reality. In Proceedings of the Fifth ACM Con-

13

Page 15: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

ference on Data and Application Security and Pri-vacy (2014), CODASPY.

[3] ALPAYDIN, E. Introduction to Machine Learning,2nd ed. The MIT Press, 2010.

[4] AMOS, B., TURNER, H., AND WHITE, J. Ap-plying machine learning classifiers to dynamic an-droid malware detection at scale. In Proceedingsof 9th International Wireless Communications andMobile Computing Conference (2013), IWCMC,pp. 1666–1671.

[5] APPBRAIN. Number of available android ap-plications. http://www.appbrain.com/stats/

number-of-android-apps. Accessed: 2013-09-09.

[6] APVRILLE, A., AND STRAZZERE, T. Reducingthe window of opportunity for android malwaregotta catch ’em all. Journal of Computer Virology8, 1-2 (May 2012), 61–71.

[7] ARP, D., SPREITZENBARTH, M., HUBNER, M.,GASCON, H., AND RIECK, K. Drebin: Ef-fective and explainable detection of android mal-ware in your pocket. In Proceedings of the Net-work and Distributed System Security Symposium(2014), NDSS.

[8] BARRERA, D., KAYACIK, H., VAN OORSCHOT,P., AND SOMAYAJI, A. A methodology for em-pirical analysis of permission-based security mod-els and its applications to android. In Proceedingsof ACM Conference on Computer and Communica-tions Security (2010), CCS.

[9] BARTEL, A., KLEIN, J., LE TRAON, Y.,AND MONPERRUS, M. Automatically securingpermission-based software by reducing the attacksurface: an application to android. In AutomatedSoftware Engineering (ASE), 2012 Proceedings ofthe 27th IEEE/ACM International Conference on(Sept 2012), pp. 274–277.

[10] BISSYANDE, T. F., THUNG, F., WANG, S., LO,D., JIANG, L., AND REVEILLERE, L. Empiri-cal Evaluation of Bug Linking. In 17th EuropeanConference on Software Maintenance and Reengi-neering (CSMR 2013) (Genova, Italy, Mar. 2013),pp. 1–10.

[11] BOHME, R., AND MOORE, T. Challenges in em-pirical security research. Tech. rep., SingapooreManagement University, 2012.

[12] BOSHMAF, Y., RIPEANU, M., BEZNOSOV, K.,ZEEUWEN, K., CORNELL, D., AND SAMOS-SEIKO, D. Augur: Aiding malware detection us-ing large-scale machine learning. In Proceedingsof the 21st Usenix Security Symposium (Poster ses-sion) (Aug 2012).

[13] BREIMAN, L. Random forests. Machine learning45, 1 (2001), 5–32.

[14] CANFORA, G., MERCALDO, F., AND VISAGGIO,C. A. A classifier of malicious android appli-cations. In Proceedings on the 8th Conferenceon Availability, Reliability and Security (ARES)(2013).

[15] CESARE, S., AND XIANG, Y. Classification ofmalware using structured control flow. In Pro-ceedings of the Eighth Australasian Symposium onParallel and Distributed Computing - Volume 107(Darlinghurst, Australia, Australia, 2010), AusPDC’10, Australian Computer Society, Inc., pp. 61–70.

[16] CHAKRADEO, S., REAVES, B., TRAYNOR, P.,AND ENCK, W. Mast: Triage for market-scale mo-bile malware analysis. In Proceedings of ACM Con-ference on Security and Privacy in Wireless andMobile Networks (2013), WISEC.

[17] CHAU, D. H., NACHENBERG, C., WILHELM, J.,WRIGHT, A., AND FALOUTSOS, C. Polonium:Tera-scale graph mining for malware detection. InACM SIGKDD Conference on Knowledge Discov-ery and Data Mining (2010).

[18] COHEN, W. W. Fast effective rule induction. InProceedings of the International Machine LearningConference (1995), Morgan Kaufmann Publishers,Inc., pp. 115–123.

[19] CORTES, C., AND VAPNIK, V. Support-vector net-works. Machine Learning 20, 3 (1995), 273–297.

[20] DEMME, J., MAYCOCK, M., SCHMITZ, J., TANG,A., WAKSMAN, A., SETHUMADHAVAN, S., ANDSTOLFO, S. On the feasibility of online malwaredetection with performance counters. In Proceed-ings of the 40th Annual International Symposiumon Computer Architecture (New York, NY, USA,2013), ISCA ’13, ACM, pp. 559–570.

[21] ENCK, W., OCTEAU, D., MCDANIEL, P., ANDCHAUDHURI, S. A study of android applicationsecurity. In Proceedings of the 20th USENIX con-ference on Security (San Francisco, CA, 2011),SEC’11, pp. 21–21.

14

Page 16: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

[22] GASCON, H., YAMAGUCHI, F., ARP, D., ANDRIECK, K. Structural detection of android malwareusing embedded call graphs. AISec.

[23] GOOGLE. Android and security(bouncer announcement). http://

googlemobile.blogspot.fr/2012/02/

android-and-security.html, Feb. 2012.Accessed: 2013-05-30.

[24] HENCHIRI, O., AND JAPKOWICZ, N. A featureselection and evaluation scheme for computer virusdetection. In Proceedings of the Sixth Interna-tional Conference on Data Mining (Washington,DC, USA, 2006), ICDM ’06.

[25] HUTCHINS, M., FOSTER, H., GORADIA, T., ANDOSTRAND, T. Experiments of the effectiveness ofdataflow-and controlflow-based test adequacy cri-teria. In Proceedings of the 16th internationalconference on Software engineering (1994), ICSE,pp. 191–200.

[26] IDIKA, M. A survey of malware detection tech-niques. Tech. rep., Purdue University, Feb. 2007.

[27] JONES, J. A., AND HARROLD, M. J. Empir-ical evaluation of the tarantula automatic fault-localization technique. In Proceedings of the 20thIEEE/ACM international Conference on Automatedsoftware engineering (2005), ASE, ACM, pp. 273–282.

[28] KEPHART, J. O. A biologically inspired immunesystem for computers. In Proceedings of the FourthInternational Workshop on the Synthesis and Sim-ulation of Living Systems (1994), Artificial Life IV,MIT Press, pp. 130–139.

[29] KOLTER, J. Z., AND MALOOF, M. A. Learn-ing to detect and classify malicious executables inthe wild. Journal of Machine Learning Research 7(Dec. 2006), 2721–2744.

[30] PENG, H., GATES, C. S., SARMA, B. P., LI, N.,QI, Y., POTHARAJU, R., NITA-ROTARU, C., ANDMOLLOY, I. Using probabilistic generative modelsfor rangking risks of android apps. In Proceedingsof ACM Conference on Computer and Communica-tions Security (2012), CCS.

[31] PERDISCI, R., LANZI, A., AND LEE, W. Classifi-cation of packed executables for accurate computervirus detection. Pattern Recognition Letters 29, 14(2008), 1941 – 1946.

[32] PERDISCI, R., LANZI, A., AND LEE, W. Mc-boost: Boosting scalability in malware collectionand analysis using statistical classification of exe-cutables. In Proceedings of the Annual ComputerSecurity Applications Conference (2008), ACSAC,pp. 301–310.

[33] PIETERSE, H., AND OLIVIER, M. Android botnetson the rise: Trends and characteristics. In Proceed-ings of the Conference on Information Security forSouth Africa (2012), ISSA, pp. 1–5.

[34] POUIK, AND G0RFI3LD. Similarities for fun &profit. Phrack 14, 68 (April 2012). http://www.

phrack.org/issues.html?id=15&issue=68.

[35] QUINLAN, J. R. C4. 5: programs for machinelearning, vol. 1. Morgan kaufmann, 1993.

[36] SAHS, J., AND KHAN, L. A machine learningapproach to android malware detection. In Pro-ceedings of the IEEE European Intelligence andSecurity Informatics Conference (2012), EISIC,pp. 141–147.

[37] SANTOS, I., PENYA, Y. K., DEVESA, J., ANDBRINGAS, P. G. N-grams-based file signatures formalware detection. In Proceedings of the Interna-tional Conference on Enterprise Information Sys-tems (2009), ICEIS, pp. 317–320.

[38] SCHULTZ, M., ESKIN, E., ZADOK, E., ANDSTOLFO, S. Data mining methods for detection ofnew malicious executables. In IEEE Symposium onSecurity and Privacy (2001), S&P, pp. 38–49.

[39] SU, X., CHUAH, M., AND TAN, G. Smartphonedual defense protection framework: Detecting ma-licious applications in android markets. In EighthIEEE International Conference on Mobile Ad-hocand Sensor Networks (2012), MSN, pp. 153–160.

[40] TAHAN, G., ROKACH, L., AND SHAHAR, Y. Mal-id: Automatic malware detection using commonsegment analysis and meta-features. Journal of Ma-chine Learning Research 13 (Apr. 2012), 949–979.

[41] VISAGGIO, C. A., PAGIN, G. A., AND CANFORA,G. An empirical study of metric-based methods todetect obfuscated code. International Journal ofSecurity & Its Applications 7, 2 (2013).

[42] WU, D.-J., MAO, C.-H., WEI, T.-E., LEE, H.-M., AND WU, K.-P. Droidmat: Android malwaredetection through manifest and api calls tracing. InProceedings of the 7th Asia Joint Conference on In-formation Security (2012), AsiaJCIS, pp. 62–69.

15

Page 17: Machine Learning-Based Malware Detection for Android … · The Android mobile platform has now become the most popular platform with estimated hundreds of thousands of apps in the

[43] YERIMA, S., SEZER, S., MCWILLIAMS, G., ANDMUTTIK, I. A new android malware detection ap-proach using bayesian classification. In Proceed-ings of the 27th IEEE International Conferenceon Advanced Information Networking and Applica-tions (2013), AINA, pp. 121–128.

[44] ZHANG, B., YIN, J., HAO, J., ZHANG, D., ANDWANG, S. Malicious codes detection based on en-semble learning. In Proceedings of the 4th interna-tional conference on Autonomic and Trusted Com-puting (Hong Kong, China, 2007), ATC, pp. 468–477.

16