Review Article

Deep Learning Methods for Malware and Intrusion Detection: A Systematic Literature Review

Table 3

Summary of the metadata extracted from the literature on android-based malware detection.

Ref.Description: method and features used to train and evaluate modelDL algorithm usedAutomatic DL algorithm selection (yes/no)Ability of identifying new malware? (yes/no)Features engineering method (static/dynamic/hybrid analysis)DL model needs updating? (yes/no)Sustainability/resilience against evolution? (yes/no)Library/framework usedPlatformDataset usedAccuracy/F1 score

[65]Malware detection using neural networks and k-means clusteringNot statedNoNoStatic analysisYesNoNot statedAndroidSelf-generated88.0%

[66]Malware detection based on API method calls sequence miningCNNNoNoStatic analysisYesNoTensorFlowAndroidMalgenome, Drebin, MalDozerAbout 99%

[67]Malware detection by analyzing the permission wanted by appDeep eigenspace learningNoNoStatic analysisYesNoNot statedAndroidSelf-generatedNot stated

[68]Malware detection by extracting and analyzing several featuresMultimodal neural networksNoNoStatic analysisYesNoKeras, TensorFlow, scikit-learnAndroidVirusShare, malgenome94 – 98%

[69]Dynamic malware detection system based on CPU, memory, and battery usageLSTM RNN, encoder-decoderNoNoStatic analysisYesNoNot statedAndroidM0DroidAbout 80%

[70]Malware detection by associating the features from static analysis with the features from dynamic analysisDBNNoNoHybrid analysisYesNoNot statedAndroidSelf-generated, malgenome96.76%

[71]Malware detection using several static and dynamic featuresDBNNoNoHybrid analysisYesNoNot statedAndroidSelf-generated96.5%

[72]Malware detection by using the importance of words from the apk file of applicationsCNNNoNoStatic + renaming variables and prioritizingYesNoNot statedAndroidSelf-generated92.67%

[73]Malware detection by extracting several features for model trainingCNNNoNoStatic analysis for static featuresYesNoKerasAndroidSelf-generated99.25%

[74]Malware detection using seven different features of android applicationsDAE, CNNNoNoStatic analysis for 7 categories of static featuresYesNoKeras, TensorFlow, scikit-learnAndroidSelf-generated99.82%

[75]ITMF, (image texture median filter) for analyzing and detecting malware on Derbin datasetDBNNoPotential of dynamic activity of malwareStatic analysisYesNoKeras, TensorFlow, scikit-learnAndroidDrebin95.43%

[76]Malware detection using static analysis, dynamic analysis, and system callsDBNNoNoHybrid analysisYesNoNot statedAndroidNot stated99.1%

[77]Malware detection by extracting the API calls graph of applications and generating graph embeddingCNN, RNNNoNoPseudodynamic analysisYesNoKeras, TensorFlowAndroidAMD dataset, AndroZoo, Drebin, ISCX98.86%

[78]Malware detection by examining all execution paths and detecting malicious and benign pathsLSTM RNNNoNoPseudodynamic analysisYesNoTensorFlow, Keras, scikit-learnAndroidAndroZoo,91.42%

[79]Malware detection using features extracted from manifest file and through static analysis and various deep learning methodsCNN, DBN, LSTM, DAENoNoStatic analysisYesNoTensorFlow, Keras, theanoAndroidDrebin, VirusShareUp to 93.6%

[80]Malware detection by extracting features through dynamic analysis and generating Markov chainsRNN, CNN, LSTMNoNoDynamic analysisYesNoTensorFlow, Keras, scikit-learnAndroidDrebinAround 81%

[81]Malware detection by extracting texture fingerprint features and mapping malicious code to grayscale imageDBNNoNoStatic analysisYesNoTheano, GDBN, TensorFlow, Keras, scikit-learnAndroidDrebin95.9%

[82]Malware detection by using various features, including hardware components, permissions, filtered intents, API calls, and network addressesLSTM, CNNNoNoStatic analysisYesNoNot statedAndroidDrebinUp to 98.53%

[83]Malware detection using LASSO feature shrinkage and selection technique and deep belief networksDBNNoNoStatic analysisYesNoNot statedAndroidDroidWare85.22%

[84]Malware detection by generating API images from the sequence of API calls of applicationsDAENoNoDynamic analysisYesNoNot statedAndroidMalgenome, contagio minidump98%

[85]Malware detection by using features like permissions and API calls and generating a feature vectorDBNNoNoStatic analysisYesNoTensorFlowAndroidDrebin, VirusTotal, contagio, self-generated99.04%

[86]Malware detection by extracting byte code from the.dex file of the android packageDAE, DBN, RNN, LSTM, BiLSTM,NoNoStatic analysisYesNoKeras, theanoAndroidDrebin, AMD, VirusShareUp to 99.9%

[87]Malware detection by extracting features like API calls, events and permissions by dynamic analysisNot statedNoNoDynamic analysisYesNoNot statedAndroidSelf-generated98.5%

[88]Malware detection by converting static features like permissions API calls and components into a set of semantic featuresGCNNoNoStatic analysisYesNoNot statedAndroidDrebin, AMD, lab-built, AndroZoo, PRAGuardUp to 99.7%

[89]Hybrid deep learning for android malware detection using various static and dynamic feature of the applicationDBNNoNoHybrid analysisYesNoTensorFlow, KerasAndroidSelf-generated96.8%

[90]Malware detection by using dataset comprising of intent features and permission features extracted from benign and malicious applicationsNot statedNoNoHybrid analysisYesNoNot statedAndroidOmnidroid91%

[91]Malware detection by converting the application binary to gray-scale imageNot statedNoNoStatic analysisYesNoNot statedAndroid, iOSAMD, self-generated96.6% for Android, 95.8% for iOS

[92]Malware detection by extracting byte code of the application and generating embeddingLSTMNoNoHybrid analysisYesNoNot statedAndroid, IoTSelf-generated98% for Android, 99% for IoT malware

[93]Malware detection by extracting 11 static behavioral features and transforming them to a multidimensional vectorDBNNoNoStatic analysisYesNoTensorFlowAndroidSelf-generated, Drebin, etc.Up to 99.5%

[94]Malware detection by extracting API sequence and the methods from the DEX file of the application and generating the hot vector of the API sequenceBi-LSTMNoNoStatic analysisYesNoNot statedAndroidAMD97.2%

[95]Malware detection in the IoT devices by reading the DEX file of the application as an unsigned vector and converting it to a fixed size by image resampling techniqueCNN, RNN, GRU, LSTM, Bi-LSTMNoNoStatic analysisYesNoKerasAndroid IoT devicesSelf-generatedUp to 95.8%

[96]Malware detection by generating the function call graph from the DEX file of the application and the op-code-level FCG featuresLSTMNoNoStatic analysisYesNoKeras, TensorFlowAndroidSelf-generated97%

[97]Malware detection by extracting and vectorizing the manifest features and API calls from the binary file of the appCNN, GRU, LSTMNoNoStatic analysisYesNoKeras, TensorFlowAndroidDrebin, genome, contagio, pwnzen, VirusShare96.8%

[98]Malware detection by extracting features like permissions, system events, APIs and data flow from the manifest, DEX and layout xml filesMLPNoNoStatic analysisYesNoTensorFlowAndroidSelf-generated94.9%

[99]Malware detection by extracting static features (permissions) from the manifest file and then generating feature vectorCNN, DAENoNoStatic analysisYesNoKeras, TensorFlowAndroidCIC and Mal2017, self-generated98.2%