Machine-Learning-Based Android Malware Family Classification Using Built-In and Custom Permissions
Source abstract
Abstract
Malware family classification is grouping malware samples that have the same or similar characteristics into the same family. It plays a crucial role in understanding notable malicious patterns and recovering from malware infections. Although many machine learning approaches have been devised for this problem, there are still several open questions including, “Which features, classifiers, and evaluation metrics are better for malware familial classification”? In this paper, we propose a machine learning approach to Android malware family classification using built-in and custom permissions. Each Android app must declare proper permissions to access restricted resources or to perform restricted actions. Permission declaration is an efficient and obfuscation-resilient feature for malware analysis. We developed a malware family classification technique using permissions and conducted extensive experiments with several classifiers on a well-known dataset, DREBIN. We then evaluated the classifiers in terms of four metrics: macrolevel F1-score, accuracy, balanced accuracy (BAC), and the Matthews correlation coefficient (MCC). BAC and the MCC are known to be appropriate for evaluating imbalanced data classification. Our experimental results showed that: (i) custom permissions had a positive impact on classification performance; (ii) even when the same classifier and the same feature information were used, there was a difference up to 3.67% between accuracy and BAC; (iii) LightGBM and AdaBoost performed better than other classifiers we considered.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Advanced Malware Detection Techniques · Network Security and Intrusion Detection · Software Testing and Debugging Techniques
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Department of Data and Knowledge Service Engineering, Dankook University, Yongin 16890, Korea
Department of Statistics, Dankook University, Yongin 16890, Korea
Department of Software Science, Dankook University, Yongin 16890, Korea
Department of Computer Engineering, Konkuk University, Chungju 27478, Korea
Funding
National Research Foundation of Korea
References (67)
Show source-provided references
1. (2021, January 16). Development of New Android Malware Worldwide from June 2016 to March 2020. Available online: https://www.statista.com/statistics/680705/global-android-malware-volume/.
2. (2021, January 16). Mobile Malware Report—No Let-Up with Android Malware. Available online: https://www.gdatasoftware.com/news/2019/07/35228-mobile-malware-report-no-let-up-with-android-malware.
3. Alswaina, F., and Elleithy, K. (2020). Android Malware Family Classification and Analysis: Current Status and Future Directions. Electronics, 9.10.3390/electronics9060942 ↗
4. Android malware familial classification and representative sample selection via frequent subgraph analysis10.1109/TIFS.2018.2806891 ↗
5. A3CM: Automatic Capability Annotation for Android Malware10.1109/ACCESS.2019.2946392 ↗
6. Constructing features for detecting android malicious applications: Issues, taxonomy and directions10.1109/ACCESS.2019.2918139 ↗
7. An improved Android malware detection scheme based on an evolving hybrid neuro-fuzzy classifier (EHNFC) and permission-based features10.1007/s00521-016-2708-7 ↗
8. Android malware permission-based multi-class classification using extremely randomized trees10.1109/ACCESS.2018.2883975 ↗
9. Chen, S., Xue, M., Tang, Z., Xu, L., and Zhu, H. (June, January 30). Stormdroid: A streaminglized machine-learning-based system for detecting android malware. Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security, Xi’an, China.
10. Suarez-Tangil, G., Dash, S.K., Ahmadi, M., Kinder, J., Giacinto, G., and Cavallaro, L. (2017, January 22–24). Droidsieve: Fast and accurate classification of obfuscated android malware. Proceedings of the Seventh ACM on Conference on Data and Application Security and Privacy (CODASPY 2017), Scottsdale, AZ, USA.10.1145/3029806.3029825 ↗
11. Significant Permission Identification for Machine-Learning-Based Android Malware Detection10.1109/TII.2017.2789219 ↗
12. Park, J., Kang, M., Cho, S.J., Han, H., and Suh, K. (2020, January 9–13). Analysis of Permission Selection Techniques in Machine Learning-based Malicious App Detection. Proceedings of the 3rd IEEE International Conference on Artificial Intelligence and Knowledge Engineering (AIKE), Laguna Hills, CA, USA.10.1109/AIKE48582.2020.00021 ↗
13. NATICUSdroid: A malware detection framework for Android using native and custom permissions
14. Rossow, C., Dietrich, C.J., Grier, C., Kreibich, C., Paxson, V., Pohlmann, N., and Steen, M. (2012, January 23–27). Prudent practices for designing malware experiments: Status quo and outlook. Proceedings of the 2012 IEEE Symposium on Security and Privacy, San Francisco, CA, USA.10.1109/SP.2012.14 ↗
15. Raff, E., and Nicholas, C. (2017, January 3). Malware classification and class imbalance via stochastic hashed LZJD. Proceedings of the 10th ACM Workshop on Artificial Intelligence and Security (AISec), Dallas, TX, USA.10.1145/3128572.3140446 ↗
16. Comparative analysis of feature representations and machine learning methods in Android family classification10.1016/j.comnet.2020.107639 ↗
17. Davis, J., and Goadrich, M. (2006, January 25–29). The relationship between Precision-Recall and ROC curves. Proceedings of the 23rd International Conference on Machine Learning, Pittsburgh, PA, USA.10.1145/1143844.1143874 ↗
18. Saito, T., and Rehmsmeier, M. (2015). The precision-recall plot is more informative than the ROC plot when evaluating binary classifiers on imbalanced datasets. PLoS ONE, 10.10.1371/journal.pone.0118432 ↗
19. Roy, S., DeLoach, J., Li, Y., Herndon, N., Caragea, D., Ou, X., Ranganath, V.P., Li, H., and Guevara, N. (2015, January 7–11). Experimental study with real-world data for android app security analysis using machine learning. Proceedings of the 31st Annual Computer Security Applications Conference, Los Angeles, CA, USA.10.1145/2818000.2818038 ↗
20. Carrillo, H., Brodersen, K.H., and Castellanos, J.A. (2013, January 28–29). Probabilistic performance evaluation for multiclass classification using the posterior balanced accuracy. Proceedings of the ROBOT2013: First Iberian Robotics Conference, Madrid, Spain.10.1007/978-3-319-03413-3_25 ↗
21. Grandini, M., Bagli, E., and Visani, G. (2020). Metrics for Multi-Class Classification: An Overview. arXiv.
22. Jurman, G., Riccadonna, S., and Furlanello, C. (2012). A comparison of MCC and CEN error measures in multi-class prediction. PLoS ONE, 7.10.1371/journal.pone.0041882 ↗
23. Arp, D., Spreitzenbarth, M., Hubner, M., Gascon, H., and Rieck, K. (2014, January 23–26). DREBIN: Effective and explainable detection of android malware in your pocket. Proceedings of the 2014 Network and Distributed System Security (NDSS) Symposium, San Diego, CA, USA.10.14722/ndss.2014.23247 ↗
24. Random Forests10.1023/A:1010933404324 ↗
25. Russell, I. (2021, July 29). Neural Networks Module. Available online: https://scholar.google.co.jp/citations?view_op=view_citation&hl=zh-TW&user=Oy46FHsAAAAJ&sortby=pubdate&citation_for_view=Oy46FHsAAAAJ:_FxGoFyzp5QC.
26. Reducing the dimensionality of data with neural networks10.1126/science.1127647 ↗
27. Extremely randomized trees10.1007/s10994-006-6226-1 ↗
28. A short introduction to boosting
29. Chen, T., and Guestrin, C. (2016, January 13–17). Xgboost: A scalable tree boosting system. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Francisco, CA, USA.10.1145/2939672.2939785 ↗
30. Lightgbm: A highly efficient gradient boosting decision tree
31. An Android application risk evaluation framework based on minimum permission set identification10.1016/j.jss.2020.110533 ↗
32. Backes, M., Bugiel, S., Derr, E., McDaniel, P., Octeau, D., and Weisgerber, S. (2016, January 10–12). On demystifying the android application framework: Re-visiting android permission specification analysis. Proceedings of the 25th USENIX Security Symposium (USENIX Security 16), Austin, TX, USA.
33. Tuncay, G.S., Demetriou, S., Ganju, K., and Gunter, C. (2018, January 18–21). Resolving the Predicament of Android Custom Permissions. Proceedings of the Network and Distributed System Security Symposium (NDSS 2018), San Diego, CA, USA.10.14722/ndss.2018.23210 ↗
34. Bagheri, H., Kang, E., Malek, S., and Jackson, D. (2015, January 24–26). Detection of design flaws in the android permission protocol through bounded verification. Proceedings of the International Symposium on Formal Methods, Oslo, Norway.10.1007/978-3-319-19249-9_6 ↗
35. A formal approach for detection of security flaws in the android permission system10.1007/s00165-017-0445-z ↗
36. Sadeghi, A., Jabbarvand, R., Ghorbani, N., Bagheri, H., and Malek, S. (June, January 27). A temporal permission analysis and enforcement framework for android. Proceedings of the 40th International Conference on Software Engineering, Gothenburg, Sweden.
37. Lightweight, obfuscation-resilient detection and family identification of android malware10.1145/3162625 ↗
38. Dilhara, M., Cai, H., and Jenkins, J. (2018, January 27–28). Automated detection and repair of incompatible uses of runtime permissions in android apps. Proceedings of the 5th International Conference on Mobile Software Engineering and Systems, Gothenburg, Sweden.10.1145/3197231.3197255 ↗
39. Wang, Y., Wang, Y., Wang, S., Liu, Y., Xu, C., Cheung, S.C., Yu, H., and Zhu, Z. (2021). Runtime Permission Issues in Android Apps: Taxonomy, Practices, and Ways Forward. arXiv.
40. Aafer, Y., Du, W., and Yin, H. (2013, January 25–27). Droidapiminer: Mining api-level features for robust malware detection in android. Proceedings of the International Conference on Security and Privacy in Communication Systems (SecureComm 2013), Sydney, Australia.10.1007/978-3-319-04283-1_6 ↗
41. The meaning and use of the area under a receiver operating characteristic (ROC) curve10.1148/radiology.143.1.7063747 ↗
42. Marsland, S. (2015). Machine Learning: An Algorithmic Perspective, CRC Press. [2nd ed.].10.1201/b17476 ↗
43. Chicco, D., and Jurman, G. (2020). The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation. BMC Genom., 21.10.1186/s12864-019-6413-7 ↗
44. Sanz, B., Santos, I., Laorden, C., Ugarte-Pedrero, X., Bringas, P.G., and Álvarez, G. (2012, January 5–7). Puma: Permission usage to detect malware in android. Proceedings of the International Joint Conference CISIS’12-ICEUTE 12-SOCO 12 Special Sessions, Ostrava, Czech Republic.
45. (2020, October 20). Scikit-Learn: Machine Learning in Python. Available online: https://scikit-learn.org.
46. PIndroid: A novel Android malware detection system using ensemble learning methods10.1016/j.cose.2017.03.011 ↗
47. A novel dynamic Android malware detection system with ensemble learning10.1109/ACCESS.2018.2844349 ↗
48. Zhang, Y., Huang, Q., Ma, X., Yang, Z., and Jiang, J. (2016, January 23–26). Using multi-features and ensemble learning method for imbalanced malware classification. Proceedings of the 2016 IEEE Trustcom/BigDataSE/ISPA, Tianjin, China.10.1109/TrustCom.2016.0163 ↗
49. (2021, February 24). Performance Measures for Multi-Class Problems. Available online: https://www.datascienceblog.net/post/machine-learning/performance-measures-multi-class-problems/.
50. Fingerprinting Android malware families10.1007/s11704-017-6493-y ↗
51. Türker, S., and Can, A.B. (2019, January 8). Andmfc: Android malware family classification framework. Proceedings of the 30th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC Workshops), Istanbul, Turkey.10.1109/PIMRCW.2019.8880840 ↗
52. Sedano, J., Chira, C., González, S., Herrero, Á., Corchado, E., and Villar, J.R. (2016, January 19–21). Characterization of android malware families by a reduced set of static features. Proceedings of the International Joint Conference SOCO’16-CISIS’16-ICEUTE’16, San Sebastián, Spain.10.1007/978-3-319-47364-2_59 ↗
53. EC2: Ensemble Clustering and Classification for Predicting Android Malware Families10.1109/TDSC.2017.2739145 ↗
54. Countering android malware: A scalable semi-supervised approach for family-signature generation10.1109/ACCESS.2018.2874502 ↗
55. Kim, H.M., Song, H.M., Seo, J.W., and Kim, H.K. (2018, January 28–30). Andro-simnet: Android malware family classification using social network analysis. Proceedings of the 16th Annual Conference on Privacy, Security and Trust (PST), Belfast, UK.10.1109/PST.2018.8514216 ↗
56. GDroid: Android malware detection and classification with graph convolutional network10.1016/j.cose.2021.102264 ↗
57. Nisa, M., Shah, J.H., Kanwal, S., Raza, M., Khan, M.A., Damaševičius, R., and Blažauskas, T. (2020). Hybrid malware classification method using segmentation-based fractal texture analysis and deep convolution neural network features. Appl. Sci., 10.10.3390/app10144966 ↗
58. DroidCat: Effective Android Malware Detection and Categorization via App-Level Profiling10.1109/TIFS.2018.2879302 ↗
59. Liu, X., and Liu, J. (2014, January 8–11). A two-layered permission-based Android malware detection scheme. Proceedings of the 2014 2nd IEEE International Conference on Mobile Cloud Computing, Services, and Engineering, Oxford, UK.10.1109/MobileCloud.2014.22 ↗
60. Cai, H. (2020, January 13–15). Embracing mobile app evolution via continuous ecosystem mining and characterization. Proceedings of the IEEE/ACM 7th International Conference on Mobile Software Engineering and Systems, Seoul, Korea.10.1145/3387905.3388612 ↗
61. Fu, X., and Cai, H. (2019, January 25–31). On the deterioration of learning-based malware detectors for Android. Proceedings of the 2019 IEEE/ACM 41st International Conference on Software Engineering, Montreal, QC, Canada.10.1109/ICSE-Companion.2019.00110 ↗
62. Zhang, X., Zhang, Y., Zhong, M., Ding, D., Cao, Y., Zhang, Y., Zhang, M., and Yang, M. (November, January 30). Enhancing state-of-the-art classifiers with API semantics to detect evolved android malware. Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security, Virtual Event, USA.10.1145/3372297.3417291 ↗
63. Xu, K., Li, Y., Deng, R., Chen, K., and Xu, J. (2019, January 17–19). DroidEvolver: Self-evolving Android malware detection system. Proceedings of the 2019 IEEE European Symposium on Security and Privacy (EuroS&P), Stockholm, Sweden.10.1109/EuroSP.2019.00014 ↗
64. Assessing and improving malware detection sustainability through app evolution studies10.1145/3371924 ↗
65. Cai, H., and Jenkins, J. (June, January 27). Towards sustainable android malware detection. Proceedings of the 40th International Conference on Software Engineering, Gothenburg, Sweden.
66. Yang, W., Zhang, Y., Li, J., Shu, J., Li, B., Hu, W., and Gu, D. (2015, January 2–4). Appspear: Bytecode decrypting and dex reassembling for packed android malware. Proceedings of the 18th International Symposium on Recent Advances in Intrusion Detection (RAID 2015), Kyoto, Japan.10.1007/978-3-319-26362-5_17 ↗
67. Obfuscapk: An open-source black-box obfuscation tool for Android apps10.1016/j.softx.2020.100403 ↗