Разработка и реализация алгоритма обнаружения аномальной активности на конечных точках под управлением OC Windows (Московский технический университет связи и информатики)
Дата изготовления: январь 2025 года.
Учебное заведение:
Использовался язык программирования: Python (версия 3.10+).
Есть приложения (программный код).
Введение 3
1. Обзор существующих подходов 6
1.1. Проблема обнаружения аномалий и ее значимость 6
1.2. Анализ методов (статистические, машинное и глубокое обучение) 12
1.3. Оценка существующих наборов данных (ADFA-LD, ADFA-WD) 16
1.4. Обоснование необходимости нового набора данных 19
2. Методология создания набора данных 23
2.1. Структура набора данных: сетевые признаки, системные вызовы, метаданные 23
2.2. Алгоритм генерации нормальных и аномальных событий 25
2.3. Анализ и оценка набора данных 29
3. Разработка алгоритмов анализа данных 34
3.1.Выбор программных и аппаратных средств 34
3.2. Описание алгоритма обнаружения аномальной активности 35
3.3. Выбор алгоритмов машинного обучения 37
3.4. Обучение моделей и оценка их эффективности 39
3.5. Разработка пользовательского веб-приложения 43
Заключение 52
Список использованных источников 54
Приложение 59
Современная цифровая эпоха характеризуется стремительным ростом объемов передаваемой информации и усложнением сетевых инфраструктур, что одновременно увеличивает возможности для развития информационных технологий и возрастает уязвимость систем к кибератакам [1]. В условиях постоянного расширения и усложнения сетевых структур, обеспечение безопасности информации становится одной из ключевых задач для организаций различных сфер деятельности. Угрозы, связанные с несанкционированным доступом, утечкой данных и нарушением функционирования информационных систем, требуют внедрения эффективных механизмов защиты и своевременного обнаружения потенциальных вторжений [3].
Обнаружение аномалий в сетевом трафике является важным аспектом обеспечения кибербезопасности, поскольку позволяет выявлять подозрительные активности, не соответствующие нормальному поведению сети [4]. Традиционные методы защиты, основанные на сигнатурах известных угроз, сталкиваются с ограничениями при обнаружении новых, ранее неизвестных видов атак, что подчеркивает необходимость разработки более гибких и адаптивных подходов [5]. В этом контексте методы машинного обучения приобретают особую значимость, предлагая инструменты для анализа больших объемов данных и выявления скрытых закономерностей, способных указывать на наличие аномалий [6].
Машинное обучение предоставляет широкий спектр алгоритмов, способных эффективно справляться с задачами обнаружения аномалий, обеспечивая высокую точность и адаптивность систем безопасности [7]. Среди них выделяются как методы классификации, так и алгоритмы кластеризации, а также подходы на основе нейронных сетей и глубинного обучения, которые демонстрируют высокую эффективность в условиях динамически изменяющихся сетевых сред [8]. Однако применение этих методов сопряжено с рядом вызовов, включая необходимость наличия качественных и репрезентативных наборов данных для обучения моделей, а также обеспечение их устойчивости к различным видам атак и ложноположительным срабатываниям [9].
Кроме того, важным аспектом исследований в области обнаружения аномалий является разработка и использование специализированных наборов данных, которые отражают реальные сценарии сетевых атак и позволяют проводить объективную оценку эффективности различных алгоритмов [10]. Наборы данных, такие как KDD Cup 99, NSL-KDD и Kyoto 2006+, стали стандартом де-факто для сравнительного анализа методов обнаружения вторжений, предоставляя исследователям возможность тестировать и оптимизировать свои модели в контролируемых условиях [11]. Тем не менее, постоянное развитие киберугроз требует создания новых, более сложных и разнообразных наборов данных, способных адекватно отражать современные вызовы в области сетевой безопасности [12].
Целью данной работы является разработка веб-приложения для обнаружения аномалий в сетевом трафике с использованием различных алгоритмов машинного обучения. Для достижения поставленной цели необходимо решить следующие задачи:
1. Исследовать и выбрать наиболее подходящие алгоритмы машинного обучения для задачи обнаружения аномалий.
2. Разработать процессы предварительной обработки данных, включая преобразование временных меток и кодирование категориальных признаков.
3. Создать и обучить модели на основе выбранных алгоритмов, обеспечивая их сохранение и загрузку для дальнейшего использования.
4. Разработать пользовательский интерфейс с помощью Streamlit для взаимодействия с моделями и отображения результатов предсказаний.
5. Интегрировать систему хранения данных с использованием базы данных SQLite для сохранения и управления результатами предсказаний.
Научная новизна работы заключается в комплексном подходе к разработке системы обнаружения аномалий, объединяющей несколько моделей машинного обучения и обеспечивающей удобный интерфейс для пользователей. Особое внимание уделяется автоматизации процессов предобработки данных и интеграции результатов предсказаний с базой данных, что позволяет создавать масштабируемые и надежные решения для анализа больших объемов данных.
Практическая значимость проекта обусловлена возможностью применения разработанного приложения в реальных условиях для мониторинга сетевого трафика, обнаружения мошеннических действий и предотвращения кибератак. Внедрение такого инструмента способствует повышению безопасности информационных систем и снижению рисков, связанных с несанкционированным доступом и нарушениями целостности данных.
Структура работы включает теоретическую часть, посвященную обзору методов машинного обучения и подходов к обнаружению аномалий, описание методологии разработки приложения, детальное изложение этапов реализации и интеграции компонентов системы, а также анализ результатов проведенных экспериментов. В работе используются методы анализа данных, машинного обучения, веб-разработки и работы с базами данных, что обеспечивает всестороннее освещение темы и практическую применимость представленных решений.
В рамках проведенной работы была создана система, предназначенная для анализа данных с целью выявления аномальной активности на устройствах под управлением операционной системы Windows. Процесс включал несколько ключевых этапов, таких как сбор и обработка данных, обучение и тестирование различных моделей машинного обучения, а также разработку веб-приложения, которое позволяет интегрировать созданные алгоритмы в удобный пользовательский интерфейс. Каждый из этапов тщательно продумывался и выполнялся с учетом особенностей поставленной задачи.
Для повышения эффективности алгоритмов применялись современные методы обработки данных, среди которых стоит выделить технологию SMOTE. Этот подход позволил сбалансировать классы в тренировочной выборке, обеспечив равномерное распределение целевых меток. В результате удалось существенно повысить точность предсказаний. Разнообразие использованных моделей машинного обучения, включая Random Forest, XGBoost и LightGBM, обеспечило возможность их сравнительного анализа. Это позволило выявить наиболее подходящие методы для решения поставленной задачи. Итоговые результаты, представленные в виде матриц ошибок, ROC- и PR-кривых, подтвердили высокую надежность и точность предложенных решений.
Отдельное внимание было уделено созданию веб-приложения с интуитивно понятным интерфейсом, разработанного для удобства анализа данных. Приложение дает пользователям возможность загружать модели и данные, вводить их вручную, получать предсказания и сохранять результаты в локальную базу данных. Универсальность системы обеспечивается ее совместимостью с различными алгоритмами машинного обучения, что делает ее применимой для широкого спектра задач.
В ходе проекта также была разработана логическая структура данных и механизмы их обработки, благодаря чему удалось добиться высокой производительности и стабильности приложения. Интерфейс прошел тестирование в различных сценариях использования, чтобы гарантировать его удобство и доступность для конечных пользователей. Такой подход позволил не только повысить точность работы алгоритмов, но и сделать процесс анализа данных максимально понятным и комфортным для пользователей.
1. Stevens T. Cyber Security and the Politics of Time. Cambridge University Press, 2016.
2. Thakkar A., Lohiya R. A Review of the Advancement of Intrusion Detection Dataset // Procedia Computer Science, 2020.
3. Garcia-Teodoro P., Diaz-Verdejo J., Maciá-Fernández G., Vázquez E. Anomaly-Based Network Intrusion Detection: Techniques, Systems And Challenges // Computers & Security, 2009.
4. Buczak A.L., Guven E. A Survey of Data Mining and Machine Learning Methods for Cyber Security Intrusion Detection // IEEE Communications Surveys & Tutorials, 2016.
5. Koch R. Towards Next-Generation Intrusion Detection // 3rd International Conference on Cyber Conflict IEEE, 2011.
6. Rajahalme J., Conta A., Carpenter B., Deering S. RFC3697: IPv6 Flow Label Specification. Internet Society, 2004.
7. Cunningham R.K., Lippmann R.P., Fried D.J., Garfinkel S.L., Graf I., Kendall K.R. Evaluating Intrusion Detection Systems Without Attacking your Friends: The 1998 DARPA Intrusion Detection Evaluation. Massachusetts Institute of Technology Lexington Lincoln Lab, 1999.
8. Tavallaee M., Bagheri E., Lu W., Ghorbani A.A. A Detailed Analysis of The KDD CUP 99 Data Set // 2009 IEEE Symposium on Computational Intelligence for Security and Defense Applications, IEEE, 2009.
9. MIT Lincoln Laboratory. DARPA Intrusion Detection Data Sets, 1999. URL: https://www.ll.mit.edu/ideval/data/ (дата обращения: 28.12.2024).
10. Khraisat A., Gondal I., Vamplew P., Kamruzzaman J. Survey of Intrusion Detection Systems: Techniques, Datasets and Challenges // Cyber Security, 2019.
11. Bukola O., Adetunmbi A.O. Auto-Immunity Dendritic Cell Algorithm // International Journal of Computer Applications, 2016.
12. Kolez A., Chowdhury A., Alspector J. Data Duplication: An Imbalance Problem? // ICML, 2003.
13. Maček N., Milosavljević M. Critical Analysis of the KDD Cup ’99 Data Set and Research Methodology for Machine Learning // Proceedings of the 57th ETRAN Conference, 2013.
14. Kavitha P., Usha M. Anomaly Based Intrusion Detection in WLAN using Discrimination Algorithm Combined with Naïve Bayesian Classifier // Journal of Theoretical and Applied Information Technology, 2014.
15. Revathi S., Malathi A. A Detailed Analysis on NSL-KDD Dataset Using Various Machine Learning Techniques for Intrusion Detection // International Journal of Engineering Research & Technology, 2013.
16. Protić D.D. Review of KDD Cup ‘99, NSL-KDD and Kyoto 2006+ Datasets // Vojnotehnički Glasnik / Military Technical Courier, 2018.
17. Sharafaldin I., Lashkari A.H., Ghorbani A.A. Toward Generating a New Intrusion Detection Dataset and Intrusion Traffic Characterization // ICISSP, 2018.
18. Singh R., Kumar H., Singla R.K. An Intrusion Detection System Using Network Traffic Profiling and Online Sequential Extreme Learning Machine // Expert Systems With Applications, 2015.
19. Song J., Takakura H., Okabe Y., Eto M., Inoue D., Nakao K. Statistical Analysis of Honeypot Data and Building of Kyoto 2006+ Dataset for NIDS Evaluation // Proceedings of the 1st Workshop on Building Analysis Datasets and Gathering Experience Returns for Security, 2011.
20. Elmrabit N., Zhou F., Li F., Zhou H. Evaluation of Machine Learning Algorithms for Anomaly Detection // 2020 International Conference on Cyber Security and Protection of Digital Services (Cyber Security), 2020.
21. Musa U.S., Chhabra M., Ali A., Kaur M. Intrusion Detection System using Machine Learning Techniques: A Review // 2020 International Conference on Smart Electronics and Communication (ICOSEC), 2020.
22. Otoum S., Kantarci B., Mouftah H.T. On the Feasibility of Deep Learning in Sensor Network Intrusion Detection // IEEE Networking Letters, 2019.
23. Nguyen T.V., Tran N.T., Le T.S. An Anomaly-Based Network Intrusion Detection System Using Deep Learning // 2017 International Conference on System Science and Engineering (ICSSE), 2017.
24. Malek Z.S., Trivedi B., Shah A. User Behavior Pattern - Signature Based Intrusion Detection // 2020 Fourth World Conference on Smart Trends in Systems, Security and Sustainability, 2020.
25. Sheikh T.U., Rahman H., Al-Qahtani H.S., Hazra T.K., Sheikh N.U. Countermeasure of Attack Vectors using Signature-Based IDS in IoT Environments // 2019 IEEE 10th Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON), 2019.
26. Котов В.Д., Васильев В.И. Современное состояние проблемы обнаружения сетевых вторжений // Вестник Уфимского государственного авиационного технического университета, 2012. URL: https://cyberleninka.ru/article/n/sovremennoe-sostoyanie-problemy-obnaruzheniya-setevyh-vtorzheniy (дата обращения: 28.12.2024).
27. Болдырихин Н.В., Комоцкий Р.И., Лян Д.И. Исследование систем обнаружения вторжений // Молодой ученый, 2023. URL: https://moluch.ru/archive/449/98876/ (дата обращения: 28.12.2024).
28. Забара А.В., Пивоваров С.Г. Методики оценки эффективности систем обнаружения вторжений // Информационная безопасность, 2021. URL: https://cyberleninka.ru/article/n/metodiki-otsenki-effektivnosti-sistem-obnaruzheniya-vtorzheniy (дата обращения: 28.12.2024).
29. Калинин А.В., Павлов А.А. Применение алгоритмов машинного обучения для обнаружения аномалий в сетевом трафике // Вестник Томского государственного университета, 2022. URL: https://journals.tsu.ru/vestnik (дата обращения: 28.12.2024).
30. Сидоров А.И., Филиппов А.С. Анализ набора данных NSL-KDD для задач обнаружения аномалий // Информационные технологии и анализ данных, 2020. URL: https://itanddata.ru/issues/2020/6 (дата обращения: 28.12.2024).
31. Shiravi A., Shiravi H., Tavallaee M., Ghorbani A.A. Toward Developing a Systematic Approach to Generate Benchmark Datasets for Intrusion Detection // Computers & Security, 2012.
32. Tama B.A., Rhee K.H. Anomaly-Based Intrusion Detection System Using Hybrid Machine Learning Algorithms // 2015 IEEE International Conference on Network-Based Information Systems, 2015.
33. Javaid A., Niyaz Q., Sun W., Alam M. A Deep Learning Approach for Network Intrusion Detection System // Proceedings of the 9th EAI International Conference on Bio-inspired Information and Communications Technologies, 2016
34. Diro A.A., Chilamkurti N. Distributed Attack Detection Scheme Using Deep Learning Approach for Internet of Things // Future Generation Computer Systems, 2018.
35. Li Y., Zhang Z., Chen Y. Statistical Analysis of Machine Learning Algorithms for Intrusion Detection // Applied Soft Computing, 2021.
36. Jha D.K., Sharma S. Deep Learning Based Anomaly Detection in Network Traffic // Procedia Computer Science, 2020.
37. Doshi R., Apthorpe N., Feamster N. Machine Learning DDoS Detection for Consumer Internet of Things Devices // 2018 IEEE Security and Privacy Workshops, 2018.
38. Zuech R., Khoshgoftaar T.M., Wald R. Intrusion Detection and Big Heterogeneous Data: A Survey // Journal of Big Data, 2015.
39. Sharma A., Jain K. A Survey of Advanced Techniques for Intrusion Detection System // Procedia Computer Science, 2019.
40. Kim Y., Kang M., Choi Y. Efficient Deep Learning Techniques for Network Anomaly Detection // IEEE Access, 2021.
41. Xu Z., Liu F., Wu Q. Anomaly Detection in Network Traffic Using Feature Extraction and Deep Learning // Knowledge-Based Systems, 2020.
42. Fang X., Mao Z., Wang Z. Research and Implementation of Intrusion Detection System Based on Neural Network // IEEE Transactions on Neural Networks, 2020.
43. Hu W., Maybank S.J., Zhang Y., Li S., Zhang Z. Adversarial Machine Learning and Its Applications in Intrusion Detection // Proceedings of the IEEE, 2021.
44. Mirsky Y., Doitshman T., Elovici Y., Shabtai A. Kitsune: An Ensemble of Autoencoders for Online Network Intrusion Detection // Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2018.
45. Liu W., Wang H., Chen Y. A Novel Semi-supervised Anomaly Detection Approach for Network Traffic // Journal of Information Security, 2022.
46. Gao J., Ma Y., Chen H. Network Anomaly Detection Using Deep Reinforcement Learning // IEEE Transactions on Network and Service Management, 2019.
47. Chawla N.V., Bowyer K.W., Hall L.O., Kegelmeyer W.P. SMOTE: Synthetic Minority Over-sampling Technique // Journal of Artificial Intelligence Research, 2002.
48. He H., Garcia E.A. Learning from Imbalanced Data // IEEE Transactions on Knowledge and Data Engineering, 2009.
49. Witten I.H., Frank E., Hall M.A. Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, 2016.
50. Goodfellow I., Bengio Y., Courville A. Deep Learning. MIT Press, 2016.