طبقه‌بندی بدافزار اندروید با استفاده از شبکه عصبی کانولوشن LSTM







📘 مقالهٔ اصلی · نشریهٔ Journal of Computer Virology and Hacking Techniques

طبقه‌بندی بدافزار اندروید با استفاده از شبکه عصبی کانولوشن و LSTM

✍️ ، ،
📅 انتشار: ۲۹ آوریل ۲۰۲۱ · جلد ۱۷، صفحات ۳۱۸–۳۰۷ (۲۰۲۱)
⭐ ۱۸ ارجاع
📊 ۸۱۵ بازدید

چکیده

دستگاه‌های تلفن همراه آخرین دستاوردهای فناوری قرن بیستم هستند. تعداد حملات فیشینگ، اسنیفینگ و سایر انواع حملات در این حوزه رو به افزایش است. اگرچه روش‌های مبتنی بر امضا قابل استفاده هستند، اما در مواجهه با بدافزارهای جدید چندان قابل اعتماد نیستند و دقت کافی ندارند. علاوه بر این، روش‌های مبتنی بر امضا نمی‌توانند تغییرات سریع رفتار بدافزار را به طور کارآمد تشخیص دهند. فرآیند طبقه‌بندی ما نه تنها شامل تحلیل کد منبع با استفاده از Jadx است، بلکه شامل تحلیل برنامه‌ها و استخراج ویژگی‌های مفید نیز می‌شود. دو نوع تحلیل به نام‌های استاتیک و دینامیک استفاده شده است. ما بر روی طبقه‌بندی بدافزار اندروید با استفاده از گراف فراخوانی (Call-Graph) و همچنین تولید گراف فراخوانی برای هر دو فایل classes.dex و lib.so تمرکز کرده‌ایم که قبلاً روی آن کار نشده است. روش پیشنهادی برای طبقه‌بندی، CNN-LSTM است. از آنجا که این روش انتخاب مناسبی برای یادگیری ویژگی‌های پیچیده و ترتیبی است، از هر دو شبکه عصبی کانولوشن و حافظه کوتاه‌مدت بلندمدت (که نوعی شبکه عصبی بازگشتی است) بهره می‌برد. در این روش، یک شبکه عصبی ترتیبی (Sequential Neural Network) برای انجام طبقه‌بندی توالی و همچنین انجام مجموعه‌ای از آزمایش‌ها بر روی تشخیص بدافزار طراحی شده است. در نتیجه، CNN-LSTM با چندین روش طبقه‌بندی مانند شبکه عصبی کانولوشن (CNN)، ماشین بردار پشتیبان (SVM)، بیز ساده، جنگل تصادفی و روش‌های دیگر مقایسه شده است. نتایج به دست آمده نشان می‌دهد که روش ما حتی با استفاده از سخت‌افزار و مجموعه داده یکسان، مؤثرتر، کارآمدتر و قابل اعتمادتر از سایر روش‌ها است.

🔓 دسترسی از طریق مؤسسه
📥 خرید پی‌دی‌اف ۳۹,۹۵ €

CNN+LSTMروش پیشنهادی
۲نوع تحلیل (استاتیک/دینامیک)
classes.dex & lib.soگراف فراخوانی
۵روش مقایسه

کلمات کلیدی

طبقه‌بندی بدافزار اندروید
شبکه عصبی کانولوشن (CNN)
LSTM
گراف فراخوانی (Call-Graph)
تحلیل استاتیک
امنیت موبایل

۱. مقدمه

دستگاه‌های اندرویدی به دلیل محبوبیت بالا، هدف اصلی بدافزارها هستند. روش‌های سنتی مبتنی بر امضا برای شناسایی بدافزارهای جدید و تغییرات سریع رفتار آن‌ها ناکارآمد هستند. این مقاله یک رویکرد جدید برای طبقه‌بندی بدافزار اندروید با استفاده از ترکیب شبکه عصبی کانولوشن (CNN) و حافظه کوتاه‌مدت بلندمدت (LSTM) ارائه می‌دهد.

نوآوری اصلی: استفاده از گراف فراخوانی (Call-Graph) برای هر دو فایل classes.dex (کد جاوا) و lib.so (کتابخانه‌های بومی) که تاکنون در تحقیقات قبلی به این شکل انجام نشده است. این رویکرد امکان تحلیل جامع‌تر و دقیق‌تر رفتار بدافزار را فراهم می‌کند.

