Обнаружение последовательностных паттернов в событиях безопасности системы детекции вторжений | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 18 июля, печатный экземпляр отправим 22 июля.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №23 (209) июнь 2018 г.

Дата публикации: 06.06.2018

Статья просмотрена: 102 раза

Библиографическое описание:

Оболонный, В. И. Обнаружение последовательностных паттернов в событиях безопасности системы детекции вторжений / В. И. Оболонный. — Текст : непосредственный // Молодой ученый. — 2018. — № 23 (209). — С. 181-187. — URL: https://moluch.ru/archive/209/51102/ (дата обращения: 08.07.2020).



Ключевые слова: IDS, Cyber Security Alerts, Sequential Pattern Mining, SPMF

Глоссарий

Интеллектуальный анализ данных (en. data mining; рус. добыча данных, глубинный анализ данных) — собирательное название, используемое для обозначения совокупности методов обнаружения в данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности [1].

Добыча последовательностных паттернов (en. sequential pattern mining) — это часть интеллектуального анализа данных, связанная с поиском статистически значимых шаблонов (паттернов) в данных, где значения можно представить в виде последовательности [2].

Системы детекции вторжений (IDS) используются для сбора информации о сетевой активности и распознавания её как вредоносной или нет. В данном исследовании от компании N (в соответствии с политикой конфиденциальности компании, название компании и сами данные раскрывать нельзя) были получены данные о событиях IDS в виде лог-файлов в формате LEEF (Log Event Extended Format) [3]. Причем заранее известно, что в логах содержатся не все события, связанные с сетевой активностью, а только те, в которых IDS обнаружила признаки аномального поведения. При этом также известно, что в данных событиях большой процент ложных срабатываний. Поэтому появляется задача получения алгоритма, помогающего уменьшить процент ложных срабатываний у IDS.

Существует несколько направлений определения аномалий в событиях IDS [4], основанные на:

– Определении допустимого порога — в этом случае основные атрибуты поведения пользователя и системы выражаются в количественных терминах;

– статистических метриках;

– метриках, основанных на правилах;

– других метриках, включая нейросети, генетические алгоритмы и модели иммунных систем.

В современных коммерческих IDS используются только первые две технологии. В данной работе всё внимание уделено подходу, основанному на интеллектуальном анализе данных, а точнее на добыче последовательностных паттернов. Предполагается, что в атаках хакеров есть последовательность действий, которую можно обнаружить в логах IDS с помощью поиска последовательностных паттернов.

В исходных данных содержится большое количество событий с меткой о возможной уязвимости. С помощью анализа последовательностных паттернов хочется понять, связаны ли те или иные уязвимости, и если да, то в какой последовательности.

Данная работа базируется на статье [5], где авторы исследуют возможность применения последовательных паттернов и правил связей для анализа событий кибербезопасности. Для этого они используют библиотеку SPMF [6], содержащую большое количество алгоритмов для исследования данных.

1 Библиотека SPMF

Для получения паттернов были использованы алгоритмы из библиотеки SPMF. Далее приведено краткое описание библиотеки, входных и выходных данных для алгоритмов.

SPMF — это библиотека интеллектуального анализа данных с открытым исходным кодом, написанная на Java, специализирующаяся на добыче паттернов [6]. На момент написания статьи в этой библиотеке содержится реализация 150 алгоритмов интеллектуального анализа данных для поиска последовательностных паттернов, правил, наборов элементов и т.п.

Для работы алгоритмов требуются данные в формате SPMF database (далее база данных). В данной работе в основном использовался формат IBMGenerator database [7]. Пример преобразования последовательности к базе данных в формате IBMGenerator представлен ниже (Таблица 1).

Таблица 1

Пример преобразования последовательности к базе данных

Исходные четыре последовательности

Последовательности в виде базе данныхв формате IBM-Generator

1,2,3,4

5,6,7,8

5,6,7

1,2,3

1 -1 2 -1 3 -1 4 -1 -2

5 -1 6 -1 7 -1 8 -1 -2

5 -1 6 -1 7 -1 -2

1 -1 2 -1 3 -1 -2

База данных — бинарный файл, состоящий из целых чисел. Каждая строка представляет из себя одну последовательность. Положительные числа представляют из себя элементы последовательности. Число «-1» является разделителем набора элементов, а число «-2» является концом последовательности.

