Правила сегментации позволяют автоматически разделять связанные алерты на отдельные инциденты в зависимости от заданных условий.
Вы можете использовать правила сегментации для создания отдельных инцидентов на основе связанных алертов. Например, вы можете объединить несколько алертов с важной отличительной чертой в отдельный инцидент.
Алерты могут быть связаны только с инцидентом, принадлежащим тому же тенанту.
Правила сегментации срабатывают в соответствии с указанным приоритетом. Чем выше находится правило в списке правил сегментации, тем выше его приоритет. Если вы хотите изменить приоритет правила сегментации, вам нужно перетащить правило, нажав на его имя.
Рекомендуется использовать правила сегментации вместе с правилами агрегации для определения более точных правил создания инцидентов.
Когда вы пишете выражение jq при создании правила сегментации, может появиться ошибка о недопустимом выражении, хотя выражение является корректным. Эта ошибка не блокирует создание правила сегментации. Это известная ошибка.
Чтобы создать правило сегментации:
Откроется список тенантов. Список содержит только те тенанты, к которым у вас есть хотя бы право на Чтение.
Откроется список правил сегментации.
Откроется окно Создать правило сегментации.
Включите или выключите правило.
Укажите уникальное имя правила. Имя должно содержать от 1 до 255 символов Юникода.
Максимальное количество алертов в одном инциденте. Если количество алертов превышает указанное значение, создается другой инцидент.
Минимальное количество алертов в одном инциденте. Если количество алертов не достигает указанного значения, инцидент не создается.
Период, из которого следует выбирать алерты и инциденты.
Необязательно. Описание правила.
Выражение jq, определяющее массив идентификаторов строк, по которым назначаются алерты инцидентам.
При необходимости вы можете скопировать выражение jq для раздела Группы из другого правила сегментации. Для этого нажмите на кнопку Копировать из другого правила.
Пример:
[.Observables[] | select(.Type == "md5") | .Value ]
Выражение jq, определяющее шаблон наименований инцидентов, созданных в соответствии с этим правилом сегментации.
При необходимости вы можете скопировать выражение jq для раздела Название инцидента (шаблон) из другого правила сегментации. Для этого нажмите на кнопку Копировать из другого правила.
Пример: "Malware Detected with MD5 \(.Observables[] | select(.Type == "md5") | .Value)"
Выражение jq, определяющее условие включения алертов в инцидент.
При необходимости вы можете скопировать выражение jq для раздела Триггер из другого правила сегментации. Для этого нажмите на кнопку Копировать из другого правила.
Пример: any(.Rules[]?; .Name == "R077_02_KSC. Malware detected")
Правило сегментации сохранится и отобразится в таблице правил. При необходимости вы можете изменить правило, нажав на его имя в таблице.
Когда алерт создан, он проверяется всеми активными правилами сегментации из таблицы в соответствии с приоритетом правил. После срабатывания первого подходящего правила формируется массив строковых идентификаторов для алерта и начинается поиск инцидента, в который будет включен алерт.
Создание инцидента после срабатывания первого правила сегментации
Правило сегментации срабатывает, если выражение jq, которое вы указали в триггере, возвращает true
.
Невозможно связать алерт с инцидентом, созданным вручную.
Инцидент также имеет массив, который состоит из массивов алертов, связанных с этим инцидентом. Если в массиве алерта, для которого сработало правило сегментации, есть хотя бы один элемент, совпадающий с каким-либо из элементов массива инцидента, то алерт связывается с инцидентом. В результате массив этого алерта добавляется в массив инцидента.
Привязка алерта к существующему инциденту после обнаружения совпадающих элементов
Если есть несколько инцидентов с совпадающими элементами в массиве, алерт соединяется с инцидентом, у которого самое позднее время обновления. Если нет инцидентов с совпадающими элементами в массиве, создается инцидент.
Создание инцидента после того, как не найдено ни одного подходящего элемента на основе первых двух правил сегментации
Когда инцидент новый, его массив пустой. Такой инцидент принимает массив алерта, который к нему присоединяется.
Правило сегментации. Пример
Настройте правила агрегации в разделе Правила агрегации. Пример раздела в этой статье.
В таблице ниже показано, как объединить все тестовые алерты на проникновение в один инцидент.
Правило сегментации
Атрибут |
Значение |
Триггер |
.AggregationID == "Pentest" |
Группы |
["Pentest"] |
Название инцидента |
"Pentest incident" |
Правила агрегации и сегментации. Пример
В таблица ниже описано, как объединить алерты, имеющие одинаковый идентификатор правила, в двух инцидентах на основе префикса имени пользователя.
Правило агрегации
Атрибут |
Значение |
Описание |
Триггер |
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 |
Устанавливает название алерта в зависимости от префикса имени пользователя. |
Правило сегментации
Атрибут |
Значение |
Триггер |
.AggregationID | startswith("rule123_DestinationUserName") |
Группы |
[.AggregationID] |
Название инцидента |
.Name |