۲. روش‌شناسی

۲.۱ استخراج ویژگی

  • تحلیل استاتیک: با استفاده از ابزار Jadx، کد منبع برنامه تحلیل شده و گراف فراخوانی از فایل classes.dex استخراج می‌شود.
  • تحلیل دینامیک: رفتار برنامه در زمان اجرا بررسی شده و گراف فراخوانی از کتابخانه‌های بومی (lib.so) استخراج می‌شود.
  • ویژگی‌های استخراج‌شده: شامل توالی فراخوانی‌ها، ساختار گراف و الگوهای رفتاری است که به عنوان ورودی به مدل CNN-LSTM داده می‌شود.

۲.۲ معماری CNN-LSTM

مدل ترکیبی از دو بخش اصلی تشکیل شده است:

  1. لایه‌های CNN: برای استخراج ویژگی‌های محلی و الگوهای مکانی از گراف فراخوانی.
  2. لایه‌های LSTM: برای درک وابستگی‌های ترتیبی و الگوهای زمانی در رفتار بدافزار.

این ترکیب امکان یادگیری ویژگی‌های پیچیده و دنباله‌ای را فراهم می‌کند و دقت طبقه‌بندی را به طور قابل‌توجهی افزایش می‌دهد.

۳. آزمایش‌ها و نتایج

مدل پیشنهادی با روش‌های زیر مقایسه شده است:

  • شبکه عصبی کانولوشن (CNN)
  • ماشین بردار پشتیبان (SVM)
  • بیز ساده (Naive Bayes)
  • جنگل تصادفی (Random Forest)
  • سایر روش‌های یادگیری ماشین

نتایج کلیدی:

  • دقت بالاتر: روش CNN-LSTM در تمامی معیارهای ارزیابی (دقت، صحت، فراخوانی و F1-score) عملکرد بهتری داشت.
  • کارایی: زمان آموزش و استنتاج مدل ترکیبی با وجود پیچیدگی بیشتر، همچنان قابل قبول بود.
  • قابلیت اطمینان: مدل در شناسایی بدافزارهای جدید و ناشناخته عملکرد مقاوم‌تری نشان داد.

این نتایج نشان می‌دهد که ترکیب CNN و LSTM با استفاده از گراف فراخوانی دوگانه (classes.dex و lib.so) می‌تواند به عنوان یک راهکار مؤثر و قابل اعتماد برای طبقه‌بندی بدافزار اندروید مورد استفاده قرار گیرد.

۴. نتیجه‌گیری و کارهای آینده

این مقاله یک روش مؤثر برای طبقه‌بندی بدافزار اندروید با استفاده از ترکیب CNN و LSTM و تحلیل گراف فراخوانی ارائه داد. نتایج نشان داد که این روش نسبت به روش‌های سنتی و حتی برخی روش‌های یادگیری عمیق، عملکرد بهتری دارد. به ویژه، استفاده از گراف فراخوانی برای کتابخانه‌های بومی (lib.so) که قبلاً کمتر مورد توجه قرار گرفته بود، به افزایش دقت تشخیص کمک شایانی کرد.

جهت‌های تحقیقاتی آینده:

  • استفاده از مجموعه‌داده‌های بزرگ‌تر و متنوع‌تر برای ارزیابی تعمیم‌پذیری مدل.
  • بررسی روش‌های بهینه‌سازی برای کاهش زمان آموزش و افزایش سرعت استنتاج.
  • توسعه مدل‌های ترکیبی با سایر معماری‌های یادگیری عمیق مانند ترانسفورمرها.
  • ارائه راهکارهای عملی برای پیاده‌سازی این روش در آنتی‌ویروس‌های موبایل.