После обработки последовательностей алгоритмом, данные представляются в следующем виде (Таблица 2). Каждая строка в файле уже рассматривается как паттерн. В данном примере, первая строка из выходного файла интерпретируется следующим образом: паттерн, состоящий из элемента «4», за которым следует элемент «3», за которым следует элемент «2» встречается в базе данных 2 раза (параметр SUP).

Таблица 2

Пример входных и выходных данных алгоритма

Входные данные для алгоритма

Выходные данные алгоритма

4 -1 3 -1 2 -1 -2

5 -1 7 -1 3 -1 2 -1 -2

5 -1 1 -1 3 -1 2 -1 -2

4 -1 3 -1 2 -1 1 -1 -2

4 -1 3 -1 2 -1 #SUP: 2

5 -1 7 -1 3 -1 2 -1 #SUP: 1

5 -1 1 -1 3 -1 2 -1 #SUP: 1

4 -1 3 -1 2 -1 1 -1 #SUP: 1

2 Методы поиска последовательностных паттернов

Ниже приведено краткое описание использовавшихся методов.

Sequential pattern mining — метод поиска наиболее часто встречающихся последовательных паттернов (подпоследовательностей), которые часто встречаются во входной базе данных. У этого метода есть параметр Min Support — пороговое значение, выраженное в процентах. Если частота появления паттерна в базе данных больше порогового значения, то он будет показан в результатах.

Top-K sequential patterns — метод поиска последовательных паттернов, где в качестве параметра выступает не процентное соотношение паттернов, а точное число.

Closed sequential pattern mining — это оптимизированный метод поиска наиболее часто встречающихся паттернов, который фильтрует результаты, содержащиеся в других результатах.

Sequential generator pattern mining — это еще один оптимизированный метод поиска наиболее часто встречающихся паттернов, который фильтрует результаты, содержащиеся в других результатах.

Maximal sequential pattern miningэто еще один оптимизированный метод поиска наиболее часто встречающихся паттернов, целью которого является сокращение количества результатов.

Список выбранных алгоритмов из библиотеки SPMF для каждого метода представлен ниже (Таблица 3).

Таблица 3

Методы и алгоритмы

Метод

Алгоритм

Sequential pattern mining

CM-SPADE

Top-K sequential patterns

TKS

Closed sequential pattern mining

CM-ClaSP

Sequential generator patterns mining

VGEN

Maximal sequential pattern mining

VMSP

3 Описание и особенности входных данных

Исходные логи состоят из 26 полей с информацией о событии IDS. Стоит отметить, что IDS сохраняет не всю информацию о событии, и значения некоторых полей в событиях отсутствовали. Для анализа были отобраны 540 тыс. событий, которые произошли в один день, и в которых присутствуют все необходимые поля. Диаграмма зависимости количества событий, отобранных IDS, в зависимости от времени суток представлена ниже (Рисунок 1).

Рис. 1. Диаграмма зависимости количества событий, от времени суток

В исходных логах нет четкой категоризации событий, но есть поле Vulnerability, которое содержит в себе один или несколько номеров уязвимостей (к примеру: CVE-2010-0740 или BID-27638). Количество различных уязвимостей было более 1000, и алгоритмы анализа данных не смогли бы найти устойчивые паттерны. Поэтому для классификации событий было решено сопоставить каждой уязвимости её тип с сайта National Vulnerability Database [8]. Итоговое распределение данных по категориям представлено ниже (Рисунок 2).

Рис. 2. Категория событий и число событий с данной категорией

В результате предобработки были отобраны или сгенерированы следующие поля:

– Уникальный идентификатор события;

– Время обнаружения события;

– Категория уязвимости события;

– IPv4-адрес отправителя;

– Протокол отправителя;

– Порт отправителя;

– IPv4-адрес получателя;

– Протокол получателя;

– Порт получателя.

С помощью [9] были сгенерированы различные базы данных (Таблица 4), где в качестве элементов последовательности выступали в различных комбинациях IP-адрес отправителя, порт отправителя, IP-адрес получателя, порт получателя. Из дальнейшего рассмотрения было решено исключить базы данных под номерами 2, 6 и 8 т. к. количество уникальных элементов больше половины количества исходных событий и не принесёт никаких значимых результатов.

