Web-Based Android Malicious Software Detection and Classification System
Abstract
:1. Introduction
2. Related Studies
2.1. Static Analysis Method
2.2. Dynamic Analysis Method
2.3. Hybrid Analysis Method
3. Web-Based Android Malicious Software Detection and Classification System
3.1. Obtaining of Application Information
3.2. Malicious and Benign Application Assessment Process
3.3. Web Application
4. Results and Discussion
5. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- IDC. Smartphone OS. Available online: https://www.idc.com/promo/smartphone-market-share/os (accessed on 20 August 2018).
- G DATA. G DATA Mobile Malware Report H1 2016. Available online: https://file.gdatasoftware.com/web/en/documents/whitepaper/G_DATA_Mobile_Malware_Report_H1_2016_EN.pdf (accessed on 20 August 2018).
- Cunningham, E. Keeping You Safe with Google Play Protect. Available online: https://blog.google/products/android/google-play-protect/ (accessed on 20 August 2018).
- Android. Google Play Protect. Available online: https://www.android.com/play-protect/ (accessed on 20 August 2018).
- Google Play. Available online: https://play.google.com/store (accessed on 20 August 2018).
- Android Developers. Distribution Dashboard. Available online: https://developer.android.com/about/dashboards/index.html (accessed on 20 August 2018).
- Wu, D.J.; Mao, C.H.; Wei, T.E.; Lee, H.M.; Wu, K.P. Droidmat: Android malware detection through manifest and api calls tracing. In Proceedings of the Seventh Asia Joint Conference on Information Security, Tokyo, Japan, 9–10 August 2012. [Google Scholar]
- Apktool. A Tool for Reverse Engineering Android Apk Files. Available online: https://ibotpeaches.github.io/Apktool/ (accessed on 20 August 2018).
- Arp, D.; Spreitzenbarth, M.; Hubner, M.; Gascon, H.; Rieck, K. DREBIN: Effective and Explainable Detection of Android Malware in Your Pocket. In Proceedings of the Network and Distributed System Security Symposium (NDSS), San Diego, CA, USA, 23–26 February 2014. [Google Scholar]
- Wang, Z.; Chenlong, L.; Zhenlong, Y.; Guan, Y.; Xue, Y. DroidChain: A novel Android malware detection method based on behaviour chains. Pervasive Mob. Comput. 2016, 32, 3–14. [Google Scholar] [CrossRef]
- Kabakus, A.T.; Dogru, I.A.; Cetin, A. APK Auditor: Permission-based Android malware detection system. Digit. Investig. 2015, 13, 1–14. [Google Scholar]
- Kiraz, O.; Dogru, I.A. Android Malware Detection Systems Review. Duzce Univ. J. Sci. Technol. 2017, 5, 281–298. [Google Scholar]
- Narayanan, A.; Liu, Y.; Chen, L.; Liu, J. Adaptive and Scalable Android Malware Detection through Online Learning. In Proceedings of the International Joint Conference on Neural Networks (IJCNN), Vancouver, BC, Canada, 24–29 July 2016. [Google Scholar]
- Song, J.; Han, C.; Wang, K.; Zhao, J.; Ranjan, R.; Wang, L. An integrated static detection and analysis framework for android. Pervasive Mob. Comput. 2016, 32, 15–25. [Google Scholar] [CrossRef]
- Wang, W.; Li, Y.; Wang, X.; Liu, J.; Zhang, X. Detecting android malicious apps and categorizing benign apps with ensemble of classifiers. Future Gener. Comput. Syst. 2017, 78, 987–994. [Google Scholar] [CrossRef]
- Sokolova, K.; Perez, C.; Lemercier, M. Android Application Classification and Anomaly Detection with Graph-based Permission Patterns. Decis. Support Syst. 2017, 93, 62–76. [Google Scholar] [CrossRef]
- Anwar, S.; Zain, J.M.; Inayat, Z.; Karim, A.; Haq, R.U.; Jabir, A.N. A Static Approach towards Mobile Botnet Detection. In Proceedings of the 3rd International Conference on Electronic Design (ICED), Phuket, Thailand, 11–12 August 2016. [Google Scholar]
- Arslan, R.S.; Dogru, I.A.; Barisci, N. Permisson Comparison Based Malware Detection System for Android Mobile Applications. J. Polytech. 2017, 20, 175–189. [Google Scholar]
- Dex2jar. Tools to Work with Android .dex and java .class Files. Available online: https://github.com/pxb1988/dex2jar (accessed on 20 August 2018).
- Feizollah, A.; Anuar, N.B.; Salleh, R.; Suarez-Tangil, G.; Furnell, S. AndroDialysis: Analysis of Android Intent Effectiveness in Malware Detection. Comput. Secur. 2016, 65, 121–134. [Google Scholar] [CrossRef]
- Kang, H.; Jang, J.-W.; Mohaisen, A.; Kim, H.K. Detecting and Classifying Android Malware Using Static Analysis along with Creator Information. Int. J. Distrib. Sens. Netw. 2015, 1–9. [Google Scholar] [CrossRef]
- Goyal, R.; Spognardi, A.; Dragoni, N.; Argyriou, M. SafeDroid: A Distributed Malware Detection Service for Android. In Proceedings of the IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA), Macau, China, 4–6 November 2016. [Google Scholar]
- Utku, A.; Dogru, I.A. Permission based Detection System for Android Malware. J. Fac. Eng. Archit. Gazi Univ. 2017, 32, 1015–1024. [Google Scholar]
- Atici, M.A.; Sagiroglu, S.; Dogru, I.A. Android malware analysis approach based on control flow graphs and machine learning algorithms. In Proceedings of the 4th International Symposium on Digital Forensic and Security (ISDFS), Little Rock, AR, USA, 25–27 April 2016. [Google Scholar]
- Shabtai, A.; Tenenboim-Chekina, L.; Mimran, D.; Rokach, L.; Shapira, B.; Elovici, Y. Mobile malware detection through analysis of deviations in application network behavior. Comput. Secur. 2014, 43, 1–18. [Google Scholar] [CrossRef]
- Heuser, S.; Negro, M.; Pendyala, P.K.; Sadeghi, A.-R. DroidAuditor: Forensic Analysis of Application-Layer Privilege Escalation Attacks on Android. In Proceedings of the Financial Cryptography and Data Security (FC 2016), Christ Church, Barbados, 26 February 2016. [Google Scholar]
- Jang, J.-W.; Yun, J.; Mohaisen, A.; Woo, J.; Kim, H.K. Detecting and classifying method based on similarity matching of Android malware behavior with profile. SpringerPlus 2016, 5, 1–23. [Google Scholar] [CrossRef] [PubMed]
- Garg, S.; Peddoju, S.K.; Sarje, A.K. Network-based detection of Android malicious apps. Int. J. Inf. Secur. 2016, 16, 385–400. [Google Scholar] [CrossRef]
- Chang, W.-L.; Sun, H.-M.; Wu, W. An Android Behavior-Based Malware Detection Method using Machine Learning. In Proceedings of the 2016 IEEE International Conference on Signal Processing, Communications and Computing (ICSPCC), Hong Kong, China, 5–8 August 2016. [Google Scholar]
- Lantz, P. An Android application sandbox for dynamic analysis. Bachelor’s Thesis, Department of Electrics and Information Technologies, Lund University, Lund, Sweden, November 2011. [Google Scholar]
- Shi, Y.; You, W.; Qian, K.; Bhattacharya, P.; Qian, Y. A Hybrid Analysis for Mobile Security Threat Detection. In Proceedings of the IEEE 7th Annual Ubiquitous Computing, Electronics & Mobile Communication Conference (UEMCON 2016), New York, NY, USA, 20–22 October 2016. [Google Scholar]
- Cole, Y.; Zhang, H.; Ge, L.; Wei, S.; Yu, W.; Lu, C.; Chen, G.; Shen, D.; Blasch, E.; Pham, K.D. ScanMe Mobile: A Local and Cloud Hybrid Service for Analyzing APKs. In Proceedings of the Research in Adaptive and Convergent Systems (RACS 2015), Prague, Czech Republic, 9–12 October 2015. [Google Scholar]
- Singh, S.; Mishra, B.; Singh, S. Detecting Intelligent Malware on Dynamic Android Analysis Environments. In Proceedings of the 10th International Conference for Internet Technology and Secured Transactions (ICITST 2015), London, UK, 14–16 December 2015. [Google Scholar]
- Wang, H.; Guo, Y.; Tang, Z.; Bai, G.; Chen, X. Re-evaluating Android Permission Gaps with Static and Dynamic Analysis. In Proceedings of the IEEE Global Communications Conference (GLOBECOM 2015), San Diego, CA, USA, 6–10 December 2015. [Google Scholar]
- Apkpure. Available online: https://apkpure.com/ (accessed on 20 August 2018).
- The Drebin Dataset. Available online: https://www.sec.cs.tu-bs.de/~danarp/drebin/ (accessed on 20 August 2018).
- Kayabasi, G. Classification of Android Applications through Permission Based Static Analysis. Bachelor’s Thesis, Gazi University, Institute of Science, Ankara, Turkey, December 2016. [Google Scholar]
- VirusTotal. VirusTotal Public API v2.0. Available online: https://www.virustotal.com/en/documentation/public-api (accessed on 20 August 2018).
- Kang, B.; Yerima, S.Y.; McLaughlin, K.; Sezer, S. N-opcode Analysis for Android Malware Classification and Categorization. In Proceedings of the International Conference on Cyber Security and Protection of Digital Services (Cyber Security 2016), London, UK, 13–14 June 2016. [Google Scholar]
- Ma, L.; Wang, X.; Yang, Y.; He, J. Ultra-lightweight Malware Detection of Android Using 2-level Machine Learning. In Proceedings of the 3rd International Conference on Information Science and Control Engineering (ICISCE 2016), Beijing, China, 8–10 July 2016. [Google Scholar]
- Xu, K.; Li, Y.; Deng, R.H. ICCDetector: ICC-Based Malware Detection on Android. IEEE Trans. Inf. Forensics Secur. 2016, 11, 1252–1264. [Google Scholar] [CrossRef]
- Shehu, Z.; Ciccotelli, C.; Ucci, D.; Aniello, L.; Baldoni, R. Towards the Usage of Invariant-based App Behavioral Fingerprinting for the Detection of Obfuscated Versions of Known Malware. In Proceedings of the 10th International Conference on Next Generation Mobile Applications, Security and Technologies (NGMAST 2016), Cardiff, UK, 24–26 August 2016. [Google Scholar]
- Ban, T.; Takahashi, T.; Guo, S.; Inoue, D.; Nakao, K. Integration of Multi-modal Features for Android Malware Detection Using Linear SVM. In Proceedings of the 11th Asia Joint Conference on Information Security (AsiaJCIS 2016), Fukuoka, Japan, 4–5 August 2016. [Google Scholar]
- VirusTotal, About VirusTotal. Available online: https://virustotal.com/en/about/ (accessed on 20 August 2018).
- Spreitzenbarth, M.; Schreck, T.; Echtler, F.; Arp, D.; Hoffmann, J. Mobile-Sandbox: Combining static and dynamic analysis with machine-learning techniques. Int. J. Inf. Secur. 2014, 14, 141–153. [Google Scholar] [CrossRef]
- Tomak, L.; Bek, Y. Operation Characteristics Curve and Comparison of Regions under Curve. J. Exp. Clin. Med. 2009, 27, 58–65. [Google Scholar] [CrossRef]
- University of Nebraska Medical Center. The Area under an ROC Curve. Available online: http://gim.unmc.edu/dxtests/roc3.htm (accessed on 20 August 2018).
- Accord.NET Framework. Accord.Statistics.Analysis Namespace. Available online: http://accord-framework.net/docs/html/N_Accord_Statistics_Analysis.htm (accessed on 20 August 2018).
- Apkleecher.com. Available online: http://apkleecher.com/ (accessed on 20 August 2018).
- APKBucket. Available online: https://apkbucket.net/ (accessed on 20 August 2018).
- Wu, S.; Wang, P.; Li, X.; Zhang, Y. Effective Detection of Android Malware Based on the Usage of Data Flow APIs and Machine Learning. Inf. Softw. Technol. 2016, 75, 17–25. [Google Scholar] [CrossRef]
Data Set Type | # | Source |
---|---|---|
Malicious | 5545 | Drebin |
Benign | 1173 | Google Play market |
Permission Name | Total |
---|---|
android.permission.INTERNET | 1306 |
android.permission.ACCESS_NETWORK_STATE | 1142 |
android.permission.WRITE_EXTERNAL_STORAGE | 930 |
android.permission.WAKE_LOCK | 774 |
com.google.android.c2dm.permission.RECEIVE | 679 |
android.permission.ACCESS_FINE_LOCATION | 533 |
android.permission.VIBRATE | 520 |
android.permission.ACCESS_COARSE_LOCATION | 492 |
android.permission.GET_ACCOUNTS | 473 |
android.permission.ACCESS_WIFI_STATE | 462 |
Permission Name | Total |
---|---|
android.permission.INTERNET | 5332 |
android.permission.READ_PHONE_STATE | 4939 |
android.permission.WRITE_EXTERNAL_STORAGE | 3722 |
android.permission.ACCESS_NETWORK_STATE | 3677 |
android.permission.SEND_SMS | 2992 |
android.permission.RECEIVE_BOOT_COMPLETED | 2671 |
android.permission.ACCESS_WIFI_STATE | 2430 |
android.permission.RECEIVE_SMS | 2135 |
android.permission.WAKE_LOCK | 2128 |
android.permission.READ_SMS | 2081 |
Permission Name | Number of Occurrences in Malicious Data Set | Number of Occurrences in Benign Data Set | Rate of Occurrences in Malicious Data Set (%) | Rate of Occurrences in Benign Data Set (%) | Malicious Value |
---|---|---|---|---|---|
android.permission.READ_PHONE_STATE | 4939 | 369 | 89 | 28 | 61 |
android.permission.SEND_SMS | 2992 | 33 | 54 | 2 | 52 |
android.permission.READ_SMS | 2081 | 27 | 38 | 2 | 36 |
android.permission.RECEIVE_SMS | 2135 | 51 | 39 | 4 | 35 |
android.permission.RECEIVE_BOOT_COMPLETED | 2671 | 296 | 48 | 22 | 26 |
com.android.launcher.permission.INSTALL_SHORTCUT | 1414 | 55 | 26 | 4 | 22 |
android.permission.WRITE_SMS | 1239 | 8 | 22 | 1 | 21 |
android.permission.CAMERA | 227 | 274 | 4 | 21 | −17 |
android.permission.READ_EXTERNAL_STORAGE | 333 | 301 | 6 | 23 | −17 |
android.permission.ACCESS_NETWORK_STATE | 3677 | 1142 | 66 | 86 | −20 |
android.permission.WAKE_LOCK | 2128 | 774 | 38 | 58 | −20 |
com.google.android.providers.gsf.permission.READ_GSERVICES | 1 | 289 | 0 | 22 | −22 |
android.permission.GET_ACCOUNTS | 443 | 473 | 8 | 36 | −28 |
com.google.android.c2dm.permission.RECEIVE | 380 | 679 | 7 | 51 | −44 |
Number of Correct Detection | Number of False Detection | Rate of Correct Detection (%) | Rate of False Detection (%) | |
---|---|---|---|---|
Benign Data Set | 1106 | 67 | 94.29 | 5.71 |
Malicious Data Set | 5136 | 409 | 92.62 | 7.38 |
Overall | 6242 | 476 | 92.91 | 7.09 |
Number of Correct Detection | Number of False Detection | Rate of Correct Detection (%) | Rate of False Detection (%) | |
---|---|---|---|---|
Benign Data Set | 1129 | 44 | 96.25 | 3.75 |
Malicious Data Set | 5164 | 381 | 93.13 | 6.87 |
Overall | 6293 | 425 | 93.67 | 6.33 |
Number of Correct Detection | Number of False Detection | Rate of Correct Detection (%) | Rate of False Detection (%) | |
---|---|---|---|---|
Benign Data Set | 1136 | 37 | 96.85 | 3.15 |
Malicious Data Set | 5406 | 139 | 97.49 | 2.51 |
Overall | 6542 | 176 | 97.38 | 2.62 |
Number of Correct Detection | Number of False Detection | Rate of Correct Detection (%) | Rate of False Detection (%) | |
---|---|---|---|---|
Benign Data Set | 1151 | 22 | 98.12 | 1.88 |
Malicious Data Set | 5407 | 138 | 97.51 | 2.49 |
Overall | 6558 | 160 | 97.62 | 2.38 |
Studies | Attributes | Dataset | Success Rate (%) |
---|---|---|---|
DroidMat [7] | Permissions and API calls | 238 Malicious Data Sets | 97.87% |
1500 Benign Data Sets | |||
Drebin [9] | Android Manifest File and source codes | Drebin Malicious Data Set | 94% |
123,453 Benign Data Sets | |||
Kayabasi [37] | Permissions and API calls | Drebin Malicious Data Set | 99.20% |
1400 Benign Data Sets | |||
APK Auditor [11] | Permissions | Drebin and Genome | 88.28% |
Malicious Data Set | |||
1853 Benign Data Sets | |||
Wang et al. [15] | Permissions, intentions, API calls, hardware features and info on coding | 8701 Malicious Data Sets | 99.39% for Malicious Data Set |
107,327 Benign Data Sets | |||
Wu et al. [51] | DexFile andAPI calls | 1050 Malicious Data Sets | 97.66% |
1160 Benign Data Sets | |||
Arslan et al. [18] | Dexfile and Permissions | 50 Malicious Data Sets | 97.62% For Malicious Data Set |
25 Benign Data Sets | 80% for Benign Data Set | ||
The developed system (based on permissions in Android 4.1 and VirusTotal) | Permissions | Drebin Malicious Data Sets | 97.38% |
1173 Benign Data Sets | |||
The developed system (based on the permissions in data sets and VirusTotal) | Permissions | Drebin Malicious Data Sets | 97.62% |
1173 Benign Data Sets |
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Doğru, İ.A.; KİRAZ, Ö. Web-Based Android Malicious Software Detection and Classification System. Appl. Sci. 2018, 8, 1622. https://doi.org/10.3390/app8091622
Doğru İA, KİRAZ Ö. Web-Based Android Malicious Software Detection and Classification System. Applied Sciences. 2018; 8(9):1622. https://doi.org/10.3390/app8091622
Chicago/Turabian StyleDoğru, İbrahim Alper, and Ömer KİRAZ. 2018. "Web-Based Android Malicious Software Detection and Classification System" Applied Sciences 8, no. 9: 1622. https://doi.org/10.3390/app8091622
APA StyleDoğru, İ. A., & KİRAZ, Ö. (2018). Web-Based Android Malicious Software Detection and Classification System. Applied Sciences, 8(9), 1622. https://doi.org/10.3390/app8091622