Application Identification Through Intelligent Traffic Classification
Subject Areas : ICT
1 - ITRC
Keywords: Encrypted traffic classification, Operational architectural framework, Statistical features, Application Identification, Machine learning,
Abstract :
Traffic classification and analysis is one of the big challenges in the field of data mining and machine learning, which plays an important role in providing security, quality assurance and network management. Today, a large amount of transmission traffic in the network is encrypted by secure communication protocols such as HTTPS. Encrypted traffic reduces the possibility of monitoring and detecting suspicious and malicious traffic in communication infrastructures (instead of increased security and privacy of the user) and its classification is a difficult task without decoding network communications, because the payload information is lost, and only the header information (which is encrypted too in new versions of network communication protocols such as TLS1.03) is accessible. Therefore, the old approaches of traffic analysis, such as various methods based on port and payload, have lost their efficiency, and new approaches based on artificial intelligence and machine learning are used in cryptographic traffic analysis. In this article, after reviewing the traffic analysis methods, an operational architectural framework for intelligent traffic analysis and classification has been designed. Then, an intelligent model for Traffic Classification and Application Identification is presented and evaluated using machine learning methods on Kaggle141. The obtained results show that the random forest model, in addition to high interpretability compared to deep learning methods, has been able to provide high accuracy in traffic classification (95% and 97%) compared to other machine learning methods. Finally, tips and suggestions about using machine learning methods in the operational field of traffic classification have been provided.
[1] D. Gibert, C. Mateu, and J. Planes, “The rise of machine learning for detection and classification of malware: Research developments, trends and challenges,” J. Netw. Comput. Appl., vol. 153, p. 102526, 2020.
[2] J. Pluskal, O. Lichtner, and O. Rysavy, “Traffic Classification and Application Identification in Network Forensics,” 2018, pp. 161–181.
[3] J. Zhao, X. Jing, Z. Yan, W. Pedrycz, Network traffic classification for data fusion: A survey, Information Fusion 72 (2021) 22–47. doi:https://doi.org/10.1016/j.inffus.2021. 02.009
[4] Zihao Wang, Kar-Wai Fok, Vrizlynn L. L. Thing, "Machine Learning for Encrypted Malicious Traffic Detection: Approaches, Datasets and Comparative Study", Computers & Security, Volume 113, 2022.
[5] M. Conti, Q. Q. Li, A. Maragno, and R. Spolaor, “The dark side(-Channel) of Mobile Devices: A survey on network traffic analysis,” IEEE Commun. Surv. Tutorials, 2018.
[6] Z. Liu, R. Wang, N. Japkowicz, Y. Cai, D. Tang, and X. Cai, “Mobile app traffic flow feature extraction and selection for improving classification robustness,” J. Netw. Comput. Appl., 2019.
[7] Eva Papadogiannaki, Sotiris IoannidisSotiris Ioannidis, "A Survey on Encrypted Network Traffic Analysis Applications, Techniques, and Countermeasures", ACM Computing Surveys 54(6):1-35, July 2021.
[8] D. S. Mohamad Amar, "A Survey on Tor Encrypted Traffic Monitoring", International Journal of Advanced Computer Science and Applications 9(8), 2018.
[9] A. Bhatiaa, A. A. Bahugunaa, K. Tiwaria, K. Haribabua, and D. Vishwakarmab, “A Survey on Analyzing Encrypted Network Traffic of Mobile Devices,” Jun. 2020.
[10] Adi Lichy, Ofek Bader, Ran Dubin, Amit Dvir, Chen Hajaj, "When a RF Beats a CNN and GRU, Together - A Comparison of Deep Learning and Classical Machine Learning Approaches for Encrypted Malware Traffic Classification", arXiv:2206.08004v1 [cs.CR] 16 Jun 2022.
[11] T. van Ede, R. Bortolameotti, A. Continella, J. Ren, D. J. Dubois, M. Lindorfer, D. Choffnes, M. van Steen, and A. Peter, “Flowprint: Semi-supervised mobile-app fingerprinting on encrypted network traffic,” in Network and Distributed System Security Symposium (NDSS), vol. 27, 2020.
[12] R.-H. Hwang, M.-C. Peng, C.-W. Huang, P.-C. Lin, and V.-L. Nguyen, “An unsupervised deep learning model for early network traffic anomaly detection,” IEEE Access, vol. 8, pp. 30 387–30 399, 2020.
[13] A. Azab, M. Khasawneh, S. Alrabaee, K.-K. Raymond Choo, M. Sarsour, "Network traffic classification: Techniques, datasets, and challenges", Digital Communications and Networks (2022), doi: https://doi.org/10.1016/j.dcan.2022.09.009.
[14] P. Khandait, N. Hubballi, B. Mazumdar, Efficient keyword matching for deep packet inspection based network traffic classification, in: 2020 International Conference on COMmunication Systems & NETworkS (COMSNETS), IEEE, 2020, pp. 567–570.
[15] S. Rezaei and X. Liu, “Multitask Learning for Network Traffic Classification,” in Proceedings - International Conference on Computer Communications and Networks, ICCCN, 2020.
[16] M. Perera Jayasuriya Kuranage, K. Piamrat, and S. Hamma, “Network Traffic Classification Using Machine Learning for Software Defined Networks,” 2020, pp. 28–39.
[17] M. Lotfollahi, M. J. Siavoshani, R. S. H. Zade, and M. Saberian, “Deep packet: a novel approach for encrypted traffic classification using deep learning,” Soft Comput., vol. 24, no. 3, pp. 1999–2012, 2020.
[18] M. Shafiq, X. Yu, A. A. Laghari, L. Yao, N. K. Karn, and F. Abdessamia, “Network Traffic Classification techniques and comparative analysis using Machine Learning algorithms,” in 2016 2nd IEEE International Conference on Computer and Communications, ICCC 2016 - Proceedings, 2017.
[19] O. Salman, I. H. Elhajj, A. Kayssi, A. Chehab, A review on machine learning–based approaches for internet traffic classification, Annals of Telecommunications 75 (11) (2020) 673–710.
[20] Mohammad Pooya Malek, Shaghayegh Naderi, Hossein Gharaee Garakani, "A Review on Internet Traffic Classification Based on Artificial Intelligence Techniques", International Journal of Information & Communication Technology Research (IJICTR), Vol. 14, N. 2, pp. 1-13, 2022.
[21] Madushi H. Pathmaperuma,Yogachandran Rahulamathavan,Safak Dogan and Ahmet M. Kondoz, "Deep Learning for Encrypted Traffic Classification and Unknown Data Detection", Sensors 2022, 22(19), 7643; https://doi.org/10.3390/s22197643.
[22] "Labeled Network Traffic flows - 141 Applications", Kaggle.com. [Online]. Available: https://www.kaggle.com/jsrojas/ labeled-network-traffic-flows-114-applications. [Accessed: 07- Jan- 2022].
[23] S. Dong, Multi class SVM algorithm with active learning for network traffic classification, Expert Systems with Applications 176 (2021) 114885. doi:https://doi.org/10.1016/j.eswa.2021.114885.
[24] A. A. Afuwape, Y. Xu, J. H. Anajemba, G.Srivastava, Performance evaluation of secured network traffic classification using a machine learning approach, Computer Standards & Interfaces 78 (2021) 103545. doi:https://doi.org/10.1016/j.csi.2021.103545
[25] Bei Lu, Nurbol Luktarhan, Chao Ding and Wenhui Zhang, "ICLSTM: Encrypted Traffic Service Identification Based on Inception-LSTM Neural Network", Symmetry 2021, 13(6), 1080; https://doi.org/10.3390 /sym13061080.
[26] Fathi-Kazerooni, Sina, Yagiz Kaymak, and Roberto Rojas-Cessa. "Identification of user application by an external eavesdropper using machine learning analysis on network traffic." In 2019 IEEE International Conference on Communications Workshops (ICC Works.
[27] Perera, Menuka, Kandaraj Piamrat, and Salima Hamma. "Network Traffic Classification using Machine Learning for Software Defined Networks." In Journées non thématiques GDR-RSD 2020. 2020..
[28] Peng, Lizhi, Bo Yang, and Yuehui Chen. "Effective packet number for early stage internet traffic identification." Neurocomputing 156 (2015): 252-267..
[29] Dong, Yu-ning, Jia-jie Zhao, and Jiong Jin. "Novel feature selection and classification of Internet video traffic based on a hierarchical scheme." Computer Networks 119 (2017): 102-111..
[30] Khatouni, Ali Safari, and Nur Zincir Heywood. "How much training data is enough to move a ML-based classifier to a different network?." Procedia Computer Science 155 (2019): 378-385.
دوفصلنامه
فناوری اطلاعات و ارتباطات ایران
سال شانزدهم، شماره های 59 و 60، بهار و تابستان 1403، صفحه 264 الی 278
Application Identification Through Intelligent Traffic Classification
Shaghayegh Naderi 11
1 Assistant Professor, ICT Research Institute, Tehran, Iran
Received: 12 May 2023, Revised: 27 August 2023, Accepted: 17 September 2023
Paper type: Research
Abstract
Traffic classification and analysis is one of the big challenges in the field of data mining and machine learning, which plays an important role in providing security, quality assurance and network management. Today, a large amount of transmission traffic in the network is encrypted by secure communication protocols such as HTTPS. Encrypted traffic reduces the possibility of monitoring and detecting suspicious and malicious traffic in communication infrastructures (instead of increased security and privacy of the user) and its classification is a difficult task without decoding network communications, because the payload information is lost, and only the header information (which is encrypted too in new versions of network communication protocols such as TLS1.03) is accessible. Therefore, the old approaches of traffic analysis, such as various methods based on port and payload, have lost their efficiency, and new approaches based on artificial intelligence and machine learning are used in cryptographic traffic analysis. In this article, after reviewing the traffic analysis methods, an operational architectural framework for intelligent traffic analysis and classification has been designed. Then, an intelligent model for Traffic Classification and Application Identification is presented and evaluated using machine learning methods on Kaggle141. The obtained results show that the random forest model, in addition to high interpretability compared to deep learning methods, has been able to provide high accuracy in traffic classification (95% and 97%) compared to other machine learning methods. Finally, tips and suggestions about using machine learning methods in the operational field of traffic classification have been provided.
Keywords: Encrypted traffic classification, Operational architectural framework, Statistical features, Application Identification, Machine learning.
شناسایی برنامه با طبقهبندی هوشمند ترافیک شبکه
شقایق نادری12
1 استادیار پژوهشگاه ارتباطات و فناوری اطلاعات، تهران، ایران
تاریخ دریافت: 22/02/1402 تاریخ بازبینی: 05/06/1402 تاریخ پذیرش: 26/06/1402
نوع مقاله: پژوهشی
چکيده
طبقهبندی و تحلیل ترافیک، یکی از چالشهای بزرگ در حوزه داده کاوی و یادگیری ماشین است که نقش مهمی در تأمین امنیت، تضمین کیفیت و مدیریت شبکه دارد. امروزه حجم زیادی از ترافیک انتقالی در بستر شبكه توسط پروتكلهای ارتباطي امن مانند HTTPS رمز میشوند. ترافیک رمز، امکان نظارت و تشخیص ترافيک مشکوک و مخرب در زيرساختهاي ارتباطي را (در قبال افزایش امنيت و حريم خصوصي کاربر) کاهش ميدهد و طبقهبندی آن بدون رمزگشايي ارتباطات شبكهاي كار دشواري است، چرا که اطلاعات payload از دست ميرود و تنها اطلاعات سرآيند كه بخشي از آن هم در نسخههاي جدید پروتكلهاي ارتباطي شبكه (نظيرTLS1.03) رمز ميشود، قابل دسترس است. از اينرو رويكردهاي قدیمی تحلیل ترافیک مانند روشهاي مختلف مبتني بر پورت و Payload کارآمدی خود را از دست داده، و رویکردهای جدید مبتنی بر هوش مصنوعی و یادگیری ماشین در تحلیل ترافیک رمز مورد استفاده قرار میگیرند. در این مقاله پس از بررسی روشهای تحلیل ترافیک، چارچوب معماري عملیاتی برای تحلیل و طبقهبندی هوشمند ترافیک طراحی شده است. سپس یک مدل هوشمند با رویکرد شناسایی ترافیک برنامهها مبتنی بر معماری پیشنهادی ارائه گردیده و با استفاده از روشهای یادگیری ماشین روی مجموعه داده ترافیکی Kaggle141 و مجموعه داده محلی مورد ارزیابی قرار گرفته است. نتایج بدست آمده نشان میدهد که مدل مبتنی بر جنگل تصادفی، علاوه بر قابلیت تفسیرپذیری بالا در مقایسه با روشهای یادگیری عمیق، توانسته است دقت بالایی در طبقهبندی هوشمند ترافیک (به ترتیب 95% و 97%) نسبت به سایر روشهای یادگیری ماشین روی مجموعه داده Kaggle141 و ترافیک محلی ارائه دهد.
کلیدواژگان: طبقهبندي ترافيك رمز، معماری عملیاتی، ويژگيهای آماری، شناسایی برنامه، یادگیری ماشین.
[1] * Corresponding Author’s email: naderi@itrc.ac.ir
[2] * رایانامة نويسنده مسؤول: naderi@itrc.ac.ir
1- مقدمه
امروزه شاهد افزایش روزافزون تعداد کاربران اینترنت و ورود برنامههاي متنوع تحت شبکه و موبایل هستيم كه به مرور سهم بيشتري از ظرفيت خطوط ارتباطي شبکه اينترنت را به خود اختصاص ميدهند و به تبع آن انواع ترافيک مخرب و تهديدات امنيتي که امنيت کاربران را به خطر مياندازد نیز رو به افزايش است.
درخواست روزافزون استفاده از پهناي باند بيشتر از يک سو و محدوديت ظرفيت فيزيکي خطوط ارتباطي شبکه از سوي ديگر، سبب میشود که ارائهدهندگان خدمات اينترنت در پي يافتن راهکارهايي جهت بهبود کيفيت بهرهبرداري کاربران از منابع شبکه باشند. يکي از اين راهکارها، طبقهبندي ترافيك و تخصيص پهناي باند مشخص به هر يک از برنامهها و سرويسهاي موجود در شبکه و اولويتدهي به آنها میباشد.
همچنین، با توجه به رشد روزافزون بدافزارها و تلاش آنها براي پنهانسازي ترافيک خود و دور زدن سيستمهاي امنیتی، شناسایی و طبقهبندي ترافيک به عنوان گامی موثر و مقدمهاي لازم براي بسياري از وظايف امنيتي، مديريتي و کنترلي در شبکه داراي اهميت است [1] و [2].
ازینرو در حال حاضر شناسايي ترافيك با اهداف مختلفي مانند: تامين کارايي شبکه، ارتقا کيفيت سرويس، تشخيص نفوذگران، مديريت منابع، و كنترل دسترسيها صورت ميپذيرد [3].
یکی از چالشهای اصلی در تحلیل ترافیک مواجهه با ترافیک رمز است. با افزايش استفاده از ترافيک رمز شده در لايه انتقال، رمزنگاري محتوا با استفاده از استانداردها بسيار رایج شده که این امر تحليل و شناسايي ترافيك رمز را به يكي از چالشهاي اين نوع ارتباطات تبديل کرده است. بنابراين امروزه شناسايي ترافيك در بستر رمز ارتباطات اینترنتی، به عنوان يكي از رويكردهاي اصلی تحلیل ترافيك مطرح است [4].
با بررسی مقالات متعدد، نکات زیر در خصوص تحليل و تشخيص ترافيک رمز شده قابل ارائه است [5] تا [9]:
· امکان استفاده از اطلاعات ترافیک در فاز برقراري ارتباط براي تشخيص ترافيک رمز وجود دارد.
· ساختار پروتکل رمزنگاري ميتواند در تشخيص نوع پروتکل ارتباطي شبکه موثر باشد.
· تشخيص پروتکل و نوع ترافيک عبوری میتواند مبتنی بر اندازه بسته و دادههاي مربوط به ساختار بسته در بخشهايي که رمز نشدهاند (نظير محتواي بسته، نسخه پروتکل و طول بسته ارسالي در زمان شروع ارتباط) صورت گیرد.
· مشخص نمودن ساختار بستهها و استانداردهاي ارتباطي در تشخيص و شناسايي رفتار آنها جهت استخراج الگوي ارتباطي پروتکلها مفيد است.
· اگر چه بستههای ابتدایی در فاز برقراری ارتباط شامل سرآيندهاي لايه 2، 3 و 4 و در زمان دستداد1، پروتكل و شناسه نام سرور (SNI)، معمولا بصورت رمز نشده در دسترس هستند، اما در TLS1.3 اين اطلاعات هم رمز میشود و در صورت استفاده از اين نسخه، کارايي اغلب الگوريتمها و روشهاي تحليل ترافيك بايد مورد بازبيني قرار گيرد.
از آنجائیکه در ترافيك رمزشده، امكان تحليل و شناخت به دليل رمزنگاري ارتباط وجود ندارد. تحليل ترافيكي بهتر است بدون رمزگشايي الگوريتمهاي رمزنگاري و مبتنی بر ویژگیهای آماری بستهها انجام شود تا زمان صرف شده براي تحليل و طبقهبندي ترافيك كاهش يافته و قابل استفاده در TLS 1.3 نیز باشد.
در این مقاله پس از بررسی روشهای تحلیل ترافیک در بخش 2، چارچوب یک معماري عملیاتی برای تحلیل ترافیک برنامههای کاربردی به همراه ماژولها و توابع اصلی و ارتباطات بین آنها در بخش 3 ارائه شده است. در ادامه در بخش 4 مدل هوشمندی با هدف شناسایی ترافیک برنامهها در بستر شبکه، مبتنی بر معماری پیشنهادی، ارائه گردیده و توسط روشهای یادگیری مختلف پیادهسازی و مورد ارزیابی قرار گرفته است. در نهایت نکات و پیشنهاداتی جهت بکارگیری مؤثر روشهای یادگیری ماشین در کاربردهای عملی تحلیل ترافیک در بخش 5 ارائه شده است.
نوآوریهای فعالیت پیش رو شامل موارد زیر است:
· ارزیابی قابلیت استفاده از روشهای مبتنی بر هوش مصنوعی به جای روشهای موجود مبتنی بر قانون: با توجه به اینکه در حال حاضر تمام روشهای مورد استفاده در سامانههای مختلف شناسایی ترافیک داخلی مبتنی بر امضاهای خریداری شده عمل میکنند، مهمترین هدف و نوآوری این پروژه امکانسنجی استفاده از هوش مصنوعی برای استخراج الگوی ترافیکی برنامههای جدید در راستای کاهش وابستگی به نرمافزارهای خارجی (مبتنی بر قانون و بالطبع نیازمند خرید امضاهای جدید) در این حوزه است.
· طراحی معماري عملیاتی سامانه شناسايي ترافيك: در گام اول پروژه مطالعه و بررسی جامعی در حوزه تحلیل ترافیک روی مقالات و مراجع معتبر انجام گرفت (که خلاصه آن در جدول 1 مقاله [20] قابل دسترس است). در این مقاله مبنی بر دانش اخذ شده و تحلیل نیازمندیها، توابع اصلی مورد نیاز در شناسایی ترافیک شناسایی و در قالب پنج ماژول اصلی در طراحی معماری سامانه شناسایی ترافیک بکار گرفته شد.
· سفارشیسازی مجموعه داده Kaggle141: مشتمل بر نرمالسازی، انتخاب دستهها و ویژگیهای مناسب
· تولید نمونه آزمایشگاهی ترافیک واقعی: (شامل بررسی روالهای تولید مجموعه داده، استخراج ویژگی و نرمالسازی آن، در راستای استفاده کاربردی از مدل پیشنهادی در کاربردهای بومی و سیستمهای موجود)
· پیادهسازی نمونه عملیاتی سامانه تشخیص ترافیک: با قابلیت تست روی داده واقعی و آنلاین
· قابلیت بکارگیری روش پیشنهادی در کنار سامانههای مبتنی بر قانون/امضاء: جهت استخراج امضای برنامههای جدید به صورت آفلاین
با توجه به اینکه سیستمهای تشخیص ترافیک موجود در کشور تماما مبتنی بر قانون هستند و با توجه به اینکه ترافیک برنامهها مدام در حال تغییر است، هدف اصلی از این پژوهش ارزیابی این موضوع بوده که آیا روشهای هوشمند میتوانند در کاربردهای واقعی جایگزین روشهای مبتنی بر قانون شده و یا به صورت موازی برای تولید قوانین جدید در کنار این سامانهها قرار بگیرند یا خیر؟ که با توجه به ارزیابی صورت گرفته و سرعت پاسخ مدل پیشنهادی نتایج امیدوارکننده بوده است.
2- روشهای تحلیل ترافیک
برای تحلیل و طبقهبندی ترافیک شبکه با اهداف مختلف از جمله: شناسايي بدافزار [10] و نوع سيستم عامل، شناسايي ردپا2 [11] و تاثير فعاليت كاربر [2]، شناسايي موقعيت جغرافيايي، شناسايي برنامههاي جعل و فريب [12]، شناسايي برنامه کاربردی خاص و یا تشخیص علاقهمندي كاربر، روشهای متفاوتی وجود دارد. به طور کلی روشهای تحلیل و طبقهبندی ترافیک در سه دسته کلی ارائه میشوند [13] تا [16]:
· روشهای مبتنی بر پورت3
· روشهای مبتنی بر بار/ محتوای بسته4
· روشهای مبتني بر ویژگیهای آماری5/ رفتاری6
در جدول 1 روشهای تحلیل ترافیک همراه با مزایا و معایب هر یک ارائه شده است.
جدول 1. مقایسه روشهاي مختلف تحلیل ترافيك
روش | مزایا و قابلیتها | معایب و کاستیها |
مبتنی بر پورت | نسبتا ساده و سریع (بدلیل استفاده از پورتهای معروف برای تشخیص) | ناکارامدی هنگام استفاده از پورتهای آزاد (پورت پویا در برنامههایP2P ) ظهور تکنیک و پروتکل تونلسازی (ناکارامدی روشهای مبتنی بر پورت) |
مبتنی بر محتوا (بار) بسته | تحلیل محتوای بسته و تشخیص مبتني بر الگو صحت تشخیص بالا تشخيص ترافيك رمز با بررسی بايتهای آغازین ارتباط استفاده از ابزار DPI | سرعت پایین به علت محاسبات بالا نیاز به سختافزار قوی برای جستجوی الگوهای از پیش تعیین شده لزوم بروزرسانی قوانین و الگوها عدم دسترسي به محتوا بستههای رمز محدوديت تشخیص در ترافیکهاي جديد (بدون الگو و امضا) |
مبتنی بر ویژگیآماری/ رفتاری | دقت بالا و پوشش گسترده امکان تفسیر تلفیق ویژگی آماری و ML در تشخيص ترافیک رمز استفاده از ویژگیهاي رفتاری در تشخيص ترافیک خاص | سرریزهای بزرگ محاسباتی و حافظه مربوط به استخراج و انتخاب ویژگی تاخير در تحلیل ترافیک در زمان واقعی (با استفاده از کل دنباله بستهها) نیاز به کاهش ابعاد و انتخاب ویژگیها |
همانطور که در جدول اشاره شده با توجه به ظهور تکنیکهای جدید روشهای مبتنی بر پورت دیگر کارایی لازم را ندارند. در تکنیک مبتنی بر محتوا، شناسايي بر اساس بازرسي عمیق [14] و [17] محتواي بستهها صورت گرفته و با استفاده از الگوها و ساختارهاي از پيش تعيين شده، طبقهبندی و شناسایی نوع ترافيک انجام ميشود. اين روشها از صحت تشخيص بالايي برخوردار هستند. با اين حال، بازدهي پاييني دارند كه علت آن نياز به محاسبات زياد و سختافزار قوي براي جستوجوي الگوها، به روزرساني مکرر قوانين تطبيق و مشکلات حريم خصوصي است. علاوه بر اين، تعداد فزايندهاي از برنامهها، محتواي بستههاي ارسالي خود را رمزگذاري ميکنند و باعث ناکارامدی این روش در شناسایی ترافیک میشوند. از اینرو روشهای مبتنی بر یادگیری ماشین با ارائه مدلهای هوشمند مبتنی بر ویژگیهای آماری/ رفتاری به عنوان روشهای پرکاربرد و موثر برای طبقهبندی و تحلیل ترافیک در بستر رمز شبکه مطرح شدند [18] و [19]. این روشها علاوه بر دقت بالا در تشخیص الگوها و تعیین رابطههای میان ورودیها و خروجیها، میتوانند الگوهای پیچیده و مختلف را تشخیص دهند. همچنین روشهای یادگیری ماشین مبتنی بر ویژگیهای آماری/ رفتاری میتوانند به صورت آنلاین و در زمان واقعی برای طبقهبندی و تحلیل دادهها مورد استفاده قرار گرفته و قابلیت تفسیر دادهها و مدلها را برای کاربران و مدیران فراهم سازند.
3- مدل پيشنهادي
شناسایی ترافيك با رویکردهای مختلفی صورت میگیرد که در دستههای کاربردی زیر قابل تفکیک هستند:
· طبقهبندي ترافيك
· شناسایی برنامههای کاربردی
· شناسایی گروه خدماتی
· تفکیک دو گروه از هم
· شناسایی رفتارهای خاص کاربر
· شناسایی پروتکلها
در این مقاله، کاربرد مدنظر شناسایی برنامههای کاربردی است.
اولین و مؤثرترین گام در پیادهسازی موفق یک مدل، طراحی دقیق معماری آن است. انتخاب نحوه جمعآوري داده به صورت آنلاين/ آفلاين، تعیین ابزار و تجهيزات انتخابي، سطح و لايه جمعآوری ترافيك، تعیین نوع و فرمت ویژگیهای جریان ترافیکی از جمله چالشهای مطرح در حوزه تحلیل ترافیک است [13] که بسته به نوع مسأله، حوزه کاربرد آن، میزان هزینهکرد و سایر پارامترها باید قبل از هر اقدامی در مورد آن تصمیمگیری کرد.
هدف از ارائه معماری، در واقع ارائه توابع و ماژولهای اصلی یک سامانه و تعیین ارتباطات بین آنها مستقل از جزئیاتی نظیر نوع فناوری، چگونگی اجرا، و توسعه کد است. به این ترتیب هر نوع تغییری که بر اساس توسعه و تغییرات فناوریها و نیازمندیها و تغييرات نرمافزار و برنامهها در آينده وجود داشته باشد، درون ماژولهای اصلی قابل انجام است.
برای طراحی معماری، پس از مطالعه و بررسی معماریهای ارائه شده در بیش از 120 مرجع و مقاله معتبر (که جزئیات آن به صورت جامع در مقاله [20] قابل دسترس است) نیازمندیهای یک سامانه تحلیل ترافیک از جنبههای مختلف مورد بررسی قرار گرفته و بر این اساس ماژولهای پنجگانه زیر برای آن پیشنهاد شد:
· ماژول ورودي
· ماژول پیش پردازش و استخراج ويژگي
· ماژول تحلیل مبتنی بر یادگیری ماشین
· ماژول مجموعه داده (ديتاست) و مخزن داده/ دانش
· ماژول خروجي
در ادامه توابع و جزئیات هر ماژول و نحوه ارتباط آنها در قالب طرح معماری ارائه شده است.
3-1- ماژول ورودي / خروجي
ماژول دريافت داده ميتواند از طريق دو رويكرد انجام پذيرد.
· دريافت آنلاين داده با استقرار بر ترافيك عبوري
· دريافت آفلاين داده با دريافت كپي ترافيك عبوري
داده ورودي بستههای عبوري جریان ترافیک شبکه هستند که در فرمت .pcap یا .csv دریافت شده و قابلیت تبديل به سایر فرمتها جهت استخراج ويژگي را دارند.
ماژول خروجي شامل نوع برنامه كاربردي تشخيص داده شده توسط الگوريتم یادگیری ماشین ميباشد. اين خروجيها در فرمتها و روشهاي مختلف قابل ثبت و نمايش هستند. همچنان كه بسته فايلهاي ورودي در فرمت pcap است، خروجیها نیز میتواند بسته به نیاز جهت ارزیابی و محاسبه پارامترهای کارایی در فرمتهای مختلف متنی یا اکسل ذخیره شود.
3-2- ماژول داده و دانش
در این بخش معماری عملياتي مجموعه داده بررسی میشود. این ماژول شامل سه بخش زیر است که در بخش اول و دوم، داده ترافیکی متناسب با نیازمندیهای تحلیل پردازش و آماده میشود.
· پايگاه داده خام: که یکی از ملزومات اصلی در کاربردهای واقعی تحلیل ترافیک محسوب میشود و شامل مراحل ضبط ترافیک7و برچسبگذاری8 آن است.
· پايگاه داده پردازش شده: که شامل مجموعه داده آماده شده برای آموزش، اعتبارسنجي و تست مدل است.
· پايگاه دانش: که در برگیرنده دانش مدلهای آموزش یافته و پارامترهای نهایی آنها میباشد.
هر یک از پايگاههاي داده/ دانش بسته به مدل انتخابی و روند تحليل در جای خود مورد استفاده قرار خواهد گرفت.
3-3- ماژول پيش پردازش
ماژول پيش پردازش وظيفه تنظيم و آمادهسازي داده ترافیکی جهت استفاده در ماژول تحليل را بر عهده دارد. وظايف این ماژول بشرح زیر است:
· ارزيابي كيفي داده: بطوریکه دادههای معیوب، ناشناس و غیرنرمال به درون سامانه پردازشی هدایت نشوند و دادههایی که معرف ویژگیهای مرتبط با برنامهها است و متناسب با استانداردها تولید شده اند، برای تحلیل ارسال شوند.
· حذف داده بدون ارزش: حذف دادههاي ترافيكی كه ارزش افزوده دانشي و اطلاعاتي از منظر تحليل ندارند.
· حذف داده نويزي: حذف دادههای نویزی كه بر روند تحليل تاثير مخرب دارند.
· نرمالسازي: با توجه به تفاوت فرمت و بازه متغیرها در نرمافزارهای مختلف جمعآوری ترافیک، لازم است کلیه دادههاي دريافتي (از انواع منابع و برنامههاي كاربردي) در يك بازه تعريف شده نرمال و فرمتها یکسان شود.
· كاهش ابعاد (Reduction): گاهي اطلاعاتي درون فايل ورودي هست كه فاقد اطلاعات مفید بوده و یا بدلیل مباحث حفظ حریم خصوصی باید حذف شود. با حذف این اطلاعات (نظير IP masking) حجم داده/فایلهای ورودی کاهش یافته و در نهايت داده جهت ورود به ماژول تحليل آماده ميشود.
3-4- ماژول تحليل
اين ماژول، بسته به رویکرد تحلیل ترافیک ميتواند توابع مختلفی از موارد زیر را در برگیرد:
· استخراج ويژگيها: ابتدا نيازمند استخراج ويژگيهايي هستيم كه به هر دسته ترافیکی تعلق دارد و از اين ويژگيها میتوان با قطعيت بالا، ترافیک مربوطه را تشخيص داد. جدول 2 نمونههایی از ویژگیهای آماری مورد استفاده جهت شناسایی ترافیک را نشان میدهد.
· كاهش ويژگيها: حذف دادهها و ويژگيهايي كه در كارايي روشهای تشخیص و طبقهبندی مبتنی بر يادگيري ماشين تاثير چندانی ندارند و گاها منجر به ایجاد خطا در شناسایی میشوند (مانند حذف آدرس IP مبدأ و مواردی که مربوط به حریم خصوصی کاربر میشود)، در اين مرحله انجام مي گیرد.
· تبديل ويژگيها9: تبديل فضاي ويژگيها بسته به روش يادگيري ماشين انتخابي و روش كاهش ويژگيها ممکن است مورد نیاز باشد.
· آموزش مدل: در اين بخش بسته به هدف تحلیل ترافیک، نوع و مدل روش هوشمند انتخاب خواهد شد که میتواند روشهای یادگیری ماشین یا یادگیری عمیق باشد. برای انجام این کار، بخشي از داده ورودي را براي تنظيمات مربوط به آموزش مدل استفاده خواهيم كرد (فاز يادگيري / آموزش) که در آن سامانه ويژگيها، فضا و تنظيماتي را كه براي تشخيص هر كدام از خروجيها نياز دارد ياد ميگيرد، سپس با بخش دوم دادهها مدل آموزش یافته را مورد ارزیابی قرار میدهیم (فاز تست) و در نهایت بر اساس نتایج ارزیابی مدل را بهبود میدهیم.
· به عبارتی آموزش مدل شامل سه مرحله: آمادهسازی داده آموزشی، پیادهسازی مدل یادگیری و تصحيح خطا و بهينهسازي مدل میباشد.
· شکل 1 معماری پیشنهادی برای تحلیل ترافیک را نشان میدهد که ماژول تحلیل با دو رویکرد استفاده از روشهای یادگیری ماشین و یادگیری عمیق ارائه شده است.
· با توجه به قدرت تفسیرپذیری روشهای یادگیری ماشین نسبت به به روشهای یادگیری عمیق [20] و [21]، در این مقاله رویکرد یادگیری ماشین برای پیادهسازی مدل استفاده شده است.
4- پیادهسازی و ارزیابی روش پیشنهادی
در این بخش به بیان مسأله، مدل پیشنهادی، معرفی پایگاه داده، روشهای یادگیری ماشین مورد استفاده پرداخته میشود.
در معماری شبیهسازی شده دراین مقاله ماژول ورودی، ترافیک رمز برنامههای مختلف در قالب یک فایل csv است که دربرگیرنده ویژگیهای جریان ترافیک است.
در ماژول پیشپردازش یکسانسازی پارامترها و حذف دادههای نویزی صورت گرفته و اطلاعات پس از نرمالسازی در اختیار ماژول تحلیل قرار میگیرند. مبتنی بر مطالعات و تحقیقات قبلی انجام گرفته [20]، تعدادی از روشهای یادگیری ماشین متناسب با مسأله برای ماژول تحلیل کاندید شده و توسط معیارهای ارزیابی روی ترافیک ورودی مورد ارزیابی قرار میگیرند.
در ادامه جزئیات مجموعه داده و مدلهای یادگیری انتخابی و نحوه ارزیابی آنها تشریح شده است.
[1] Handshake
[2] Foot Print
[3] Port-Based
[4] Payload-Based
[5] Statistical-Based
[6] Behavioral-Based
[7] Capture
[8] Labeling
[9] Feature Transformation
شکل 1. معماري عملیاتی پیشنهادی برای سامانه شناسايي ترافيك
جدول 2. ویژگیهای آماري پکتها
· طول يك بسته · تعداد پکت/ بايت در ثانيه · انحراف از مقدار پرتکرار1 · اختلاف زمان2 درخواست و پاسخ · واريانس زمان درخواست و پاسخ · انحراف معيار3 اختلاف زمان درخواست و پاسخ · ضريب تغيير4 اختلاف زمان درخواست و پاسخ · انحراف از ميانه5 اختلاف زمان درخواست و پاسخ · انحراف از ميانه زمان بسته · انحراف از مقدار پرتکرار زمان بسته · ميانگين اختلاف زمان درخواست و پاسخ · ميانه اختلاف زمان درخواست و پاسخ · مقدار پرتکرار اختلاف زمان درخواست و پاسخ · نرخ6 بايت جريان ارسالي · واريانس زمان بسته · حداقل/حداکثر طول بستههاي ارسالي · حداقل/اکثر فاصله زماني ارسال بستهها | · تعداد بايت جريان ارسالي/دريافتي · نرخ بايتهاي جريان دريافت شده · ميانگين طول بسته · ميانه طول بسته · مقدار پرتکرار طول بسته · واريانس طول بسته · انحراف معيار طول بسته · ضريب تغيير طول بسته · انحراف از ميانه طول بسته · انحراف پرتکرار طول بسته · ميانگين زمان بسته · ميانه زمان بسته · مقدار پرتکرار زمان بسته · ضريب تغييرات زمان بسته · ميانگين فاصله زماني7 ارسال بستهها · انحراف معيار زمان بسته · ميانگين طول بستههاي ارسالي |
4-1- مجموعه داده
پیادهسازی مدل نیاز به داشتن مجموعه كاملي از دادهها با ويژگيهاي تعيينكننده دارد. برای انتخاب مجموعه داده، انواع مجموعه داده ترافیکی موجود از جنبههای مختلف مانند: نوع ترافیک و انواع دستهبندی ترافیک موجود، تنوع و حجم ترافیک به ازای هر نرمافزار، امکان دسترسی به مجموعه داده و ... مورد بررسی قرار گرفته و مجموعه داده Kaggle141 براي آموزش و ارزیابی عملکرد روشهای مختلف يادگيري ماشين (طبقهبندهای منتخب) با هدف شناسایی ترافیک رمز برنامهها انتخاب شد [22].
البته به صورت موازی و با هدف کاربردی نمودن طرح در گام بعدی و ایجاد مجموعه داده ترافیکی بومی، پروسه ایجاد یک مجموعه داده محلی شامل ترافیک چند نمونه برنامه کاربردی در محیط آزمایشگاهی (مبتنی بر بررسی ابزارها و روالهای ایجاد مجموعه دادههای استاندارد) آغاز گردید که پس از نرمالسازی، استخراج ویژگی و پیش پردازش در کنار مجموعه Kaggle برای ارزیابی روش پیشنهادی مورد استفاده قرار گرفته است.
Kaggle141 مشتمل بر 2344534 رکورد و 46 ویژگی پایه و آماری از جریانهای ترافیکی جمعآوری شده در لایه شبکه در قالب فایل CSV است که در یک شبکه دانشگاهي در مدتی معين و در ساعات مشخص و خاص از يك روز (برای سطح سازماني يا کوچکتر) جمعآوری شده است. این مجموعه داده یکی از مجموعههای معتبر جهت تحلیل ترافیک با هدف شناسایی پروتکل و دستهبندی سرویسهای تحت وب است که برای هر رکورد از دادههای ترافیکی دو يا سه سطح برچسب به نحو زیر ارائه میدهد:
· سرويس مبتني بر وب: نظير آمازون، گوگل، msn، DNS، واتساپ، NetBIOS، windows update، Facebook، yahoo، http، مایکروسافت و دسته نامعین
· گروه: شامل وب، شبكه، سيستم عامل، بروزرساني نرمافزار و دسته نامعين
· پروتكل: شامل Http، TLS ، DNS و غيره
که در این مقاله (با توجه به هدف و تعریف مسأله) از برچسبهای دسته اول استفاده شده است.
به منظور بررسی دادههای مجموعه داده فوق، ابتدا فایلهای csv مجموعه داده مورد بررسی قرار گرفت. با توجه به امکانات محدود excel برای گزارشگیری و تعداد رکورد، مجموعه دادههای یاد شده در سامانه مدیریت پایگاه داده اوراکل بارگذاری و از امکانات گزارشگیری آن جهت تحلیل مجموعه داده استفاده شد.
پس از بارگذاری مجموعه داده روی پایگاه داده اوراکل، گزارش گروهبندی چندگانه توسط برآیند سه برچسب گرفته شد و جدولی با 324 ردیف (دسته) بدست آمد که میتوان جهت درک چگونگی جداسازی و شناسایی ترافیک از آن بهره برد. همچنین بررسی دستههای مختلف ترافیکی و پروتکلهای هر دسته نشان دهنده میزان ترافیک شناسایی نشده و ترافیکهایی است که علی رغم آن که در یک پروتکل هستند میتوانند در وب سرویسهای متفاوتی دستهبندی شوند. جدول 3 نمونهای از ردیفهای مربوط به نرمافزار Xbox را نشان میدهد. شماره ردیفها از جدول اصلی برایند برچسبها آمده تا قابل رهگیری باشند.
جدول 3. نمونه برآیند برچسبهای سه گانه Kaggle برای برنامه Xbox
ردیف | دسته | پروتکل | وب سرویس | تعداد |
80 | Game | DNS | Xbox | 576 |
83 | Game | HTTP | Xbox | 102 |
87 | Game | TLS | Xbox | 438 |
91 | Game | Unknown | Xbox | 3 |
همانطور که مشاهده میشود 576 جریان داده در دسته بازی با پروتکل DNS، 102 جریان داده در دسته بازی با پروتکل HTTP، 438 جریان داده در دسته بازی با پروتکل TLS، و در نهایت 3 جریان داده در دسته بازی با پروتکل ناشناخته مربوط به ترافیک Xbox تفیک شده است. این تفکیک به خوبی نشان از تفکیک ترافیک در ابعاد مختلف داشته و همچنین تعداد جریانهای داده در هر بخش میتواند راهنمای خوبی برای نوع ترافیک، رمزنگاری و سایر ابعاد ترافیکی باشد.
جدول 4 برنامههای انتخابی از مجموعه Kaggle 141 با تمرکز بر وب سرویسهای بازی و شبکه اجتماعی را به همراه تعداد رکوردهای هر وب سرویس نشان میدهد که در این مقاله به عنوان مجموعه هدف انتخاب و برای ارزیابی عملکرد مدلهای مختلف یادگیری ماشین در رویکرد شناسایی برنامهها مورد استفاده قرار گرفتهاند.
4-2- انتخاب مدل یادگیری
همانطور که اشاره شد، تحلیل ترافیک رمز بیشتر توسط روشهای یادگیری ماشین و مبتنی بر ویژگیهای آماری صورت میگیرد و در این مقاله هدف از تحلیل ترافیک، شناسایی برنامه از روی ویژگیهای آماری ترافیک مربوطه در بستر شبکه است.
بر اساس مطالعات انجام گرفته [23] تا [25] ، در گام اول پروژه بررسی جامعی روی روشهای هوش مصنوعی و یادگیری عمیق جهت انتخاب روشهای پیشنهادی برای تحلیل ترافیک برنامههای کاربردی انجام گرفت. توزیع فراوانی استفاده از روشهای مختلف یادگیری ماشین در حوزههای مرتبط با تحلیل ترافیک به عنوان یک خروجی آماری (مستخرج از مطالعه 120 مقاله معتبر در حوزه تحلیل ترافیک در که پشتوانه علمی و تحلیلی آن در مرجع [20] ارائه شده است) در شکل 2 نشان داده شده است.
جدول 4. برنامههای انتخابی مجموعه داده
برچسب وب سرویس | تعداد رکوردها |
Playstation | 261 |
Steam | 796 |
Xbox | 1119 |
Starcraft | 680 |
Telegram | 832 |
23816 | |
15661 | |
Snapchat | 94 |
10628 | |
WhatsAppCall | 1013 |
[1] Mode
[2] Request-response time difference
[3] Standard deviation
[4] Coefficient of variation
[5] Skew from median
[6] Rate
[7] Inter-arrival time
بر اساس مطالعات تطبیقی و میدانی و تحلیل انجام گرفته منتج به مقاله [20] و با توجه به تفسیر پذیری روشهای یادگیری ماشین نسبت به روشهای یادگیری عمیق، روشهای زیر برای پیادهسازی مدل در این مقاله انتخاب شدند :
· روشهای نایو بیز
· بردار پشتیبان ماشین (SVM)
· درخت تصمیم
· جنگل تصادفی
جدول 5 پیچیدگی زمانی چهار الگوریتم پایه انتخابی و پارامترهای آنها را نشان میدهد، و پیچیدگی تست به ازای یک نمونه تست (تشخیص یک نمونه جریان ترافیکی) محاسبه شده است.
جدول 5. پیچیدگی زمانی الگوریتمهای پایه
مدل | پیچیدگی آموزش | پیچیدگی تست | پارامترها |
SVM |
|
| K:تعدادبردارهایپشتیبان d: تعداد ویژگیها :n تعداد نمونهها |
درخت تصمیم |
|
| :n تعداد نمونهها p: حداکثر عمق درخت d: تعداد ویژگیها |
جنگل تصادفی |
|
| :n تعداد نمونهها k: تعداددرختهایتصمیم d: تعداد ویژگیها p: حداکثر عمق درخت |
نایو بیز |
|
| :n تعداد نمونهها d: تعداد ویژگیها c: تعداد کلاسها |
|
|
(الف) الگوریتم تجمیع بوت استرپ متوازن
|
(ب) الگوریتم جنگل تصادفی متوازن
|
|
|
(پ) جنگل تصادفی |
(ج) درخت تصمیم
|
|
|
(د) SVM | (ر) Gaussian Naïve Bayes |
شکل 5. کارایی الگوریتمهای مورد مطالعه بر اساس معیارهای Recall و Precision به تفکیک هر یک از کلاسها (الف – ر ) محور عمودی مقدار معیار ارزیابی محاسبه شده را نشان میدهد.
با توجه به عدم توازن دادهها در کلاسهای مختلف پایگاه داده Kaggle141، برای مقایسه عملکرد الگوریتمهای مختلف در تشخیص نوع برنامه (شکل 5) از معیار دقت (Accuracy) و ضریب همبستگی متئوس (MCC) استفاده کردهایم.
(2)
(3)
Accuracy یا دقت نشان میدهد که مدل آموزش یافته تا چه اندازه خروجی را درست پیشبینی میکند و مقدار آن بین صفر و 1 است. MCC به عنوان یک معیار ارزیابی متوازن در کلاسهایی با اندازه متفاوت مورد استفاده قرار میگیرد و نشاندهنده کیفیت کلاسبندی برای یک مجموعه باینری است. مقدار 1+ یک پیشبینی کامل و 1- عدم تطابق کامل بین پیشبینی و مشاهده را نشان میدهد. با استفاده از روشهای Micro-averaging و Macro-averaging امکان استفاده از این معیار برای مسائل چند کلاسه (بیش از دو کلاس) وجود دارد. اما در این مقاله مسأله به صورت دو کلاسه مطرح شده و یک مدل جنگل تصادفی برای هر برنامه کاربردی آموزش داده میشود و در مرحله تشخیص، مبتنی بر رأیگیری (بر اساس تعداد پکتهای متعلق به هر برنامه کاربردی در یک جریان ترافیکی) نوع جریان ترافیک تشخیص داده میشود.
شکل 6. مقایسه عملکرد الگوریتمهای مختلف
بر اساس نتايج پيادهسازي همانطور که در شکل 5 نشان داده شده است، الگوريتمهای تجمیع بوت استرپ متوازن، جنگل تصادفی متوازن، درخت تصمیم و جنگل تصادفی برتری قابل ملاحظهاي نسبت به سایر روشها داشتند، و روش جنگل تصادفی با دقت 95% بهترین عملکرد را در تشخیص ترافیک برنامهها ارائه داده است.
زمان مورد نیاز برای آموزش مدل بسته به توان سختافزاری و پردازشی متفاوت است و بین 15 دقیقه تا چند ساعت برای الگوریتمهای مختلف، متفاوت است. مرحله خواندن فایلهای pcap و پیش پردازش آنها روی گوگل کولب 26.49 ثانیه زمان میبرد.
در جدول 6 میانگین زمانی سرعت مدل در مواجهه با انواع ترافیک مورد آزمون قرار گرفته و میانگین زمان پاسخ مدل به هر جریان (flow) ورودی گزارش شده است.
جدول 6. نتایج تست سرعت بر روی گوگل کولب (بر حسب ثانیه)
نوع فرایند | زمان اجرا |
پیشبینی برچسب | 0.299185 |
محاسبه معیارهای ارزشیابی | 0.030947 |
همانطور که در جدول بالا مشاهده میشود، متوسط زمان لازم برای شناسایی برچسب برنامه کاربردی مربوط به یک جریان کمتر از 3/0 ثانیه میباشد که زمان قابل قبولی برای کاربردهای بلادرنگ است.
با استفاده از اکثر مدلهای یادگیری ماشین، به ازای هر ویژگی یک مقدار بهعنوان درجهی اهمیت آن ویژگی قابل محاسبه است. که علاوه بر قابلیت استفاده در کاهش ویژگی، میتوان از آن در راستای اولویتبندی ویژگیها و استخراج قوانین تشخیص ترافیک مرتبط با هر برنامه استفاده نمود. این قوانین میتوانند در سیستمهای تشخیص ترافیک مبتنی بر قانون جهت بروزرسانی قوانین مورد استفاده قرار گیرند. جدول 7 لیست ویژگیهای ترافیکی بهترتیب درجهی اهمیت آنها در روش جنگل تصادفی را نشان میدهد.
از آنجائیکه مدلهای تحلیل ترافیک عموما با اهدافی خاص و روی مجموعه دادههای محلی متفاوتی انجام میگیرند، نتایج حاصل از آنها قابلیت مقایسه با یکدیگر را ندارد، با اینحال در جدول 8 برخی از نتایج ارائه شده در مقالات مختلف، در کنار نتایج بدست آمده در مقاله نشان داده شده است.
جدول 7. لیست ویژگیها و ترتیب درجه اهمیت آنها در جنگل تصادفی
Rank | Random Forest |
---|---|
1 | src2dst_first_seen_ms |
2 | bidirectional_last_seen_ms |
3 | src2dst_last_seen_ms |
4 | bidirectional_first_seen_ms |
5 | application_category_name_SocialNetwork |
6 | dst2src_last_seen_ms |
7 | dst2src_first_seen_ms |
8 | dst_ip |
9 | bidirectional_min_ps |
10 | application_name_TLS |
11 | src2dst_min_ps |
12 | src2dst_max_ps |
13 | dst_port |
14 | src2dst_mean_ps |
15 | dst2src_min_ps |
16 | bidirectional_mean_ps |
17 | src2dst_bytes |
18 | bidirectional_max_ps |
19 | application_name_TLS.Google |
20 | bidirectional_stddev_ps |
21 | bidirectional_bytes |
22 | bidirectional_duration_ms |
23 | bidirectional_max_piat_ms |
24 | application_category_name_Web |
25 | bidirectional_mean_piat_ms |
26 | dst2src_mean_ps |
27 | dst2src_max_ps |
28 | application_name_TLS.Instagram |
29 | dst2src_bytes |
30 | bidirectional_ack_packets |
31 | application_category_name_Chat |
32 | application_name_DNS.Instagram |
33 | src2dst_ack_packets |
34 | application_name_Unknown |
35 | application_name_TLS.Facebook |
36 | application_category_name_Unspecified |
37 | bidirectional_syn_packets |
38 | src2dst_max_piat_ms |
39 | bidirectional_min_piat_ms |
40 | src2dst_duration_ms |
41 | dst2src_max_piat_ms |
42 | dst2src_stddev_ps |
43 | bidirectional_packets |
44 | dst2src_rst_packets |
45 | src2dst_stddev_ps |
46 | src2dst_syn_packets |
47 | dst2src_ack_packets |
48 | application_name_TLS.WhatsApp |
49 | src2dst_mean_piat_ms |
50 | dst2src_stddev_piat_ms |
51 | src2dst_packets |
52 | bidirectional_stddev_piat_ms |
53 | dst2src_packets |
54 | dst2src_duration_ms |
55 | application_category_name_Network |
56 | bidirectional_rst_packets |
57 | src2dst_stddev_piat_ms |
58 | bidirectional_psh_packets |
59 | src2dst_psh_packets |
60 | application_category_name_Download |
61 | dst2src_mean_piat_ms |
62 | application_category_name_VoIP |
63 | protocol |
64 | dst2src_psh_packets |
65 | application_name_QUIC.Instagram |
66 | application_is_guessed |
67 | src2dst_min_piat_ms |
68 | application_name_TLS.GoogleServices |
69 | application_name_DNS.Messenger |
70 | bidirectional_fin_packets |
71 | application_name_DNS.Facebook |
72 | src2dst_rst_packets |
73 | dst2src_min_piat_ms |
74 | src2dst_fin_packets |
75 | application_name_TLS.Messenger |
76 | application_name_TLS.WhatsAppFiles |
77 | application_name_DNS |
78 | application_name_DNS.WhatsApp |
79 | application_name_STUN.Messenger |
80 | dst2src_syn_packets |
81 | application_name_STUN.WhatsAppCall |
82 | dst2src_fin_packets |
83 | application_category_name_System |
84 | application_name_WhatsApp |
85 | application_name_Google |
86 | application_name_DNS.Google |
87 | application_category_name_Cloud |
88 | application_name_Dropbox |
89 | application_name_QUIC.Facebook |
90 | application_name_QUIC.Google |
91 | application_name_NTP.Google |
92 | application_name_WhatsAppFiles |
93 | application_name_Instagram |
94 | application_name_DNS.GoogleServices |
95 | application_name_DNS.Apple |
96 | application_name_NetBIOS |
97 | application_name_RTP |
98 | application_name_TLS.Amazon |
99 | application_name_ICMP |
100 | application_name_MDNS |
101 | application_category_name_SoftwareUpdate |
102 | application_category_name_Media |
103 | application_name_DNS.WhatsAppFiles |
104 | ip_version |
105 | application_name_SSDP |
106 | application_name_QUIC.WhatsAppFiles |
107 | application_name_TLS.Apple |
108 | application_category_name_Collaborative |
109 | application_name_Facebook |
110 | application_name_DHCPV6 |
111 | application_name_STUN |
112 | application_category_name_Streaming |
113 | application_name_LLMNR |
114 | application_name_QUIC |
115 | application_name_TLS.Activision |
116 | application_name_STUN.Apple |
117 | application_name_TLS.Cloudflare |
118 | application_name_QUIC.GoogleServices |
119 | application_name_QUIC.WhatsApp |
120 | application_name_STUN.Facebook |
121 | application_name_DHCP |
122 | application_category_name_Game |
123 | application_name_ApplePush.Apple |
124 | application_name_IGMP |
125 | application_name_QUIC.GoogleDocs |
126 | application_name_ICMPV6 |
127 | application_name_HTTP.Google |
128 | application_name_TLS.AppleiCloud |
129 | application_name_TLS.AppleiTunes |
130 | application_name_DNS.GoogleDocs |
131 | application_name_NTP.Apple |
132 | application_name_Apple |
133 | application_category_name_ConnCheck |
134 | application_name_ICMP.Apple |
135 | application_name_RX.Facebook |
136 | application_name_RTP.Facebook |
137 | application_name_DNS.Microsoft |
138 | application_name_TLS.GoogleDocs |
139 | application_name_DNS.QQ |
140 | application_name_Z39.50.Apple |
141 | application_name_QUIC.GoogleDrive |
142 | application_name_HTTP.GoogleServices |
143 | application_name_DNS.GoogleDrive |
144 | application_name_TLS.QQ |
145 | application_name_DNS.AppleiTunes |
146 | application_name_TLS.AppleSiri |
147 | application_name_DNS.Amazon |
148 | application_name_TLS.Microsoft365 |
149 | application_category_name_VirtAssistant |
150 | application_name_DNS.Activision |
151 | application_name_DNS.Ookla |
152 | application_name_HTTP_Proxy.Facebook |
153 | src2dst_urg_packets |
154 | application_name_TLS.GoogleDrive |
155 | bidirectional_urg_packets |
156 | vlan_id |
157 | tunnel_id |
158 | src2dst_cwr_packets |
159 | src2dst_ece_packets |
160 | dst2src_cwr_packets |
161 | bidirectional_ece_packets |
162 | application_name_SNMP |
163 | application_category_name_RPC |
164 | dst2src_ece_packets |
165 | dst2src_urg_packets |
166 | application_name_DNS.Microsoft365 |
167 | application_name_HTTP |
168 | bidirectional_cwr_packets |
جدول 8. دقت گزارش شده برای جنگل تصادفی و درخت تصمیم
مرجع | درختتصمیم | جنگلتصادفی | مجموعه داده |
[26] | %88 | %90 | Self-Collected |
[27] | %98 | %99 | Self-Collected |
[28] | %95 | %94 | Kaggle |
[29] | %81 | %82 | UNB Dataset NIMS Dataset |
[30] | %96 | %97 | Self-Collected |
روش پیشنهادی | %92 | %95 | Kaggle141 |
روش پیشنهادی | - | %97 | ترافیک محلی |
در ادامه روش پیشنهادی روی ترافیک واقعی نیز مورد ارزیابی قرار گرفت. به این صورت که پس از نرمالسازی دادههای واقعی (ترافیک سه برنامه کاربردی در محیط آزمایشگاهی) و آموزش مدل جنگل تصادفی، عملکرد آن جهت تشخیص ترافیک آنلاین برنامههای هدف مورد ارزیابی قرار گرفت. نتایج اولیه نشان دهنده عملکرد قابل قبول روش پیشنهادی (دقت متوسط 97%) در تشخیص ترافیک واقعی برنامههای کاربردی است.
5- جمعبندی و پیشنهادات
شناسايي ترافيك با اهداف متفاوتي نظير تامين كارايي شبكه، تامين كيفيت سرويس، تشخيص نفوذگران، مديريت منابع و گاهی با هدف تنظيم كنترل دسترسي ترافيك انجام ميشود.
روشهاي مختلف مبتني بر پورت، مبتني بر دنباله بسته، مبتني بر گراف، مبتني بر تحليلهاي آماري و مبتني بر يادگيري ماشين وجود دارد. روش يادگيري ماشين، رويكرد مناسبي جهت استفاده از ويژگيها در شناسايي ترافيك رمز با اهداف مختلف است. در اين مقاله پس از بررسي چالشهاي تحليل ترافيك و رويكردهاي آن، مدل هوشمندی برای تحلیل و طبقهبندی ترافیک رمز مبتنی بر ويژگيهاي آماری و روشهای یادگیری ماشین ارائه شده و توسط روشهای یادگیری منتخب و متناسب با رویکرد تشخیص ترافیک برنامهها روی وب سرویسهای مجموعه داده Kaggle مورد ارزیابی قرار گرفت.
دستاوردها و پیشنهادات زیر جهت ادامه کار توصیه میشود:
· ایجاد مجموعه داده ترافیکی با استفاده از روشها و ابزارهای تولید و جمعآوری ترافیک جهت تامین QOS و سایر کاربردهای تحلیل ترافیک یکی از ملزومات اصلی جهت بکارگیری روشهای هوشمند تحلیل ترافیک در صنعت و کاربردهای واقعی است.
· با توجه به اينكه امضای نرمافزارهای كاربردي مدام در حال تغيير است، نياز به جمعآوري پايگاه داده بروز و آموزش به صورت مستمر براي الگوريتمهاي يادگيري ماشين یک نیاز اساسی است كه باید به آن پرداخته شود.
· انتخاب هوشمند ویژگیهای ترافیکی مبتنی بر هوش مصنوعی و یادگیری عمیق میتواند بسته به کاربرد در راستای حفظ حریم خصوصی کاربران، کاهش ترافیک ورودی و افزایش سرعت مدل بکارگرفته شود.
· یکی از مهمترین نیازمندیها در تحلیل ترافیک مبتنی بر روشهاي هوشمند، بروزرسانی دادههای ترافیکی و آموزش مستمر مدل است که مستلزم پشتیبانی دائمی مدلهای هوشمند است.
· با استفاده از روشهای مبتنی بر یادگیری ماشین، میتوان ویژگیهای ترافیکی مؤثر و امضاهاي جديد نرمافزارها، پروتكلها و تهدیدات جدید را استخراج کرد که یکی از الزامات در سیستمهای مبتنی بر قانون جهت پاسخگویی مستمر مدل است و میتواند وابستگی به نرمافزارهای خارجی این حوزه را کاهش دهد.
· همچنین میتوان طرح معماری هوشمند پیشنهادی را در کنار مدلهای متداول مبتنی بر قانون، جهت تشخیص هوشمند رفتار غیر نرمال و شناسايي تهدیدات zero-day بکار گرفت.
در حال حاضر پروسه ایجاد یک مجموعه داده محلی از ترافیک برنامههای کاربردی مختلف در دست انجام است، که امکان تحلیل ترافیک و ارزیابی عملکرد آن به صورت بومی و آنلاین را فراهم ساخته و قابلیت استفاده در کاربردهای واقعی را فراهم میسازد.
مراجع
[6] Z. Liu, R. Wang, N. Japkowicz, Y. Cai, D. Tang, and X. Cai, “Mobile app traffic flow feature extraction and selection for improving classification robustness,” J. Netw. Comput. Appl., 2019.
[7] Eva Papadogiannaki, Sotiris IoannidisSotiris Ioannidis, "A Survey on Encrypted Network Traffic Analysis Applications, Techniques, and Countermeasures", ACM Computing Surveys 54(6):1-35, July 2021.
[8] D. S. Mohamad Amar, "A Survey on Tor Encrypted Traffic Monitoring", International Journal of Advanced Computer Science and Applications 9(8), 2018.
[13] A. Azab, M. Khasawneh, S. Alrabaee, K.-K. Raymond Choo, M. Sarsour, "Network traffic classification: Techniques, datasets, and challenges", Digital Communications and Networks (2022), doi: https://doi.org/10.1016/j.dcan.2022.09.009.
[15] S. Rezaei and X. Liu, “Multitask Learning for Network Traffic Classification,” in Proceedings - International Conference on Computer Communications and Networks, ICCCN, 2020.
[21] Madushi H. Pathmaperuma,Yogachandran Rahulamathavan,Safak Dogan and Ahmet M. Kondoz, "Deep Learning for Encrypted Traffic Classification and Unknown Data Detection", Sensors 2022, 22(19), 7643; https://doi.org/10.3390/s22197643.
[24] A. A. Afuwape, Y. Xu, J. H. Anajemba, G.Srivastava, Performance evaluation of secured network traffic classification using a machine learning approach, Computer Standards & Interfaces 78 (2021) 103545. doi:https://doi.org/10.1016/j.csi.2021.103545
[25] Bei Lu, Nurbol Luktarhan, Chao Ding and Wenhui Zhang, "ICLSTM: Encrypted Traffic Service Identification Based on Inception-LSTM Neural Network", Symmetry 2021, 13(6), 1080; https://doi.org/10.3390 /sym13061080.
[26] Fathi-Kazerooni, Sina, Yagiz Kaymak, and Roberto Rojas-Cessa. "Identification of user application by an external eavesdropper using machine learning analysis on network traffic." In 2019 IEEE International Conference on Communications Workshops (ICC Works.
[27] Perera, Menuka, Kandaraj Piamrat, and Salima Hamma. "Network Traffic Classification using Machine Learning for Software Defined Networks." In Journées non thématiques GDR-RSD 2020. 2020..
[28] Peng, Lizhi, Bo Yang, and Yuehui Chen. "Effective packet number for early stage internet traffic identification." Neurocomputing 156 (2015): 252-267..
[29] Dong, Yu-ning, Jia-jie Zhao, and Jiong Jin. "Novel feature selection and classification of Internet video traffic based on a hierarchical scheme." Computer Networks 119 (2017): 102-111..
[30] Khatouni, Ali Safari, and Nur Zincir Heywood. "How much training data is enough to move a ML-based classifier to a different network?." Procedia Computer Science 155 (2019): 378-385.
The rights to this website are owned by the Raimag Press Management System.
Copyright © 2017-2024