Таблица 4

Сгенерированные базы данных

База данных, где в качестве элемента выступает

Количество уникальных элементов

1

IP-адрес отправителя

58647

2

IP-адрес и порт отправителя

352539

3

IP-адрес получателя

11676

4

IP-адрес и порт получателя

18173

5

IP-адрес отправителя, и IP-адрес получателя

84666

6

IP-адрес и порт отправителя, и IP-адрес получателя

461746

7

IP-адрес отправителя, и IP-адрес и порт получателя

90865

8

IP-адрес и порт отправителя, и IP-адрес и порт получателя

467139

Общая схема получения и анализа паттернов представлена ниже (Рисунок 3). Сначала исходные логи предобрабатывались, потом создавались различные базы данных, потом эти базы данных подавались на вход алгоритмам. Результаты работы алгоритмов дополнительно фильтровались и анализировались.

Рис. 3. Схема получения и анализа паттернов

4 Результаты

4.1 Сравнение результатов работы алгоритмов

Для каждой из сгенерированных баз данных были протестированы алгоритмы из главы 2. Стоит отдельно отметить, для алгоритмов, где присутствует параметр min support, он выставлялся в 1 %. Для алгоритма TKS количество паттернов было выставлено в 50.

  1. В результатах алгоритмов присутствует избыточность, проявляющаяся в форме повторения одного и того же элемента, который иногда чередуется с другим элементом (в среднем около 95 % всех паттернов избыточны). Порой результаты состояли только из паттернов, в которых все элементы одинаковые.
  2. По количеству паттернов, состоящих из разных элементов, алгоритмы CM-SPADE, VGEN и VMSP справились одинаково хорошо. Хуже справился TKS, еще хуже CM-ClaSp.
  3. Среди всех исследуемых методов наилучшим можно считать VMSP — при одинаковом параметре min support этот алгоритм показывает те же результаты, что и другие алгоритмы, но при этом он очень хорошо фильтрует избыточные паттерны.
  4. База данных, где в качестве элементов выступали IP-адрес получателя, и база данных, где в качестве элементов выступали IP-адрес получателя + порт получателя, не дали никаких значимых результатов. Все паттерны, из этих баз данных состояли исключительно из одних и тех же элементов, что эквивалентно обычной выборке элементов по какому-либо признаку.

4.2 Найденные паттерны

Результат отфильтрованных паттернов, полученных с помощью алгоритма VMSP для различных баз данных приведён в ниже (Таблица 5).

Таблица 5

Результаты поиска паттернов с помощью алгоритма VMSP

База данных

Паттерны, состоящие из разных элементов

Количество паттернов (шт)

Количество паттернов (%)

IP-адрес отправителя

Code Injection  Input Validation

Code Injection  Other

Other  Code Injection

Cryptographic Issues  Other

Other  Cryptographic Issues

Cryptographic Issues  Other  Cryptographic Issues

Buffer Errors  Code Injection

631

591

721

708

596

779

601

0.0108

0.0101

0.0123

0.0121

0.0102

0.0133

0.0102

IP-адрес отправителя (в категорию добавлены порты отправителя)

Code Injection (порт 445)  Input Validation (порт 445)

Code Injection (порт 445)  Other (порт 445)

Other (порт 80)  Cryptographic Issues (порт 443)

Cryptographic Issues (порт 443)  Other (порт 80)

Cryptographic Issues (порт 443)  Other (порт 80)  Cryptographic Issues (порт 443)

647

626

618

745

728

0.011

0.0107

0.0105

0.0127

0.0124

IP-адрес отправителя, и IP-адрес получателя

Code Injection  Input Validation

858

0.0101

IP-адрес отправителя, и IP-адрес получателя (в категорию добавлены порты отправителя)

Code Injection (порт 445)  Input Validation (порт 445)

856

0.0101

