Доклад посвящен исследованию процесса корреляции для SIEM-систем на основе анализа структур типов событий безопасности. Предлагается подход к автоматизированному анализу событий безопасности как входных данных с динамическим содержимым. Для автоматизированного анализа предлагается строить граф типов событий с прямыми и косвенными связями между собой. Обработка входных данных безопасности подразумевает выполнение функционального и поведенческого анализа за счет вычисления частотно-временных характеристик событий, их ранжирования и построения шаблонов поведения. Предлагаемый подход позволяет использовать ранее не применяемый метод ранговой корреляции, наряду с другими интеллектуальными методами. Формулируются требования к нормализации исходных данных. Приводится пример анализа журнала событий безопасности и полученный в результате граф связей типов событий.
Использование графа связей типов событий для корреляции данных в SIEM-системах
1. Positive Hack Days VII
Москва, 23-24 мая 2017
Использование графа связей
типов событий для корреляции данных
в SIEM-системах
Федорченко Андрей
Чечулин Андрей
научный руководитель
проф., д.т.н. Котенко И.В.
Санкт-Петербургский институт информатики и автоматизации РАН
2. Positive Hack Days VII
Москва, 23-24 мая 2017
Место и роль процесса корреляции
в SIEM-системах
2
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Выявление связей между разнородными и
разноуровневыми событиями
Обнаружение вредоносной, атакующей и аномальной
активности
Определение источника и цели атаки
Обнаружение многошаговых атак
3. Positive Hack Days VII
Москва, 23-24 мая 2017
Задачи процесса корреляции
3
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Группировка низкоуровневых событий в более
высокоуровневые события
Определение наличия и направления взаимосвязей
между разноуровневыми событиями и информацией
безопасности
Определение важности событий и их групп в рамках
задачи обеспечения безопасности
Обнаружение инцидентов и предупреждений
безопасности
4. Positive Hack Days VII
Москва, 23-24 мая 2017
Входные данные для процесса корреляции
4
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Базы
уязвимостей
Базы вирусных
сигнатур
Базы ПАОБазы эксплойтов . . .
Базы шаблонов
атак
Исходные данные
корреляции
(события)
Динамичное
содержимое
Средства
антивирусной защиты
Средства обнаружения
вторжений
Средства обнаружения
уязвимостей
Средства защиты от
утечек
Исполняемые файлы
Средства защиты
информации
Сетевой трафик Журналы событий
Поведение
пользователей
. . .
. . .
Журналы вирусной и
подозрительной
активности
Журналы сетевых атак и
аномалий
Журналы
детектирования
опасных объектов
Журналы
поведения
пользователей
. . .
Внешняя
информ-я
Внутренняя
информация
Условно-
статичное
содержимое
Конфигурация
системы
Конфигурация сети
Конфигурация
приложений
. . .
Процесс корреляцииSIEM
Результат
выполнения
процесса
корреляции
Инциденты и предупреждения безопасности
5. Positive Hack Days VII
Москва, 23-24 мая 2017
Методы и подходы корреляции
5
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Сигнатурные:
Правило-ориентированный
Шаблонно-ориентированный (сценарно-ориентированный)
Граф-ориентированный
На основе машины конечных состояний
На основе снимков состояний
Несигнатурные:
Обучающиеся модели(байесовская, нейронная, иммунная сети)
Статистические подходы
На основе прецедентов
и многие другие
6. Positive Hack Days VII
Москва, 23-24 мая 2017
Проблемы выполнения задач корреляции
6
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Высокая степень разнородности
данных о безопасности
Большое количество источников информации и
событий безопасности
Ручное и объектно-зависимое конфигурирование
процесса корреляции
Расширение отраслей применения SIEM-систем
Увеличение сложности проводимых атак
7. Positive Hack Days VII
Москва, 23-24 мая 2017
Цель и задачи исследования
7
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Цель: разработка методики корреляции разнородной
информации безопасности с учетом автоматизированной
настройки и корректировки процесса выполнения в
неопределенной инфраструктуре
Задачи:
Анализ структур входных данных
Анализ и выявление функциональных связей элементов
инфраструктуры
Анализ поведения высокоуровневых объектов
Анализ изменения состояния инфраструктуры
Частная задача: анализа структур типов событий и связей
между ними
8. Positive Hack Days VII
Москва, 23-24 мая 2017
где E – множество событий журнала L, а T – множество типов
событий журнала L
где P множество свойств множества типов T
Группы свойств типов событий:
Идентифицирующие
Принадлежности
Временные
Характеризующие результат
Информационные
Анализ структур типов событий
8
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
9. Positive Hack Days VII
Москва, 23-24 мая 2017
Отношения между свойствами типов событий
9
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Равнозначное свойство p – это одинаковое свойство двух
различных типов событий t1 и t2:
Однотипные неравнозначные свойства p1 и p2 – это
свойства, эквивалентные по типу содержимого:
Разнотипные неравнозначные свойства – это свойства,
эквивалентные по значениям содержимого при явной разнице
между типами содержимого.
Один тип событий t может содержать несколько однотипных
и разнотипных неравнозначных свойств p в своей структуре:
где s – количество однотипных или разнотипных свойств типа t
10. Positive Hack Days VII
Москва, 23-24 мая 2017
Пример отношений свойств типов событий
ОС Windows
10
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
ID типа,
значение
Свойство ID типа,
значение
Свойство Тип связи
4689,
«Завершение
процесса»
Process
Information/
ProcessID
4673,
«Вызвана
привилегирован-
ная служба»
Process
Information/
ProcessID
Прямая
4688,
«Создание
процесса»
Process
Information/
NewProcessID
4688,
«Создание
процесса»
Process
Information/
CreatorProcessID
Косвенная
однотип-
ная
4688,
«Создание
процесса»
Process
Information/
NewProcessID
4688,
«Создание
процесса»
Process
Information/
NewProcessName
Косвенная
разнотип-
ная
11. Positive Hack Days VII
Москва, 23-24 мая 2017
В результате анализа структур
типов событий формируется
неориентированный граф
связей G
На рисунке: количество
выявленных типов событий - 80
из 418 заявленных в
документации;
свойств - 158,
53 – уникальные (встречаются
только в одном типе событий);
89 – смежные (встречаются более
чем в одном типе событий)
Граф связей типов событий
на основе анализа их структур
11
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
12. Positive Hack Days VII
Москва, 23-24 мая 2017
Уточнение графа связей типов событий
12
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Удельный вес связи между
типами событий – количество
равнозначных свойств (при
структурном анализе)
Относительный вес связи
между событиями – количество
совпадающих значений равно-
значных свойств в обрабатыва-
емой паре событий.
Результат выполнения корре-
ляции над выборкой событий –
получение набора пар значений:
относительный вес, интервал
времени (в пределах выбранного
временного окна).
13. Positive Hack Days VII
Москва, 23-24 мая 2017 13
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Размер выборки определяется на основе:
частотно-временного анализа входных данных;
динамике (частоте) изменения значений свойств:
равнозначных свойств;
неравнозначных однотипных свойств;
неравнозначных разнотипных свойств
-0.03
0.02
0.07
0.12
0.17
0.22
0.27
0.32
0.37
0.42
1
11
21
31
41
51
61
71
81
91
101
111
121
131
141
151
161
171
181
191
201
211
221
231
241
251
261
271
281
291
301
311
321
331
341
351
361
371
381
391
401
411
421
431
441
451
461
471
481
4663
4776
4702
4778
4779
5447
4670
5152
4634
4672
4673
5154
4674
5156
Репрезентативность выборки событий
14. Positive Hack Days VII
Москва, 23-24 мая 2017 14
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Необходимые условия:
по нормализации: структура одного типа события t не должна
иметь равнозначных свойств p1 и p2:
по полноте: типы событий, не содержащиеся в журнале, не могут
быть добавлены в граф связей из-за отсутствия возможности расчета
отношений по времени
по времени: все события должны иметь синхронизированную
временную привязку
Требования к входным данным
15. Positive Hack Days VII
Москва, 23-24 мая 2017 15
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Извлечение событий из журнала ОС Windows (Event Viewer):
формат XML
формат «CSV»
Реальные входные данные (1)
16. Positive Hack Days VII
Москва, 23-24 мая 2017 16
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Извлечение событий из журнала ОС Windows (WinAPI):
HANDLE OpenEventLog(
_In_ LPCTSTR lpUNCServerName,
_In_ LPCTSTR lpSourceName);
BOOL ReadEventLog(
_In_ HANDLE hEventLog,
_In_ DWORD dwReadFlags,
_In_ DWORD dwRecordOffset,
_Out_ LPVOID lpBuffer,
_In_ DWORD nNumberOfBytesToRead,
_Out_ DWORD *pnBytesRead,
_Out_ DWORD *pnMinNumberOfBytesNeeded);
DWORD WINAPI FormatMessage(
_In_ DWORD dwFlags,
_In_opt_ LPCVOID lpSource,
_In_ DWORD dwMessageId,
_In_ DWORD dwLanguageId,
_Out_ LPTSTR lpBuffer,
_In_ DWORD nSize,
_In_opt_ va_list *Arguments);
Реальные входные данные (2)
17. Positive Hack Days VII
Москва, 23-24 мая 2017 17
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Текущие результаты исследования:
проанализированы структуры типов событий ОС Windows;
разработана модель связей типов событий;
построен граф связей типов событий ОС Windows;
выделены условия репрезентативности исходных данных
Дальнейшая работа:
уточнение графа связей на основе значений свойств типов
событий;
установление причинно-следственных связей между типами
событий;
расширение списка источников данных
Подведение итогов
18. Positive Hack Days VII
Москва, 23-24 мая 2017
Работа выполнена при поддержке гранта
РНФ №15-11-30029 в СПИИРАН
Контактная информация:
Федорченко Андрей Чечулин Андрей
fedorchenko@comsec.spb.ru chechulin@comsec.spb.ru
Котенко И.В
ivkote1@mail.ru
18
СПАСИБО ЗА ВНИМАНИЕ!
ИСПОЛЬЗОВАНИЕ ГРАФА СВЯЗЕЙ ТИПОВ СОБЫТИЙ ДЛЯ КОРРЕЛЯЦИИ ДАННЫХ В SIEM-СИСТЕМАХ
Notas del editor
Под событием понимается результат действия (выполненного, отклоненного, завершенного с ошибкой) или попытки к совершению действия, генерируемого либо источником действия, либо системой его обработки, имеющего предопределенный формат описания, понятный системе обработки, а также обладающим специфичными свойствами, описывающими само действие.
События различных типов в пределах одного журнала являются исходными данными для проведения исследований и могут быть выражены как (первое выражение)
Анализ типов событий предлагается производить на основе реальных исходных данных (журналов событий). В данном случае исключается вероятность возникновения ошибок, связанных с изменением формата типов, а при наличии такого изменения, подобные события будут зафиксированы. На основе анализа журнала производится формирование структур типов событий с определенными свойствами (второе выражение)
Таким образом, анализ журнала с целью выявления структур типов и их свойств можно представить в виде отображения множества событий в множества типов и свойств типов событий (третье выражение)
- идентификационные свойства, значения которых для каждого события уникальны в пределах множества событий одного журнала (группы журналов) или системы. Например, идентификаторы записей событий;
- свойства принадлежности, значения которых указывают на содержание событий в определенных множествах, таких как тип, провайдер, хост;
- временные свойства, отражающие значение времени создания, записи, старта, окончания и других временных характеристик действия;
- свойства аудита, определяющие результат выполнения действия, которое описывает действие как успешное, запрещенное, завершившееся с ошибкой и др.;
- информационные свойства, отражающие специфичные характеристики действия, описываемого в событии (является наиболее обширной группой атрибутов).
Так как выявленные типы событий состоят из свойств, характеризующих описываемое в событии действие, связи между типами событий с помощью анализа их структур формируются за счет связей между их свойствами. Для определения места структурного анализа в задаче определении связей, необходимо ввести классификацию отношений между свойствами типов событий. Так выделяются отношения по равнозначным и неравнозначным свойствам.
При последующем анализе наличие у различных типов событий равнозначных свойств будет рассматриваться как прямая связь между свойствами типов событий, а наличие однотипных и разнотипных неравнозначных свойств – как однотипные и разнотипные косвенные связи соответственно. Однако, в рамках структурного анализа рассматриваются только прямые связи между типами событий, тогда как функциональный и поведенческий анализы подразумевает определение косвенных однотипных и разнотипных связей соответственно.
Например, при сравнении структур двух типов событий безопасности ОС Windows: «Завершение процесса»(4689) и «Вызвана привилегированная служба»(4673), одним из равнозначных свойств обоих типов является «ProcessId»(процесс-инициатор), что является прямой связью между указанными типами событий.
При анализе структуры события типа «Запуск процесса»(4688) помимо свойства «NewProcessID» содержится свойство «CreatorProcessID». Все три свойства характеризуют идентификатор процесса, только в первом случае – дочернего процесса (наследника), а во втором – процесса-инициатора (предка).Данная связь является косвенной однотипной по типу содержимого (тип – «Идентификатор процесса»), поэтому позволяет проследить дополнительные функциональные связи между событиями разных типов и в данном случае выявлять события рабочих сессий процессов и их иерархии наследования.
Также событие типа «Запуск процесса»(4688) содержит свойство «ProcessName». При рассмотрении свойств «ProcessId» и «ProcessName», типы их содержимого явно отличаются: «Идентификатор процесса» в первом случае и «Расположение (исполняемого файла) в файловой системе» во втором. Однако оба свойства описывают идентификационные характеристики процесса. В первом случае данная характеристика имеет привязку к масштабу времени: идентификатор присваивается системой каждому создаваемому процессу и имеет уникальное случайное значение в текущий момент времени в рамках отдельной сессии процесса (от создания до завершения). Во втором случае идентификационная характеристика является более статичной и не имеет привязки к масштабу времени. В результате дальнейшей корреляции указанных неравнозначных свойств разного типа может быть определена косвенная разнотипная связь.
Следует учитывать, что полученный граф не является окончательным, а наоборот, является первостепенным представлением отношений между событиями. Далее, в результате функционального и поведенческого анализа данная модель будет корректироваться, то есть будут учитываться силы связей (весов) между типами событий. Вычисление весов ребер полученного графа будет производиться на основе относительных и абсолютных частотных характеристик по принципу схожести значений связанных свойств. В свою очередь, направленность связей, выражающую причинно-следственные отношения между типами событий, будет определяться за счет частотно-временных характеристик.
Также стоит отметить, что при последующем выделении групп связных событий, определении классов объектов с временем жизни и других сущностей, предполагается получение моделей более высоких уровней. Под классами объектов с временем жизни понимаются высокоуровневые структуры, поведение которых (или над которыми) фиксируется с помощью нескольких типов событий. Например, операционные системы как правило имеют в качестве неделимого оперативного объекта логический поток. Группа потоков формируют процесс. Однако, процесс в свою очередь может являться одним или несколькими сервисами. Таким образом, более высокоуровневая модель представления событий должна содержать подобные классы объектов и позволяющая в дальнейшем связывать между собой данные с динамичным и условно-статичным содержимым.
Предполагается, что полученный уточненный граф связей типов событий будет использован для определения наличия связей между событиями по набору пар значений: относительный вес, интервал времени (между данными событиями в пределах выбранного временного окна).
Следует отметить, что однотипные события также будут иметь возможность оценки по относительному весу их связи, тогда как удельный вес в данном случае будет равен количеству свойств в типе.
Предполагается, что по полученным наборам пар значений для каждой связи можно будет ранжировать события в пределах выбранного временного окна и применять непараметрические (ранговые) методы корреляции (метод Кендалла, метод Спирмена, метод множественной ранговой корреляции).
Также ранговую корреляцию предлагается использовать для выявления косвенных связей между событиями, после установления которых модель корреляции событий на основе их типов будет расширена.
Также следует учитывать необходимость соблюдения показателей полноты исходных данных по времени и объему предоставляемой информации. Данный факт обусловлен условием достаточности анализируемой выборки с помощью метода ранговой корреляции, а также обучаемой выборки.
Предлагаемый подход имеет ряд ограничений на входные данные. Так, предполагается, что перед началом выявления структур типов событий в рамках одной модели формат событий является нормализованным.
Данное ограничение необходимо для исключения зацикливания на одном событии в ходе использования предлагаемого подхода. Вместе с тем, следует соблюдать нормализованный (однозначный) формат записи свойств событий разных типов.
Стоит отметить, что исходные данные также должны удовлетворять необходимому условию по полноте всевозможных типов событий в рамках рассматриваемой модели и достаточному условию по полноте количества разнотипных событий для выполнения структурного, функционального, поведенческого и эволюционного анализов. Кроме того, в связи с чувствительностью и привязкой предлагаемого подхода к реальному масштабу времени, значения временных свойств событий в рамках одной модели должны быть синхронизированы. Таким образом, для корректного применения предлагаемого подхода к журналу, системе, сегменту или инфраструктуре, временные показатели событий должны быть синхронизированы в пределах данного журнала системы, сегмента и инфраструктуры соответственно.
Стандартный просмотрщик Event Viewer:
Возможность сохранения журнала событий в 2х форматах: xml и csv
Форматы описания событий отличаются: имена свойств не соответствуют друг другу.
В xml потеряна иерархия (группировка) событий - название группы частично включено в имена свойств.
В формате CSV выражены только общие свойства событий, информационные свойства записаны обычным текстом!