According to the Symantec and F-Secure threat reports, mobile malware development in 2013 and 2014 has continued to focus almost exclusively (∼99%) on the Android platform. Malware writers are applying stealthy mutations (obfuscations) to create malware variants, thwarting detection by signature-based detectors. In addition, the plethora of more sophisticated detectors making use of static analysis techniques to detect such variants operate only at the bytecode level, meaning that malware embedded in native code goes undetected. A recent study shows that 86% of the most popular Android applications contain native code, making native code malware a plausible threat vector. This paper proposes DroidNative, an Android malware detector that uses specific control flow patterns to reduce the effect of obfuscations and provides automation. As far as we know, DroidNative is the first system that builds cross-platform (x86 and ARM) semantic-based signatures at the Android native code level, allowing the system to detect malware embedded in either bytecode or native code. When tested with a dataset of 5490 samples, DroidNative achieves a detection rate (DR) of 93.57% and a false positive rate of 2.7%. When tested with traditional malware variants, it achieves a DR of 99.48%, compared to the DRs of academic and commercial tools that range from 8.33% to 93.22%. ASSIGN An assignment statement, e.g. r 0 = r 0 + r 1 ; An assignment statement including a constant, e.g. r 0 = r 0 + 0x01; A control statement where the target of the jump is unknown, e.g. if (zf == 1) JMP [r 0 + r 1 + 0x10];
Alam et al. REF used control flow with patterns, and implemented and adapted two techniques including Annotated Control Flow Graph (ACFG) to reduce the effect of obfuscations.
DroidNative: Automating and optimizing detection of Android native code malware variants
Comput. Secur.
Comput. Secur.
Computer Science