В результате поиска паттернов можно сделать следующие выводы:

  1. В текущих данных нет часто встречающихся паттернов, но обнаружены некоторые паттерны, которые встречаются в 1 % данных. Малое количество паттернов может быть связано с большим разнообразием данных. Для улучшения результатов стоит попробовать взять больше событий, либо дополнительно отфильтровать данные.
  2. Найденные паттерны в основном состоят из Code Injection, Input Validation, Cryptographic Issues, Other и Buffer Errors, что в целом логично: именно они являются пятью наиболее часто встречающимися уязвимостями в исходных данных (Рисунок 2).
  3. В данных можно проследить атаки, начинающиеся с внедрения кода (Code Injection) и продолжающиеся ошибками валидации (Input Validation), что похоже на попытку несанкционированного входа в систему через ошибки системы. Сюда же можно отнести непонятные ошибки (Other), продолжающиеся внедрением кода.
  4. Также можно отметить, что в данных прослеживаются ошибки, связанные с криптографией (Cryptographic Issues), что вполне может быть связано с сертификатами, использующимися в компании.

5 Заключение

В данной работе коротко описаны методы поиска последовательностных паттернов и библиотеки SMPF, содержащей реализации алгоритмов этих методов. Приведено общее описание и особенности исследуемых данных.

Были опробованы различные алгоритмы поиска паттернов, приведено сравнение алгоритмов, в результате которого лучшим показал себя алгоритм VMSP. Показаны найденные паттерны и приведена авторская интерпретация полученных результатов.

В дальнейшем планируется исследовать алгоритмы поиска последовательностных правил (sequential rule mining) для поиска зависимостей в данных, также проверить корреляцию результатов с результатами поиска последовательностных паттернов.

Литература:

  1. Data mining [Электронный ресурс] // Wikipedia: [сайт]. URL: https://ru.wikipedia.org/wiki/Data_mining (дата обращения: 13.04.2018).
    Sequential pattern mining [Электронный ресурс] // Wikipedia: [сайт]. URL: https://en.wikipedia.org/wiki/Sequential_pattern_mining (дата обращения: 13.04.2018).
  2. IBM Security QRadar. Log Event Extended Format (LEEF) URL: ftp://ftp.software.ibm.com/software/security/products/qradar/documents/iTeam_addendum/b_Leef_format_guide.pdf (дата обращения: 13.04.2018).
  3. Межсетевое экранирование [Электронный ресурс] // Национальный Открытый Университет «ИНТУИТ»: [сайт]. URL: https://www.intuit.ru/studies/courses/20/20/lecture/631?page=4 (дата обращения: 13.04.2018).
    Martin Husák J.K.E.B.H.P.Č. ARES '17 Proceedings of the 12th International Conference on Availability, Reliability and Security // On the Sequential Pattern and Rule Mining in the Analysis of Cyber Security Alerts. Italy. 2017. С. 1-20.
  4. SPMF An Open-Source Data Mining Library [Электронный ресурс] URL: http://www.philippe-fournier-viger.com/spmf/ (дата обращения: 13.04.2018).
    Converting a Sequence Database to SPMF Format [Электронный ресурс] // SPMF: [сайт]. URL: https://www.philippe-fournier-viger.com/spmf/Converting_a_sequence_database_to_SPMF.php (дата обращения: 13.04.2018).
  5. Vulnerabilities [Электронный ресурс] // NATIONAL VULNERABILITY DATABASE: [сайт]. URL: https://nvd.nist.gov/vuln/categories (дата обращения: 14.04.2018).
  6. SecAlertSeqMining [Электронный ресурс] // Github: [сайт]. URL: https://github.com/CSIRT-MU/SecAlertSeqMining (дата обращения: 14.04.2018).
Основные термины (генерируются автоматически): IDS, SPMF, VMSP, SUP, IP-адрес получателя, IP-адрес отправителя, баз данных, порт отправителя, алгоритм, данные.


Ключевые слова

IDS, Cyber Security Alerts, Sequential Pattern Mining, SPMF

Похожие статьи

Проблема нехватки IP-адресов. Способы решения...

Интернет объединяет в себе множество компьютерных сетей для хранения, обработки и передачи данных, и построен он на базе стека TCP/IP.

При отправлении пакета в составной сети в его заголовок помещается IP-адрес узла назначения.

Особенности MPLS для управления трафиком в IP-сетях

Это занимает гораздо меньше времени, чем сравнение IP-адреса отправителя с наиболее длинным адресным префиксом в таблице маршрутизации, которое используется при традиционной маршрутизации.

Разработка программного модуля для фильтрации сетевого трафика