📚 منابع

  • Dahl, G.E., Stokes, J.W., Deng, L., Yu, D.: Large-scale malware classification using random projections and neural networks. In: 2013 IEEE International Conference on Acoustics, Speech and Signal Processing, pp. 3422–3426. IEEE (2013)
  • Zhu, Q., Xu, Y., Jiang, C., Xie, W.: An Android Malware detection method based on native libraries. In: Smart Innovations in Communication and Computational Sciences, pp. 233–246. Springer, Singapore (2020)
  • Qiu, J., Nepal, S., Luo, W., Pan, L., Tai, Y., Zhang, J., Xiang, Y.: Data-driven android malware intelligence: a survey. In: International Conference on Machine Learning for Cyber Security, pp. 183–202. Springer, Cham (2019)
  • Ding, Y., Zhang, X., Hu, J., Xu, W.: Android malware detection method based on bytecode image. J. Ambient Intell Huma. Comput. 1–10 (2020
  • Shang, S., Zheng, N., Xu, J., Xu, M., Zhang, H.: Detecting malware variants via function-call graph similarity, pp. 113–120 (2010)
  • Wyatt, T.: Security alert: Geinimi, sophisticated new android Trojan found in wild. Online, December, 2010 (2010)
  • Fan, M., Liu, T., Liu, J., Luo, X., Yu, L., Guan, X.: Android malware detection: a survey. Sci. Sin. Inf. 50(8), 1148–1177 (2020)
  • Onyebuchi, O.B.: Signature based Network Intrusion Detection System using Feature Selection on Android. Signature 11(6), 551–558 (2020)
  • Sun, M., Tan, G.: Nativeguard: protecting android applications from third-party native libraries. In: Proceedings of the 2014 ACM Conference on Security and Privacy in Wireless & Mobile Networks, pp. 165–176 (2014)
  • Garcia-Alfaro, J., Lioudakis, G., Cuppens-Boulahia, N., Foley, S., Fitzgerald, W.M. (eds.): Data Privacy Management and Autonomous Spontaneous Security: 8th International Workshop, DPM 2013, and 6th International Workshop, SETOP 2013, Egham, UK, September 12–13, 2013, Revised Selected Papers, vol. 8247. Springer (2014)
  • Krizhevsky, A., Sutskever, I., Hinton, G.E.: Imagenet classification with deep convolutional neural networks. Commun. ACM 60(6), 84–90 (2017)
  • He, K., Zhang, X., Ren, S., & Sun, J.: Delving deep into rectifiers: surpassing human-level performance on imagenet classification. In: Proceedings of the IEEE International Conference on Computer Vision, pp. 1026–1034 (2015)
  • Wang, L., Guo, S., Huang, W., Qiao, Y.: Places205-vggnet models for scene recognition. arXiv preprint arXiv:1508.01667 (2015)
  • He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 770–778 (2016)
  • Cesare, S., Xiang, Y.: Classification of malware using structured control flow. In: Proceedings of the Eighth Australasian Symposium on Parallel and Distributed Computing-Volume 107, pp. 61–70 (2010)
  • Tian, R., Batten, L.M., Versteeg, S.C.: Function length as a tool for malware classification. In: 2008 3rd International Conference on Malicious and Unwanted Software (MALWARE), pp. 69–76. IEEE (2008)
  • Milosevic, N., Dehghantanha, A., Choo, K.K.R.: Machine learning aided Android malware classification. Comput. Electr. Eng. 61, 266–274 (2017)
  • Nix, R., Zhang, J.: Classification of android apps and malware using deep neural networks. In: 2017 International Joint Conference on Neural Networks (IJCNN), pp. 1871–1878. IEEE (2017)
  • Ide, H., Kurita, T.: Improvement of learning for CNN with ReLU activation by sparse regularization. In: 2017 International Joint Conference on Neural Networks (IJCNN), pp. 2684–2691. IEEE (2017)
  • Zhu, R., Li, C., Niu, D., Zhang, H., Kinawi, H.: Android Malware Detection Using Large-scale Network Representation Learning. arXiv preprint arXiv:1806.04847 (2018)
  • Shorman, A., Faris, H., Aljarah, I.: Unsupervised intelligent system based on one class support vector machine and Grey Wolf optimization for IoT botnet detection. J. Ambient. Intell. Humaniz. Comput. 11(7), 2809–2825 (2020)
  • Nguyen-Vu, L., Ahn, J., Jung, S.: Android fragmentation in malware detection. Comput. Secur. 87, 101573 (2019)
  • Zhong, W., Gu, F.: A multi-level deep learning system for malware detection. Expert Syst. Appl. 133, 151–162 (2019)
  • Wang, W., Zhao, M., Wang, J.: Effective android malware detection with a hybrid model based on deep autoencoder and convolutional neural network. J. Ambient Intell. Hum. Comput. 10, 3035–3043 (2019)
  • Ahmed, A.A., Jabbar, W.A., Sadiq, A.S., Patel, H.: Deep learning-based classification model for botnet attack detection. J. Ambient Intell. Human. Comput. 1–10 (2020)
  • Martín, A., Lara-Cabrera, R., Camacho, D.: Android malware detection through hybrid features fusion and ensemble classifiers: the AndroPyTool framework and the OmniDroid dataset. Inf. Fusion 52, 128–142 (2019)
  • Liaw, A., Wiener, M.: Classification and regression by randomForest. R News 2(3), 18–22 (2002)
  • Verma, N.K., Salour, A.: Pre-processing. In: Intelligent Condition Based Monitoring, pp. 89–120. Springer, Singapore (2020)
  • Prommee, P., Angkeaw, K., Somdunyakanok, M., Dejhan, K.: CMOS-based near zero-offset multiple inputs max–min circuits and its applications. Analog Integr. Circ. Sig. Process 61(1), 93–105 (2009)
  • Singh, D., Singh, B.: Investigating the impact of data normalization on classification performance. Appl. Soft Comput. 97, 105524 (2020)
  • Safak, V.: Min-Mid-Max Scaling, Limits of Agreement, and Agreement Score. arXiv preprint arXiv:2006.12904 (2020)
  • Graf, R., Kaplan, L.A., King, R.: Neural network-based technique for android smartphone applications classification. In: 2019 11th International Conference on Cyber Conflict (CyCon), vol. 900, pp. 1–17. IEEE (2019).
  • Naway, A., Li, Y.: Using Deep Neural Network for Android Malware Detection. arXiv preprint arXiv:1904.00736 (2019)
  • Zia, T., Zahid, U.: Long short-term memory recurrent neural network architectures for Urdu acoustic modeling. Int. J. Speech Technol. 22(1), 21–30 (2019)
  • Xiong, J., Zhang, K., Zhang, H.: A vibrating mechanism to prevent neural networks from overfitting. In: 2019 15th International Wireless Communications & Mobile Computing Conference (IWCMC), pp. 1737–1742. IEEE (2019).
  • Heusel, M., Clevert, D.A., Klambauer, G., Mayr, A., Schwarzbauer, K., Unterthiner, T., Hochreiter, S.: ELU-networks: fast and accurate CNN learning on imagenet. Nin 8, 35–68 (2015)
  • Kingma, D.P., Ba, J.: Adam: a method for stochastic optimization. arXiv preprint arXiv:1412.6980 (2014)
  • Memood, F., Ghani, M.U., Ibrahim, M.A., Shehzadi, R., Asim, M.N.: A Precisely Xtreme-Multi Channel Hybrid Approach for Roman Urdu Sentiment Analysis. arXiv preprint arXiv:2003.05443 (2020)
  • Son, K.C., Lee, J.Y.: The method of android application speed up by using NDK. In: 2011 3rd International Conference on Awareness Science and Technology (iCAST), pp. 382–385. IEEE (2011)
  • Basiri, M.E., Abdar, M., Cifci, M.A., Nemati, S., Acharya, U.R.: A novel method for sentiment classification of drug reviews using fusion of deep and machine learning techniques. Knowl.-Based Syst. 198, 105949 (2020)
  • Kim, H., Jeong, Y.S.: Sentiment classification using convolutional neural networks. Appl. Sci. 9(11), 2347 (2019)
  • Wong, T.T., Yeh, P. Y.: Reliable accuracy estimates from k-fold cross validation. IEEE Trans. Knowl. Data Eng. 32(8), 1586–1594 (2019)
  • Jose, R.R., Salim, A.: Integrated static analysis for malware variants detection. In: International Conference on Inventive Computation Technologies, pp. 622–629. Springer (2019)

دریافت: ۲۵ دسامبر ۲۰۲۰
پذیرش: ۱۷ آوریل ۲۰۲۱
انتشار: ۲۹ آوریل ۲۰۲۱
نسخه نهایی: ۲۹ آوریل ۲۰۲۱

Springer Nature