Semantics-Aware Android Malware Classification Using Weighted Contextual API Dependency Graphs


The drastic increase of Android malware has led to a strong interest in developing methods to automate the malware analysis process. Existing automated Android malware detection and classification methods fall into two general categories: 1) signature-based and 2) machine learning-based. Signature-based approaches can be easily evaded by bytecode-level transformation attacks. Prior learning-based works extract features from application syntax, rather than program semantics, and are also subject to evasion. In this paper, we propose a novel semantic-based approach that classifies Android malware via dependency graphs. To battle transformation attacks, we extract a weighted contextual API dependency graph as program semantics to construct feature sets. To fight against malware variants and zero-day malware, we introduce graph similarity metrics to uncover homogeneous application behaviors while tolerating minor implementation differences. We implement a prototype system, DroidSIFT, in 23 thousand lines of Java code. We evaluate our system using 2200 malware samples and 13500 benign samples. Experiments show that our signature detection can correctly label 93\% of malware instances; our anomaly detector is capable of detecting zero-day malware with a low false negative rate (2\%) and an acceptable false positive rate (5.15\%) for a vetting purpose.

DOI: 10.1145/2660267.2660359
View Slides

Extracted Key Phrases

Citations per Year

104 Citations

Semantic Scholar estimates that this publication has 104 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@inproceedings{Zhang2014SemanticsAwareAM, title={Semantics-Aware Android Malware Classification Using Weighted Contextual API Dependency Graphs}, author={Mu Zhang and Yue Duan and Heng Yin and Zhiruo Zhao}, booktitle={ACM Conference on Computer and Communications Security}, year={2014} }