− IР и(IP-адрес назначения); − тип транспортного уровня (TCP, UDP, ICMP); − транспортные порты источника и назначения. На первом этапе необходимо определить форму и количество данных, на которых будет производиться прогнозирование.

Классификация IDS | Статья в журнале «Молодой ученый»

Обзор методов обнаружения аномалий в SQL-запросах к базам данных.

«ViPNet IDS» от ОАО «Infotecs», модуль АПКШ «Континент» от ООО «Кода Безопасности», «Cisco» «IPS Sensor» серии 4500 и «Network...

Проектирование подсистемы сетевого сервиса | Статья в журнале...

− Ведет централизованные базы данных IP-адресов. DHCP для нашей задачи.

Протокол TACACS+ | Статья в журнале «Молодой ученый». TACACS + использует TCP в качестве транспортного протокола — порт по умолчанию — 49.

Формализованная модель обнаружения сканирования портов

IP — это поле с IP-адресом отправителя пакета, x — это комбинации флагов, которые были установлены в пакете. Две таблицы используются для того, чтобы можно было обрабатывать одну, пока заполняется вторая.

Обзор проблемы несовместимости протоколов... | Молодой ученый

Для решения данных проблем используется: туннелирование, двойной стек, ALG, бесконтекстный IP/ICMP транслятор.

В настоящее время анализ сетевого трафика при фильтрации пакетов проводится и на транспортном уровне [1]. − IР и(IP-адрес назначения)...

Клиентские обнаружения веб-прокси из непривилегированных...

Xu и др. [3] показали, что некоторые веб-прокси игнорируют IP-адрес, предоставляющий HTTP GET запросы, и вместо этого, чтобы выполнить новый поиск DNS для определения

В каждый из данных файлов будет находиться одно и то же изображение (фото с размерами 2560x1920).

Похожие статьи

Проблема нехватки IP-адресов. Способы решения...

Интернет объединяет в себе множество компьютерных сетей для хранения, обработки и передачи данных, и построен он на базе стека TCP/IP.

При отправлении пакета в составной сети в его заголовок помещается IP-адрес узла назначения.

Особенности MPLS для управления трафиком в IP-сетях

Это занимает гораздо меньше времени, чем сравнение IP-адреса отправителя с наиболее длинным адресным префиксом в таблице маршрутизации, которое используется при традиционной маршрутизации.

Разработка программного модуля для фильтрации сетевого трафика

− IР и(IP-адрес назначения); − тип транспортного уровня (TCP, UDP, ICMP); − транспортные порты источника и назначения. На первом этапе необходимо определить форму и количество данных, на которых будет производиться прогнозирование.

Классификация IDS | Статья в журнале «Молодой ученый»

Обзор методов обнаружения аномалий в SQL-запросах к базам данных.

«ViPNet IDS» от ОАО «Infotecs», модуль АПКШ «Континент» от ООО «Кода Безопасности», «Cisco» «IPS Sensor» серии 4500 и «Network...

Проектирование подсистемы сетевого сервиса | Статья в журнале...

− Ведет централизованные базы данных IP-адресов. DHCP для нашей задачи.

Протокол TACACS+ | Статья в журнале «Молодой ученый». TACACS + использует TCP в качестве транспортного протокола — порт по умолчанию — 49.

Формализованная модель обнаружения сканирования портов

IP — это поле с IP-адресом отправителя пакета, x — это комбинации флагов, которые были установлены в пакете. Две таблицы используются для того, чтобы можно было обрабатывать одну, пока заполняется вторая.

Обзор проблемы несовместимости протоколов... | Молодой ученый

Для решения данных проблем используется: туннелирование, двойной стек, ALG, бесконтекстный IP/ICMP транслятор.

В настоящее время анализ сетевого трафика при фильтрации пакетов проводится и на транспортном уровне [1]. − IР и(IP-адрес назначения)...

Клиентские обнаружения веб-прокси из непривилегированных...

Xu и др. [3] показали, что некоторые веб-прокси игнорируют IP-адрес, предоставляющий HTTP GET запросы, и вместо этого, чтобы выполнить новый поиск DNS для определения

В каждый из данных файлов будет находиться одно и то же изображение (фото с размерами 2560x1920).

Задать вопрос