| Literature DB >> 35494876 |
Wael F Elsersy1, Ali Feizollah1, Nor Badrul Anuar1.
Abstract
The various application markets are facing an exponential growth of Android malware. Every day, thousands of new Android malware applications emerge. Android malware hackers adopt reverse engineering and repackage benign applications with their malicious code. Therefore, Android applications developers tend to use state-of-the-art obfuscation techniques to mitigate the risk of application plagiarism. The malware authors adopt the obfuscation and transformation techniques to defeat the anti-malware detections, which this paper refers to as evasions. Malware authors use obfuscation techniques to generate new malware variants from the same malicious code. The concern of encountering difficulties in malware reverse engineering motivates researchers to secure the source code of benign Android applications using evasion techniques. This study reviews the state-of-the-art evasion tools and techniques. The study criticizes the existing research gap of detection in the latest Android malware detection frameworks and challenges the classification performance against various evasion techniques. The study concludes the research gaps in evaluating the current Android malware detection framework robustness against state-of-the-art evasion techniques. The study concludes the recent Android malware detection-related issues and lessons learned which require researchers' attention in the future.Entities:
Keywords: Android malware; Android security; Evasion techniques; Machine learning; Obfuscation techniques
Year: 2022 PMID: 35494876 PMCID: PMC9044361 DOI: 10.7717/peerj-cs.907
Source DB: PubMed Journal: PeerJ Comput Sci ISSN: 2376-5992
Comparison of the recent reviews.
| Related studies | Evasion techniques discussion | Evasion detection tools evaluation |
|---|---|---|
| This study | Encryption, package and code transformation, code obfuscation, anti-emulation | Commercial + Academic |
| Droidchameleon ( | Transformation | Commercial |
| Vikas ( | Code Obfuscation, repackaging | Academic |
| FeCO ( | Code Obfuscation, Encryption | Academic |
| Rastogi ( | Encryption + Transformation | Commercial |
| AAMO ( | None | Commercial |
| Hoffmann ( | Obfuscation | Commercial |
| Tam et al. ( | Transformation + Obfuscation | None |
| Nguyen-Vu et al. ( | Transformation | None |
| Kim et al. ( | Anti-emulation | None |
| Xue et al. ( | Encryption | Commercial |
| Bulazel ( | Virtualization and performance case studies | Academic |
Comparison of the recent reviews.
| Article type | Full name | Publisher |
|---|---|---|
| Journals | ACM Computing Surveys | ACM |
| ACM Transaction on Computer system | ACM | |
| Computers & Security | ||
| Digital Investigation | ||
| Future Generation Computer Systems | ||
| IEEE Transactions on Dependable and Secure Computing | ||
| IEEE Access | IEEE | |
| IEEE Transactions on Industrial Informatics | IEEE | |
| IEEE Transactions on Information Forensics and Security | IEEE | |
| IEEE Transactions on Knowledge and Data Engineering | ||
| IEEE Transactions on Mobile Computing | ||
| IEEE Transactions on Network Science and Engineering | ||
| IEEE Transactions on Reliability | ||
| Information and Software Technology | ||
| Information Sciences | ||
| International Journal of Distributed Sensor Networks | ||
| International Journal of Information Security | ||
| International Journal of Interactive Multimedia & Artificial Intelligence | Springer | |
| Journal of Ambient Intelligence and Humanized Computing | ||
| Journal of artificial intelligence research | ||
| Journal of Computer Virology and Hacking Techniques | Springer | |
| Journal of Information Science and Engineering | ||
| Journal of Information Security and Applications | ||
| Journal of Supercomputing | ||
| PLOS ONE | ||
| Soft Computing | ||
| Security and Communication Networks | ||
| Conferences | Advanced Computing, Networking and Security | IEEE |
| Artificial Intelligence and Knowledge Engineering (AIKE) | IEEE | |
| Inventive Research in Computing Applications (ICIRCA) | IEEE | |
| International Arab Conference on Information Technology (ACIT) | IEEE | |
| Information Security | IEEE | |
| Network Computing and Applications (NCA) | IEEE | |
| Computer Software and Applications Conference | IEEE | |
| International Conference on Security and Privacy in Communication Systems | Springer | |
| International Conference on Security and Privacy in Communication Systems | Springer | |
| Seventh ACM on Conference on Data and Application Security and Privacy | ACM | |
| The symposium on applied computing | ACM | |
| Data and application security and privacy | ACM |
Figure 1The review process flow diagram.
Figure 2Evasion technique taxonomy.
Figure 3The main categories of Android malware detection techniques.
Figure 4Taxonomy of Android malware detection methodologies.
Online malware scanning frameworks.
| Online security scanning | Description | Started | Scanning rate (app/day) | Services | License |
|---|---|---|---|---|---|
| VirusTotal ( |
| 2011 | Ignored | Web/API | Free |
| AndroTotal ( | 2013 | Ignored | Web | Free | |
| ANDRUBIS ( | 2012 | 3,500 | API | Free/discontinued– Paid only | |
| APK Auditor ( |
| 2015 | Ignored | Web | Discontinued |
| NVISO ( |
| – | 2,400 | Web/API | Free/Pro |
| Copperdroid |
| 2015 | NA | Web | NA |
| Totalhash |
| 10 | Web/API | Commercial |
Confusion matrix.
| Classified apps | |||
|---|---|---|---|
| Total samples | Malware | Benign | |
| True apps | Malware - M | TP | FN |
| Benign - B | FP | TN | |
Notes:
TP True Positive.
FN False Negative.
FP False Positive.
TN True Negative.
ML classification performance measures.
| Performance measure | Short-form | Formulas | Description |
|---|---|---|---|
| Recall or Sensitivity | TPR | = | True Positive Rate |
| Miss rate | FNR | = | False Negative Rate |
| Fall-out | FPR | = | False Positive Rate |
| Specificity | TNR | = | True Negative Rate |
| Precision | PPV | = | Positive Predictive Value |
| False Discovery Rate | FDR | = | False Discovery Rate |
| False Omission Rate | FOR | = | False Omission Rate |
| Negative Predictive Value | NPV | = | Negative Predictive Value |
| Accuracy | ACC | = | Total truly detected apps over total examined apps |
| F-measure | F1 | = | The harmonic mean of precision and sensitivity |
Android malware evasion test benches.
| Polymorphism | Metamorphism | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Package transformation | Encryption | Code obfuscation | Advanced code transformation | Anti-emulator | ||||||||||||
| Framework | (RPK) | (PKR) | (IDR) | (DEN) | (BEN) | (PEN) | (CRE) | (CIN) | (DCI) | (NEX) | (FIO) | (REF) | DCL/DCM) | (ADE) | (VMA) | (PID) |
| ADAM ( | ✓ | * | * | ✓ | * | * | ✓ | * | ✓ | * | * | * | * | * | * | * |
| DroidChameleon ( | ✓ | * | * | * | * | * | ✓ | * | * | * | * | ✓ | * | * | * | * |
| ProGuard ( | * | * | * | ✓ | ✓ | ✓ | * | * | * | * | * | * | * | * | * | * |
| DexGuard ( | * | * | * | ✓ | * | * | ✓ | ✓ | * | * | * | * | * | * | * | * |
| Klassmaster ( | * | * | * | ✓ | ✓ | * | ✓ | ✓ | * | * | * | * | * | * | * | * |
| Maiorca ( | ✓ | * | * | ✓ | ✓ | ✓ | * | * | * | * | * | ✓ | * | * | * | * |
| Vidas ( | * | * | * | * | * | * | * | * | * | * | * | * | * | * | ✓ | * |
| Petsas ( | * | * | * | * | * | * | * | * | * | * | * | * | * | * | ✓ | * |
| Morpheus ( | * | * | * | * | * | * | * | * | * | * | * | * | * | * | ✓ | * |
| Garcia ( | * | ✓ | * | ✓ | ✓ | * | * | ✓ | * | * | * | * | * | * | * | * |
| DroidSieve ( | * | * | * | ✓ | ✓ | ✓ | * | * | * | * | * | ✓ | ✓ | * | * | * |
| MysteryChecker ( | ✓ | * | * | * | ✓ | ✓ | ✓ | ✓ | * | * | * | * | * | * | * | * |
| PANDORA ( | * | * | * | ✓ | * | * | * | * | * | * | ✓ | ✓ | * | * | * | * |
| Mystique ( | * | * | ✓ | ✓ | * | * | * | * | * | * | ✓ | * | * | * | * | * |
| Canfora ( | ✓ | ✓ | ✓ | ✓ | * | * | ✓ | * | ✓ | * | * | * | * | * | * | * |
| Hatwar ( | * | * | * | * | * | * | * | * | * | * | * | * | ✓ | * | * | * |
| AAMO ( | ✓ | ✓ | * | * | ✓ | * | ✓ | ✓ | ✓ | * | ✓ | ✓ | * | ✓ | * | * |
| Abid ( | * | * | * | * | * | * | * | * | * | * | * | * | ✓ | * | * | * |
| EnDroid ( | * | * | * | * | * | * | * | * | * | * | * | ✓ | ✓ | * | * | * |
| Bacci ( | ✓ | ✓ | ✓ | ✓ | * | * | ✓ | ✓ | ✓ | * | * | * | * | * | * | * |
| DexMoinitor ( | * | * | * | ✓ | ✓ | ✓ | * | * | * | * | * | * | * | * | * | * |
| Kim ( | * | ✓ | ✓ | ✓ | * | * | * | ✓ | ✓ | * | * | * | * | * | * | * |
| DAMBA ( | * | * | * | ✓ | ✓ | ✓ | * | ✓ | * | * | * | * | ✓ | * | * | * |
| IMCFN ( | ✓ | ✓ | ✓ | ✓ | * | * | ✓ | * | ✓ | * | * | * | * | * | * | * |
| PetaDroid ( | ✓ | ✓ | ✓ | ✓ | * | ✓ | ✓ | ✓ | ✓ | * | * | ✓ | * | * | * | * |
| BLADE ( | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | * | * | * | * | * | * | * | * | * |
| DANDroid ( | * | * | * | ✓ | ✓ | ✓ | * | * | * | * | * | * | * | * | * | * |
| AndrODet ( | ✓ | ✓ | ✓ | ✓ | * | * | * | ✓ | * | * | * | * | * | * | * | * |
| Dadidroid ( | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | * | ✓ | * | * | * | * | * | * | * | * |
| Obfusifier ( | ✓ | ✓ | ✓ | * | * | * | ✓ | ✓ | ✓ | * | * | * | * | * | * | * |
Note:
RPK, Repacking; PKR, Package Renaming; IDR, Identifier Renaming; DEN, Data Encryption; BEN, Bytecode Encryption; PEN, Payload Encryption; CRE, Code Reordering; CIN, Call Indirections; DCI, Dead Code Insertion; NEX, Native Exploits; FIO, Function Inlining and Outlining; API (REF), Reflection; DCL/DCM, Dynamic code loading/Modification; ADE, Anti-debugging; VMA, Virtual Machine Aware; PID, Programmed Interaction Detection.
List of examined Android malware detection frameworks.
| Detection techniques | The examined Android malware detection frameworks | Number of frameworks |
|---|---|---|
| Static | DroidMat ( | 74 |
| Dynamic | Amos ( | 35 |
| Hybrid | RiskRanker ( | 26 |
Polymorphism evaluation of frameworks.
| Android malware detection frameworks | |||||
|---|---|---|---|---|---|
| Static | Dynamic | Hybrid | |||
| Polymorphism | Package transformation | Repacking (RPK) | DroidMat ( | Soh ( | NA |
| Package Renaming (PKR) | DroidMat ( | Soh ( | Abaid ( | ||
| Identifier Renaming (IDR) | DroidMat ( | Soh ( | |||
| Encryption | Data Encryption (DEN) | DroidMat ( | DwroidDump ( | RiskRanker ( | |
| Bytecode Encryption (BEN) | DroidMat ( | DwroidDump ( | RiskRanker ( | ||
| Payload Encryption (PEN) | DroidMat ( | DwroidDump ( | RiskRanker ( | ||
Metamorphism evaluation of frameworks.
| Android malware detection frameworks | |||||
|---|---|---|---|---|---|
| Static | Dynamic | Hybrid | |||
| Metamorphism | Code obfuscation | Code Reordering (CRE) | DroidOLytics ( | Soh ( | RiskRanker ( |
| Call Indirections (CIN) | DroidOLytics ( | Soh ( | RiskRanker ( | ||
| Dead Code Insertion (DCI) | DroidOLytics ( | No dynamic frameworks | RiskRanker ( | ||
| Advanced Code transformation | Native Exploits (NEX) | DroidAPIMiner ( | DroidBarrier ( | MARVIN ( | |
| Function Inlining and Outlining (FIO): | AAMO ( | No Dynamic frameworks | No hybrid frameworks | ||
| Reflection API (REF) | Juxtapp ( | Maier ( | RiskRanker ( | ||
| Dynamic code loading (DCL) | DroidAPIMiner ( | Maier ( | RiskRanker ( | ||
| Anti-debugging (ADE) | Dexhunter ( | MARVIN ( | |||
| Anti-emulator | Virtual Machine Aware (VMA) | No static frameworks | Tao ( | RiskRanker ( | |
| Programmed Interaction Detection (PID) | No static frameworks | Chaugule ( | Tap-Wave-Rub ( | ||
Figure 5Evasion techniques radar for static frameworks.
Figure 6Static analysis based frameworks and considered evasion.
Figure 7Dynamic analysis and evasion radar graph.
Figure 8Dynamic analysis based frameworks and considered evasion.
Figure 9Hybrid analysis and evasion radar.
Figure 10Hybrid analysis based frameworks and considered evasion.
Figure 11Systematic map of accumulative number of detection frameworks vs evasions techniques.