Kaspersky Symphony XDR: Open Single Management Platform

Правила агрегации

Вы можете использовать правила агрегации для объединения корреляционных событий в алертах. Рекомендуется использовать правила сегментации вместе с правилами агрегации для определения более точных правил создания инцидентов.

Стандартное поведение Open Single Management Platform заключается в объединении событий, имеющих один и тот же идентификатор правила, со следующими ограничениями:

  • по времени (в течение 30 секунд);
  • по количеству событий (100 событий);
  • по количеству активов (100 активов);
  • по количеству наблюдаемых объектов (200 наблюдаемых объектов);
  • по общему объему событий, 4 МБ.

Вы можете использовать REST API для настройки правил агрегации.

Правила агрегации. Пример

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

Правило 1. Тестирование на проникновение для проверки системы защиты

Атрибут

Value

Описание.

Приоритет.

0

Наивысший приоритет.

Триггер

any(.Observables[]? | select(.Type == "ip") | .Value; . == "10.10.10.10" or . == "10.20.20.20")

Правило срабатывает, если алерт включает наблюдаемый IP с любым из следующих значений:

  • 10.10.10.10
  • 10.20.20.20

Идентификатор правила агрегации

"Pentest"

Правило указывает идентификатор, с помощью которого события объединяются в алерт.

Название алерта

"[Pentest] " + ([.Rules[]?.Name] | join(","))

Правило добавляет тег "[Pentest]" и имя правила к названию алерта. Название правила берется из первого агрегированного алерта, последующие алерты не влияют на итоговое название алерта, даже если они были созданы по другому правилу.

Интервал агрегации

30 seconds

 

Правило 2. Тестирование на проникновение для проверки системы защиты с помощью учетной записи пользователя

Атрибут

Value

Описание.

Приоритет.

1

 

Триггер

any(.Observables[]? | select(.Type | ascii_downcase == "username") | .Value; . == "Pentester-1" or . == "Pentester-2")

Правило срабатывает, если алерт включает наблюдаемое имя учетной записи пользователя с любым из следующих значений:

  • Pentester-1
  • Pentester-2

Идентификатор правила агрегации

"Pentest"

Правило указывает идентификатор, с помощью которого события объединяются в алерт.

Название алерта

"[Pentest] " + ([.Rules[]?.Name] | join(","))

Правило добавляет тег "[Pentest]" и имя правила к названию алерта. Название правила берется из первого агрегированного события, последующие агрегированные события не влияют на итоговое название алерта.

Интервал агрегации

30 seconds

 

Правило 3. Правило агрегации

Атрибут

Value

Описание.

Приоритет.

2

 

Триггер

.Rules | length > 0

Правило срабатывает, если список правил не пуст.

Идентификатор правила агрегации

([.Rules[].ID // empty] | sort | join(";"))

Правило объединяет идентификаторы правил.

Название алерта

([.Rules[]?.Name // empty] | sort | join(",")) + " " + (.SourceCreatedAt)

Правило объединяет названия правил и добавляет дату создания алерта.

Интервал агрегации

30 seconds

 

Правила агрегации и сегментации. Пример

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

Правило агрегации

Атрибут

Value

Описание.

Триггер

any(.Rules[]?; .ID == "123")

Поиск алертов с идентификатором правила "123".

Идентификатор правила агрегации

if any(.OriginalEvents[]?.BaseEvents[]?.DestinationUserName // empty; startswith("adm_")) then "rule123_DestinationUserName_adm" else "rule123_DestinationUserName_not_adm" end

Поиск имен пользователей с префиксом "adm_".

Название алерта

if any(.OriginalEvents[]?.BaseEvents[]?.DestinationUserName // empty; startswith("adm_")) then "Rule123 admin" else "Rule123 not admin" end

Устанавливает название алерта в зависимости от префикса имени пользователя.

Правило сегментации

Атрибут

Value

Триггер

.AggregationID | startswith("rule123_DestinationUserName")

Группы

[.AggregationID]

Название инцидента

.Name