Введение 4
1. Постановка задачи 6
2. Обзор существующих подходов 9
2.1. Методы выявления аномалий 9
2.1.1. Метод k-средних 10
2.1.2. Expectation-maximization алгоритм 11
2.1.3. Метод опорных векторов с одним классом 11
2.2. Оценка точности алгоритмов 11
2.3. Обработка данных 12
2.3.1. Обработка категориальных признаков 13
2.3.2. Обработка численных данных 14
3. Экспериментальное сравнение методов 15
3.1. Описание экспериментов 15
3.2. Интерпретация результатов 15
4. Обогащение исходных данных 17
4.1. Работа с API VirusTotal 17
4.2. Выделение атрибутов для анализа 18
5. Описание модуля 20
5.1. Общее описание 20
5.2. Параметры по умолчанию 21
5.3. Параметры моделей 22
5.4. Режим VirusTotal 22
Заключение 23
Список литературы 24
В информационной безопасности анализ поведения пользователей используется для обнаружения внутренних угроз или вредоносных атак, целью которых является причинение вреда или получение несанкционированного доступа к внутренним ресурсам.
Ежедневно создаются десятки тысяч вредоносных программ, а также совершенствуются уже существующие. Атаки становятся не случайными, а целенаправленными, организованными и мотивированными. Обнаружение и дальнейшее предотвращение таких атак является непростой и актуальной на сегодня задачей информационной безопасности.
SIEM-системы обеспечивают анализ в реальном времени событий безопасности, исходящих от сетевых устройств и приложений. Они используются для журналирования данных, их агрегации, а также хранения. Объемы хранимой информации очень велики, но ее большая часть описывает обычное поведение пользователей, которое не является вредоносным. Лишь малый процент этих данных - это информация о разного рода нарушениях безопасности: вторжениях, внедрении вредоносного ПО. Таким образом, проблему обнаружения угроз безопасности можно свести к задаче выявления аномалий или отклонений от нормального поведения пользователей и системы в целом.
Выявление аномалий в Data Mining - это процесс нахождения элементов, событий или наблюдений, которые не соответствуют ожидаемым паттернам или значительно отличаются от других элементов во множестве данных. Аномалии в разных источниках могут упоминаться как отклонения, выбросы, шум или исключения.
В машинном обучении существуют различные подходы к решению данной проблемы [7]. Выбор конкретного алгоритма зависит от специфичности данных, их размеров и других факторов.
В рамках данной работы было рассмотрено несколько методов машинного обучения без учителя, проведено сравнение этих методов на размеченном наборе данных и выбран лучший метод в качестве алгоритма выявления аномалий, используемого в модуле по умолчанию. Также были исследованы различные методы обработки данных и оценки точности алгоритмов, описан подход обогащения данных и реализован модуль анализа поведения пользователей.
В данной работе был реализован модуль анализа поведения пользователей, выявляющий вредоносные соединения. Для достижения поставленной цели были выполнены следующие задачи:
1. Проведен анализ методов машинного обучения без учителя для выявления аномалий сетевых соединений.
2. Проведено сравнение методов на размеченном наборе данных KDD соревнования.
3. Реализовано обогащение реальных исходных данных с помощью внешней системы VirusTotal.
4. На основе проведенных исследований и экспериментов реализован конфигурируемый модуль анализа поведения пользователей, позволяющий выявлять вредоносные соединения на основе логов сетевых соединений NGFW Palo-Alto.
В дальнейших планах рассматривается внедрение реализованного модуля в промышленную эксплуатацию.
[1] 99 KDD Cup.— URL: http://kdd.ics.uci.edu/databases/ kddcup99/kddcup99.html.
[2] Abdi Herve, Valentin Dominique. Multiple Correspondence Analysis. — URL: https://www.utdallas.edu/~herve/Abdi-MCA2007-pretty. pdf.
[3] Handling Nominal Features in Anomaly Intrusion Detection Problems / Mei-Ling Shyu, Kanoksri Sarinnapakorn, Indika Kuruppu- Appuhamilage et al. // Proceedings of the 15th International Workshop on Research Issues in Data Engineering: Stream Data Mining and Applications. - RIDE ’05. - Washington, DC, USA : IEEE Computer Society, 2005.— P. 55-62.— URL: http://dx.doi.org/ 10.1109/RIDE.2005.10.
[4] Li H. Research and Implementation of an Anomaly Detection Model Based on Clustering Analysis // Intelligence Information Processing and Trusted Computing (IPTC), 2010 International Symposium on. — 2010. —Oct. — P. 458-462.
[5] Networks Palo Alto. Next Generation Firewalls.— URL: https:// www.paloaltonetworks.com.
[6] NumPy. — URL: http://www.numpy.org.
[7] Omar Salima, Ngadi Asri, Jebur Hamid H. Article: Machine Learning Techniques for Anomaly Detection: An Overview // International Journal of Computer Applications.— 2013.— October. — Vol. 79, no. 2. — P. 33-41. — Full text available.
[8] Patcha Animesh, Park Jung-Min. Network anomaly detection with incomplete audit data // Computer Networks.— 2007.— Vol. 51, no. 13.— P. 3935 - 3955.— URL: http://www.sciencedirect.com/ science/article/pii/S1389128607001235.
[9] Python Data Analysis Library. — URL: http://pandas.pydata.org.
[10] Requests: HTTP for Humans.— URL: http://docs. python-requests.org.
[11] Rui Zhang Shaoyan Zhang Yang Lan Jianmin Jiang. Network Anomaly Detection Using One Class Support Vector Machine // Proceedings of the International MultiConference of Engineers and Computer Scientists 2008. — IMECS 2008. — 2008. — P. 452-456. — URL: http://www.iaeng.org/publication/IMECS2008/IMECS2008_ pp452-456.pdf.
[12] VirusTotal. — URL: https://www.virustotal.com.
[13] scikit-learn. Machine Learning in Python.— URL: http:// scikit-learn.org.