Kaspersky Unified Monitoring and Analysis Platform

Правила корреляции

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

Правила корреляции можно использовать в следующих сервисах и функциях KUMA:

Доступные параметры правила корреляции зависят от выбранного типа. Типы правил корреляции:

  • standard – используется для поиска корреляций между несколькими событиями. Правила этого типа могут создавать корреляционные события.

    Этот тип правил используется для определения сложных закономерностей в последовательности событий. Для более простых комбинаций следует использовать другие типы правил корреляции, которые требуют меньше ресурсов.

  • simple – используется для создания корреляционных событий при обнаружении определенного события.
  • operational – используется для операций с активными листами. Этот тип правил не может создавать корреляционные события.

Для этих ресурсов в полях ввода, кроме поля Описание, можно включить отображение непечатаемых символов.

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

В этом разделе

Правила корреляции типа standard

Правила корреляции типа simple

Правила корреляции типа operational

Переменные в корреляторах

Предустановленные правила корреляции

В начало
[Topic 217783]

Правила корреляции типа standard

Правила корреляции типа standard используются для определения сложных закономерностей в обрабатываемых событиях.

Поиск закономерностей происходит с помощью контейнеров

Контейнеры правила корреляции – это временные хранилища данных, которые используются ресурсами правила корреляции при определении необходимости создания корреляционных событий. Эти контейнеры выполняет следующие функции:

  • Группируют события, которые были отобраны фильтрами в группе настроек Селекторы ресурса правила корреляции. События группируются по полям, которые указываются пользователем в поле Группирующие поля.
  • Определяют момент, когда должно сработать правило корреляции, меняя соответствующим образом события, сгруппированные в контейнере.
  • Выполняют действия, указанные в группе настроек Действия.
  • Создают корреляционные события.

Доступные состояния контейнера:

  • Пусто – в контейнере нет событий. Это может произойти только в момент своего создания при срабатывании правила корреляции.
  • Частичное совпадение – в контейнере есть некоторые из ожидаемых событий (события восстановления не учитываются).
  • Полное совпадение – в корзине есть все ожидаемые события (события восстановления не учитываются). При достижении этого состояния:
    • Срабатывает правило корреляции
    • События удаляются из контейнера
    • Счетчик срабатываний контейнера обновляется
    • Контейнера переводится в состояние Пусто
  • Ложное совпадение – такое состояние контейнера возможно в следующих случаях:
    • когда было достигнуто состояние Полное совпадение, но объединяющий фильтр возвратил значение false.
    • когда при установленном флажке Обнуление были получены события восстановления.

    Когда это условие достигается, правило корреляции не срабатывает. События удаляются из контейнера, счетчик срабатываний обновляется, контейнер переводится в состояния Пусто.

Окно правила корреляции содержит следующие закладки параметров:

  • Общие – используется для указания основных параметров правила корреляции. На этой закладке можно выбрать тип правила корреляции.
  • Селекторы – используется для определения условий, которым должны удовлетворять обрабатываемые события для срабатывания правила корреляции. Доступные параметры зависят от выбранного типа правил.
  • Действия – используется для установки триггеров, срабатывающих при выполнении условий, заданных в группе настроек Селекторы. У ресурса правила корреляции должен быть хотя бы один триггер. Доступные параметры зависят от выбранного типа правил.

Закладка Общие

  • Название (обязательно) – уникальное имя для этого типа ресурса. Должно содержать от 1 до 128 символов в кодировке Unicode.
  • Тенант (обязательно) – тенант, которому принадлежит правило корреляции.
  • Тип (обязательно) – раскрывающийся список для выбора типа правила корреляции. Выберите standard, если хотите создать правило корреляции типа standard.
  • Группирующие поля (обязательно) – поля событий, которые должны быть сгруппированы в контейнере. Хеш-код значений выбранных полей используется в качестве ключа контейнера. Если срабатывает селектор (см. ниже), отобранные поля копируются в корреляционное событие.

    Если в разных селекторах корреляционного правила используются поля, которые имеют разные значения в событиях, эти поля не нужно указывать в разделе Группирующие поля.

  • Уникальные поля – поля событий, которые должны быть отправлены в контейнер. Если задан этот параметр, в контейнер будут отправляться только уникальные поля. Хеш-код значений отобранных полей используется в качестве ключа контейнера.

    Вы можете использовать локальные переменные в разделах Группирующие поля и Уникальные поля. Для обращения к переменной необходимо перед ее именем указать символ "$".
    Для ознакомления с примерами использования локальных переменных в этих разделах используйте правило, поставляемое с KUMA: R403_Обращение на вредоносные ресурсы с хоста с отключенной защитой или устаревшей антивирусной базой.

  • Частота срабатываний – максимальное количество срабатываний правила корреляции в секунду. Значение по умолчанию: 100.

    Если правила корреляции, в которых реализована сложная логика обнаружения закономерностей, не срабатывают, причиной могут быть особенности подсчета срабатываний правила в KUMA. Попробуйте увеличить значение Частота срабатываний, например, до 1000000.

  • Время жизни контейнера, сек. (обязательно) – время жизни контейнера в секундах. Значение по умолчанию: 86400 секунд (24 часа). Этот таймер запускается при создании контейнера (когда он получает первое событие). Время жизни не обновляется, и когда оно истекает, срабатывает триггер По истечении времени жизни контейнера из группы настроек Действия, а контейнер удаляется. Триггеры На каждом срабатывании правила и На последующих срабатываниях правила могут срабатывать более одного раза в течение времени жизни контейнера.
  • Политика хранения базовых событий – этот раскрывающийся список используется, чтобы определить, какие базовые события должны быть сохранены в корреляционном событии:
    • first (значение по умолчанию) – поместить в корреляционное событие первое базовое событие из коллекции событий, инициировавшей создание корреляционного события.
    • last – поместить в корреляционное событие последнее базовое событие из коллекции событий, инициировавшей создание корреляционного события.
    • all – поместить в корреляционное событие все базовые события из коллекции событий, инициировавшей создание корреляционного события.
  • Уровень важности – базовый коэффициент, используемый для определения уровня важности правила корреляции. Значение по умолчанию: Низкий.
  • Сортировать по – в этом раскрывающемся списке можно выбрать поле события, по которому селекторы правила корреляции будут отслеживать изменение ситуации. Это может пригодиться, если, например, вы захотите настроить правило корреляции на срабатывание при последовательном возникновении нескольких типов событий.
  • Описание – описание ресурса. До 4000 символов в кодировке Unicode.

Закладка Селекторы

В правиле типа standard может быть несколько селекторов. Селекторы можно добавлять с помощью кнопки Добавить селектор и удалять с помощью кнопки Удалить селектор. Селекторы можно перемещать с помощью кнопки DragIcon.

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

Рассмотрим два примера селекторов, осуществляющих выборку событий успешной аутентификации в Microsoft Windows.

Селектор 1:

Условие 1. DeviceProduct = Microsoft Windows

Условие 2. DeviceEventClassID =  4624

Селектор 2:

Условие 1. DeviceEventClassID = 4624

Условие 2.  DeviceProduct = Microsoft Windows

Последовательность условий, заданная в Селекторе 2, более предпочтительна, поскольку оказывает меньшую нагрузку на систему.

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

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

Для использования регулярного выражения необходимо применить оператор сравнения match. Регулярное выражение должно быть размещено в константе. Применение capture-групп в регулярных выражениях не обязательно. Для срабатывания корреляционного правила текст поля, сопоставляемый с regexp, должен полностью совпасть с регулярным выражением.

Для ознакомления с синтаксисом и примерами корреляционных правил, в селекторах которых есть регулярные выражения, используйте следующие правила, поставляемые с KUMA:

  • R105_04_Подозрительные PowerShell команды. Подозрение на обфускацию.
  • R333_Подозрительное создание файлов в директории автозапуска.

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

Закладка Параметры содержит следующие параметры:

  • Название (обязательно) – уникальное имя группы событий, удовлетворяющих условиям селектора. Должно содержать от 1 до 128 символов в кодировке Unicode.
  • Порог срабатывания селектора (количество событий) (обязательно) – количество событий, которое необходимо получить для срабатывания селектора.
  • Фильтр (обязательно) – используется для установки критериев определения событий, из-за которых будет срабатывать селектор. В раскрывающемся списке можно выбрать существующий фильтр или Создать новый фильтр.

    Создание фильтра в ресурсах

    1. В раскрывающемся списке Фильтр выберите Создать.
    2. Если вы хотите сохранить фильтр в качестве отдельного ресурса, установите флажок Сохранить фильтр.

      В этом случае вы сможете использовать созданный фильтр в разных сервисах.

      По умолчанию флажок снят.

    3. Если вы установили флажок Сохранить фильтр, в поле Название введите название для создаваемого ресурса фильтра. Название должно содержать от 1 до 128 символов в кодировке Unicode.
    4. В блоке параметров Условия задайте условия, которым должны соответствовать события:
      1. Нажмите на кнопку Добавить условие.
      2. В раскрывающихся списках Левый операнд и Правый операнд укажите параметры поиска.

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

      3. В раскрывающемся списке оператор выберите нужный вам оператор.

        Операторы фильтров

        • = – левый операнд равен правому операнду.
        • < – левый операнд меньше правого операнда.
        • <= – левый операнд меньше или равен правому операнду.
        • > – левый операнд больше правого операнда.
        • >= – левый операнд больше или равен правому операнду.
        • inSubnet – левый операнд (IP-адрес) находится в подсети правого операнда (подсети).
        • contains – левый операнд содержит значения правого операнда.
        • startsWith – левый операнд начинается с одного из значений правого операнда.
        • endsWith – левый операнд заканчивается одним из значений правого операнда.
        • match – левый операнд соответствует регулярному выражению правого операнда. Используются регулярные выражения RE2.
        • hasBit – установлены ли в левом операнде (в строке или числе), биты, позиции которых перечислены в правом операнде (в константе или в списке).

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

          Если проверяемое значение – это строка, то производится попытка перевести ее в целое число и обработать указанным выше способом. Если перевести строку в число невозможно, фильтр возвращает False.

        • hasVulnerability – находится ли в левом операнде актив с уязвимостью и уровнем важности уязвимости, указанными в правом операнде.

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

        • inActiveList – этот оператор имеет только один операнд. Его значения выбираются в поле Ключевые поля и сравниваются с записями активного листа, выбранного в раскрывающемся списке активных листов.
        • inContextTable – существует ли запись в контекстной таблице. Этот оператор имеет только один операнд. Его значения выбираются в поле Ключевые поля и сравниваются со значениями записей контекстной таблицы, выбранной в раскрывающемся списке контекстных таблиц.
        • inDictionary – присутствует ли в указанном словаре запись, соответствующая ключу, составленному из значений выбранных полей события.
        • inCategory – активу в левом операнде назначена по крайней мере одна из категорий активов правого операнда.
        • inActiveDirectoryGroup – учетная запись Active Directory в левом операнде принадлежит одной из групп Active Directory в правом операнде.
        • TIDetect – этот оператор используется для поиска событий с данными CyberTrace Threat Intelligence (TI). Этот оператор можно использовать только на событиях, прошедших обогащение данными из CyberTrace Threat Intelligence, то есть только в коллекторах на этапе выбора точки назначения и в корреляторах.
      4. При необходимости установите флажок без учета регистра. В этом случае оператор игнорирует регистр значений.

        Действие флажка не распространяется на операторы InSubnet, InActiveList, InCategory, InActiveDirectoryGroup.

        По умолчанию флажок снят.

      5. Если вы хотите добавить отрицательное условие, в раскрывающемся списке Если выберите Если не.
      6. Вы можете добавить несколько условий или группу условий.
    5. Если вы добавили несколько условий или групп условий, выберите условие отбора (и, или, не), нажав на кнопку И.
    6. Если вы хотите добавить уже существующие фильтры, которые выбираются в раскрывающемся списке Выберите фильтр, нажмите на кнопку Добавить фильтр.

      Параметры вложенного фильтра можно просмотреть, нажав на кнопку edit-grey.

    Фильтрация по данным из поля события Extra

    Условия для фильтров по данным из поля события Extra:

    • Условие – Если.
    • Левый операнд – поле события.
    • В поле события вы можете указать одно из следующих значений:
      • Поле Extra.
      • Значение из поля Extra в следующем формате:

        Extra.<название поля>

        Например, Extra.app.

        Значение этого типа указывается вручную.

      • Значение из массива, записанного в поле Extra, в следующем формате:

        Extra.<название поля>.<элемент массива>

        Например, Extra.array.0.

        Нумерация значений в массиве начинается с 0.

        Значение этого типа указывается вручную.

        Чтобы работать со значением из поля Extra на глубине 3 и ниже, следует использовать кавычки ``. Например, `Extra.lev1.lev2.lev3`.

    • Оператор – =.
    • Правый операнд – константа.
    • Значение – значение, по которому требуется фильтровать события.
  • Обнуление – этот флажок должен быть установлен, если правило корреляции НЕ должно срабатывать при получении селектором определенного количества событий. По умолчанию этот флажок снят.

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

Закладка Действия

В правиле типа standard может быть несколько триггеров.

  • На первом срабатывании правила – этот триггер срабатывает, когда контейнер регистрирует первое в течение срока своей жизни срабатывание селектора.
  • На последующих срабатываниях правила – этот триггер срабатывает, когда контейнер регистрирует в течение срока своей жизни второе и последующие срабатывания селектора.
  • На каждом срабатывании правила – этот триггер срабатывает каждый раз, когда контейнер регистрирует срабатывание селектора.
  • По истечении времени жизни контейнера – этот триггер срабатывает по истечении времени жизни контейнера и используется в связке с селектором с установленным флажком Обнуление. То есть триггер срабатывает, если в течение заданного времени ситуация, обнаруженная правилом корреляции, не разрешается.

Каждый триггер представлен в виде группы настроек со следующими доступными параметрами:

  • Отправить событие на дальнейшую обработку – если этот флажок установлен, корреляционное событие будет отправлено на пост-обработку: на внешнее обогащение вне корреляционного правила, для реагирования и в точки назначения.
  • Отправить событие снова в коррелятор – если этот флажок установлен, созданное корреляционное событие будет обрабатываться цепочкой правил текущего коррелятора. Это позволяет достичь иерархической корреляции.

    Если установлены оба флажка, правило корреляции будет отправлено сначала на пост-обработку, а затем в селекторы текущего правила корреляции.

  • Не создавать алерт – если этот флажок установлен, алерт не будет создаваться при срабатывании этого правила корреляции.
  • Группа параметров Обновление активных листов – используется для назначения триггера на одну или несколько операций с активными листами. С помощью кнопок Добавить действие с активным листом и Удалить действие с активным листом можно добавлять и удалять операции с активными листами.

    Доступные параметры:

    • Название (обязательно) – этот раскрывающийся список используется для выбора ресурсов активного листа.
    • Операция (обязательно) – этот раскрывающийся список используется для выбора операции, которую необходимо выполнить:
      • Получить – получить запись активного листа и записать значения указанных полей в корреляционное событие.
      • Установить – записать значения указанных полей корреляционного события в активный лист, создав новую или обновив существующую запись активного листа. При обновлении записи активного листа данные объединяются, и только указанные поля перезаписываются.
      • Удалить – удалить запись из активного листа.
    • Ключевые поля (обязательно) – это список полей события, используемых для создания записи активного листа. Этот список также используется в качестве ключа записи активного листа.

      Ключ записи активного листа зависит только от состава полей и не зависит от порядка их отображения в веб-интерфейсе KUMA.

    • Сопоставление (требуется для операций Получить и Установить) – используется для сопоставления полей активного листа с полями событий. Можно установить более одного правила сопоставления.
      • Левое поле используется для указания поля активного листа.

        Поле не должно содержать специальные символы или только цифры.

      • Средний раскрывающийся список используется для выбора полей событий.
      • Правое поле можно использовать для назначения константы полю активного листа, если была выбрана операция Установить.
  • Группа параметров Обогащение – вы можете менять значения полей корреляционных событий, используя правила обогащения. Эти правила обогащения хранятся в правиле корреляции, в котором они были созданы. Можно создать несколько правил обогащения. Правила обогащения можно добавлять или удалять с помощью кнопок Добавить обогащение и Удалить обогащение.
    • Тип источника – в этом раскрывающемся списке можно выбрать тип обогащения. В зависимости от выбранного типа отобразятся дополнительные параметры, которые также потребуется заполнить.

      Доступные типы обогащения:

      • константа

        Этот тип обогащения используется, если в поле события необходимо добавить константу. Параметры этого типа обогащения:

        • В поле Константа укажите значение, которое следует добавить в поле события. Значение должно состоять не более чем из 255 символов в кодировке Unicode. Если оставить это поле пустым, существующее значение поля события будет удалено.
        • В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое следует поместить данные.

      • словарь

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

        При выборе этого типа в раскрывающемся списке Название словаря необходимо выбрать словарь, из которого будут браться значения, а в блоке параметров Ключевые поля с помощью кнопки Добавить поле требуется выбрать поля события, значения которых будут использоваться для выбора записи словаря.

      • таблица

        Этот тип обогащения используется, если в поле события необходимо добавить значение из словаря типа Таблица.

        При выборе этого типа обогащения в раскрывающемся списке Название словаря необходимо выбрать словарь, из которого будут браться значения, а в блоке параметров Ключевые поля с помощью кнопки Добавить поле требуется выбрать поля события, значения которых будут использоваться для выбора записи словаря.

        Также в таблице Сопоставление необходимо настроить, из каких полей словаря и в какие поля события будут передаваться данные:

        • В столбце Поле словаря необходимо выбрать поле словаря. Доступные поля зависят от выбранного ресурса словаря.
        • В столбце Поле KUMA необходимо выбрать поле события, в которое следует записать значение. Для некоторых выбранных полей (*custom* и *flex*) в столбце Подпись можно задать название для помещаемых в них данных.

        Новые строки в таблицу можно добавлять с помощью кнопки Добавить элемент. Столбцы можно удалить с помощью кнопки cross.

      • событие

        Этот тип обогащения используется, если в поле события необходимо записать значение другого поля события. Параметры этого типа обогащения:

        • В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое следует поместить данные.
        • В раскрывающемся списке Исходное поле выберите поле события, значение которого будет записано в целевое поле.
        • Если нажать на кнопку wrench-new, откроется окно Преобразование, в котором с помощью кнопки Добавить преобразование можно создать правила изменения исходных данных перед тем, как они будут записаны в поля событий KUMA.

          Доступные преобразования

          Преобразования – это изменения, которые можно применить к значению до того, как оно будет записано в поле события. Тип преобразования выбирается в раскрывающемся списке.

          Доступные преобразования:

          • lower – используется для перевода всех символов значения в нижний регистр
          • upper – используется для перевода всех символов значения в верхний регистр
          • regexp – используется для преобразования значения с помощью регулярного выражения RE2. Поле, в которое следует добавить регулярное выражение, появляется, когда выбран этот тип преобразования.
          • substring – используется для извлечения символов в диапазоне позиций, указанном в полях Начало и Конец. Эти поля появляются, когда выбран данный тип преобразования.
          • replace – используется для замены указанной последовательности символов на другую последовательность символов. Когда выбран этот тип преобразования, появляются новые поля:
            • Символы на замену – в этом поле вы можете указать последовательность символов, которую следует заменить.
            • Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
          • trim – используется для удаления одновременно с начала и с конца значения поля события символов, указанных в поле Символы. Это поле появляется при выборе данного типа преобразования. Например, если для значения Microsoft-Windows-Sysmon выполнить преобразование trim со значением Micromon, то получается значение soft-Windows-Sys.
          • append – используется для добавления в конец значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
          • prepend – используется для добавления к началу значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
          • replace with regexp – используется для замены результатов регулярного выражения RE2 на последовательность символов.
            • Выражение – в этом поле вы можете указать регулярное выражение, результаты которого следует заменить.
            • Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
          • Конвертация закодированных строк в текст:
            • decodeHexString – используется для конвертации HEX-строки в текст.
            • decodeBase64String – используется для конвертации Base64-строки в текст.
            • decodeBase64URLString – используется для конвертации Base64url-строки в текст.

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

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

            Если длина раскодированной строки превышает размер поля события, в которое должно быть помещено раскодированное значение, такая строка будет обрезана до размера этого поля события.

      • шаблон

        Этот тип обогащения используется, если в поле события необходимо записать значение, полученное при обработке шаблонов Go. Параметры этого типа обогащения:

        • В поле Шаблон поместите шаблон Go.

          Имена полей событий передаются в формате {{.EventField}}, где EventField – это название поля события, значение которого должно быть передано в скрипт.

          Пример: Атака на {{.DestinationAddress}} со стороны {{.SourceAddress}}.

        • В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое следует поместить данные.
    • Отладка – с помощью этого раскрывающегося списка можно включить логирование операций сервиса.
    • Описание – описание ресурса. До 4000 символов в кодировке Unicode.
  • Группа параметров Изменение категорий – используется для изменения категорий активов, указанных в событии. Правил категоризации может быть несколько: их можно добавить или удалить с помощью кнопок Добавить категоризацию или Удалить категоризацию. Активам можно добавлять или удалять только реактивные категории.
    • Действие – этот раскрывающийся список используется для выбора операции над категорией:
      • Добавить – присвоить категорию активу.
      • Удалить – отвязать актив от категории.
    • Поле события – поле события, в котором указан актив, над которым будет совершена операция.
    • Идентификатор категории – с помощью кнопки parent-category можно выбрать категорию, над которой будет совершена операция. При нажатии на нее открывается окно Выбор категорий, где отображается дерево категорий. Можно выбрать только категорию со способом наполнения Реактивно.
В начало
[Topic 221197]

Правила корреляции типа simple

Правила корреляции типа simple используются для определения простых последовательностей событий.

Окно правила корреляции содержит следующие закладки параметров:

  • Общие – используется для указания основных параметров правила корреляции. На этой закладке можно выбрать тип правила корреляции.
  • Селекторы – используется для определения условий, которым должны удовлетворять обрабатываемые события для срабатывания правила корреляции. Доступные параметры зависят от выбранного типа правила.
  • Действия – используется для установки триггеров, срабатывающих при выполнении условий, заданных в группе настроек Селекторы. У правила корреляции должен быть хотя бы один триггер. Доступные параметры зависят от выбранного типа правил.

Закладка Общие

  • Название (обязательно) – уникальное имя для этого типа ресурса. Должно содержать от 1 до 128 символов в кодировке Unicode.
  • Тенант (обязательно) – тенант, которому принадлежит правило корреляции.
  • Тип (обязательно) – раскрывающийся список для выбора типа правила корреляции. Выберите simple, если хотите создать правило корреляции типа simple.
  • Наследуемые поля (обязательно) – поля событий, по которым отбираются события. При срабатывания селектора (см. ниже) эти поля будут записаны в корреляционное событие.
  • Частота срабатываний – максимальное количество срабатываний правила корреляции в секунду. Значение по умолчанию: 100.

    Если правила корреляции, в которых реализована сложная логика обнаружения закономерностей, не срабатывают, причиной могут быть особенности подсчета срабатываний правила в KUMA. Попробуйте увеличить значение Частота срабатываний, например, до 1000000.

  • Уровень важности – базовый коэффициент, используемый для определения уровня важности правила корреляции. Значение по умолчанию: Низкий.
  • Описание – описание ресурса. До 4000 символов в кодировке Unicode.

Закладка Селекторы

В правиле типа simple может быть только один селектор, для которого доступны закладки Параметры и Локальные переменные.

Закладка Параметры содержит параметры с блоком параметров Фильтр:

  • Фильтр (обязательно) – используется для установки критериев определения событий, из-за которых будет срабатывать селектор. В раскрывающемся списке можно выбрать существующий фильтр или Создать новый фильтр.

    Создание фильтра в ресурсах

    1. В раскрывающемся списке Фильтр выберите Создать.
    2. Если вы хотите сохранить фильтр в качестве отдельного ресурса, установите флажок Сохранить фильтр.

      В этом случае вы сможете использовать созданный фильтр в разных сервисах.

      По умолчанию флажок снят.

    3. Если вы установили флажок Сохранить фильтр, в поле Название введите название для создаваемого ресурса фильтра. Название должно содержать от 1 до 128 символов в кодировке Unicode.
    4. В блоке параметров Условия задайте условия, которым должны соответствовать события:
      1. Нажмите на кнопку Добавить условие.
      2. В раскрывающихся списках Левый операнд и Правый операнд укажите параметры поиска.

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

      3. В раскрывающемся списке оператор выберите нужный вам оператор.

        Операторы фильтров

        • = – левый операнд равен правому операнду.
        • < – левый операнд меньше правого операнда.
        • <= – левый операнд меньше или равен правому операнду.
        • > – левый операнд больше правого операнда.
        • >= – левый операнд больше или равен правому операнду.
        • inSubnet – левый операнд (IP-адрес) находится в подсети правого операнда (подсети).
        • contains – левый операнд содержит значения правого операнда.
        • startsWith – левый операнд начинается с одного из значений правого операнда.
        • endsWith – левый операнд заканчивается одним из значений правого операнда.
        • match – левый операнд соответствует регулярному выражению правого операнда. Используются регулярные выражения RE2.
        • hasBit – установлены ли в левом операнде (в строке или числе), биты, позиции которых перечислены в правом операнде (в константе или в списке).

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

          Если проверяемое значение – это строка, то производится попытка перевести ее в целое число и обработать указанным выше способом. Если перевести строку в число невозможно, фильтр возвращает False.

        • hasVulnerability – находится ли в левом операнде актив с уязвимостью и уровнем важности уязвимости, указанными в правом операнде.

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

        • inActiveList – этот оператор имеет только один операнд. Его значения выбираются в поле Ключевые поля и сравниваются с записями активного листа, выбранного в раскрывающемся списке активных листов.
        • inContextTable – существует ли запись в контекстной таблице. Этот оператор имеет только один операнд. Его значения выбираются в поле Ключевые поля и сравниваются со значениями записей контекстной таблицы, выбранной в раскрывающемся списке контекстных таблиц.
        • inDictionary – присутствует ли в указанном словаре запись, соответствующая ключу, составленному из значений выбранных полей события.
        • inCategory – активу в левом операнде назначена по крайней мере одна из категорий активов правого операнда.
        • inActiveDirectoryGroup – учетная запись Active Directory в левом операнде принадлежит одной из групп Active Directory в правом операнде.
        • TIDetect – этот оператор используется для поиска событий с данными CyberTrace Threat Intelligence (TI). Этот оператор можно использовать только на событиях, прошедших обогащение данными из CyberTrace Threat Intelligence, то есть только в коллекторах на этапе выбора точки назначения и в корреляторах.
      4. При необходимости установите флажок без учета регистра. В этом случае оператор игнорирует регистр значений.

        Действие флажка не распространяется на операторы InSubnet, InActiveList, InCategory, InActiveDirectoryGroup.

        По умолчанию флажок снят.

      5. Если вы хотите добавить отрицательное условие, в раскрывающемся списке Если выберите Если не.
      6. Вы можете добавить несколько условий или группу условий.
    5. Если вы добавили несколько условий или групп условий, выберите условие отбора (и, или, не), нажав на кнопку И.
    6. Если вы хотите добавить уже существующие фильтры, которые выбираются в раскрывающемся списке Выберите фильтр, нажмите на кнопку Добавить фильтр.

      Параметры вложенного фильтра можно просмотреть, нажав на кнопку edit-grey.

    Фильтрация по данным из поля события Extra

    Условия для фильтров по данным из поля события Extra:

    • Условие – Если.
    • Левый операнд – поле события.
    • В поле события вы можете указать одно из следующих значений:
      • Поле Extra.
      • Значение из поля Extra в следующем формате:

        Extra.<название поля>

        Например, Extra.app.

        Значение этого типа указывается вручную.

      • Значение из массива, записанного в поле Extra, в следующем формате:

        Extra.<название поля>.<элемент массива>

        Например, Extra.array.0.

        Нумерация значений в массиве начинается с 0.

        Значение этого типа указывается вручную.

        Чтобы работать со значением из поля Extra на глубине 3 и ниже, следует использовать кавычки ``. Например, `Extra.lev1.lev2.lev3`.

    • Оператор – =.
    • Правый операнд – константа.
    • Значение – значение, по которому требуется фильтровать события.

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

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

Рассмотрим два примера селекторов, осуществляющих выборку событий успешной аутентификации в Microsoft Windows.

Селектор 1:

Условие 1. DeviceProduct = Microsoft Windows

Условие 2. DeviceEventClassID =  4624

Селектор 2:

Условие 1. DeviceEventClassID = 4624

Условие 2.  DeviceProduct = Microsoft Windows

Последовательность условий, заданная в Селекторе 2, более предпочтительна, поскольку оказывает меньшую нагрузку на систему.

Закладка Действия

В правиле типа simple может быть только один триггер: На каждом событии. Он активируется каждый раз, когда срабатывает селектор.

Доступные параметры триггера:

  • Отправить событие на дальнейшую обработку – если этот флажок установлен, корреляционное событие будет отправлено на пост-обработку: на обогащение, для реагирования и в точки назначения.
  • Отправить событие снова в коррелятор – если этот флажок установлен, созданное корреляционное событие будет обрабатываться текущим правилом корреляции. Это позволяет достичь иерархической корреляции.

    Если установлены оба флажка, правило корреляции будет отправлено сначала на пост-обработку, а затем в селекторы текущего правила корреляции.

  • Не создавать алерт – если этот флажок установлен, алерт не будет создаваться при срабатывании этого правила корреляции.
  • Группа параметров Обновление активных листов – используется для назначения триггера на одну или несколько операций с активными листами. С помощью кнопок Добавить действие с активным листом и Удалить действие с активным листом можно добавлять и удалять операции с активными листами.

    Доступные параметры:

    • Название (обязательно) – этот раскрывающийся список используется для выбора активного листа.
    • Операция (обязательно) – этот раскрывающийся список используется для выбора операции, которую необходимо выполнить:
      • Получить – получить запись активного листа и записать значения указанных полей в корреляционное событие.
      • Установить – записать значения указанных полей корреляционного события в активный лист, создав новую или обновив существующую запись активного листа. При обновлении записи активного листа данные объединяются, и только указанные поля перезаписываются.
      • Удалить – удалить запись из активного листа.
    • Ключевые поля (обязательно) – это список полей события, используемые для создания записи активного листа. Этот список также используется в качестве ключа записи активного листа.

      Ключ записи активного листа зависит только от состава полей и не зависит от порядка их отображения в веб-интерфейсе KUMA.

    • Сопоставление (требуется для операций Получить и Установить) – используется для сопоставления полей активного листа с полями событий. Можно установить более одного правила сопоставления.
      • Левое поле используется для указания поля активного листа.

        Поле не должно содержать специальные символы или только цифры.

      • Средний раскрывающийся список используется для выбора полей событий.
      • Правое поле можно использовать для назначения константы полю активного листа, если была выбрана операция Установить.
  • Группа параметров Обогащение – вы можете менять значения полей корреляционных событий, используя правила обогащения. Эти правила обогащения хранятся в правиле корреляции, в котором они были созданы. Можно создать несколько правил обогащения. Правила обогащения можно добавлять или удалять с помощью кнопок Добавить обогащение и Удалить обогащение.
    • Тип источника – в этом раскрывающемся списке можно выбрать тип обогащения. В зависимости от выбранного типа отобразятся дополнительные параметры, которые также потребуется заполнить.

      Доступные типы обогащения:

      • константа

        Этот тип обогащения используется, если в поле события необходимо добавить константу. Параметры этого типа обогащения:

        • В поле Константа укажите значение, которое следует добавить в поле события. Значение должно состоять не более чем из 255 символов в кодировке Unicode. Если оставить это поле пустым, существующее значение поля события будет удалено.
        • В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое следует поместить данные.

      • словарь

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

        При выборе этого типа в раскрывающемся списке Название словаря необходимо выбрать словарь, из которого будут браться значения, а в блоке параметров Ключевые поля с помощью кнопки Добавить поле требуется выбрать поля события, значения которых будут использоваться для выбора записи словаря.

      • таблица

        Этот тип обогащения используется, если в поле события необходимо добавить значение из словаря типа Таблица.

        При выборе этого типа обогащения в раскрывающемся списке Название словаря необходимо выбрать словарь, из которого будут браться значения, а в блоке параметров Ключевые поля с помощью кнопки Добавить поле требуется выбрать поля события, значения которых будут использоваться для выбора записи словаря.

        Также в таблице Сопоставление необходимо настроить, из каких полей словаря и в какие поля события будут передаваться данные:

        • В столбце Поле словаря необходимо выбрать поле словаря. Доступные поля зависят от выбранного ресурса словаря.
        • В столбце Поле KUMA необходимо выбрать поле события, в которое следует записать значение. Для некоторых выбранных полей (*custom* и *flex*) в столбце Подпись можно задать название для помещаемых в них данных.

        Новые строки в таблицу можно добавлять с помощью кнопки Добавить элемент. Столбцы можно удалить с помощью кнопки cross.

      • событие

        Этот тип обогащения используется, если в поле события необходимо записать значение другого поля события. Параметры этого типа обогащения:

        • В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое следует поместить данные.
        • В раскрывающемся списке Исходное поле выберите поле события, значение которого будет записано в целевое поле.
        • Если нажать на кнопку wrench-new, откроется окно Преобразование, в котором с помощью кнопки Добавить преобразование можно создать правила изменения исходных данных перед тем, как они будут записаны в поля событий KUMA.

          Доступные преобразования

          Преобразования – это изменения, которые можно применить к значению до того, как оно будет записано в поле события. Тип преобразования выбирается в раскрывающемся списке.

          Доступные преобразования:

          • lower – используется для перевода всех символов значения в нижний регистр
          • upper – используется для перевода всех символов значения в верхний регистр
          • regexp – используется для преобразования значения с помощью регулярного выражения RE2. Поле, в которое следует добавить регулярное выражение, появляется, когда выбран этот тип преобразования.
          • substring – используется для извлечения символов в диапазоне позиций, указанном в полях Начало и Конец. Эти поля появляются, когда выбран данный тип преобразования.
          • replace – используется для замены указанной последовательности символов на другую последовательность символов. Когда выбран этот тип преобразования, появляются новые поля:
            • Символы на замену – в этом поле вы можете указать последовательность символов, которую следует заменить.
            • Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
          • trim – используется для удаления одновременно с начала и с конца значения поля события символов, указанных в поле Символы. Это поле появляется при выборе данного типа преобразования. Например, если для значения Microsoft-Windows-Sysmon выполнить преобразование trim со значением Micromon, то получается значение soft-Windows-Sys.
          • append – используется для добавления в конец значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
          • prepend – используется для добавления к началу значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
          • replace with regexp – используется для замены результатов регулярного выражения RE2 на последовательность символов.
            • Выражение – в этом поле вы можете указать регулярное выражение, результаты которого следует заменить.
            • Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
          • Конвертация закодированных строк в текст:
            • decodeHexString – используется для конвертации HEX-строки в текст.
            • decodeBase64String – используется для конвертации Base64-строки в текст.
            • decodeBase64URLString – используется для конвертации Base64url-строки в текст.

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

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

            Если длина раскодированной строки превышает размер поля события, в которое должно быть помещено раскодированное значение, такая строка будет обрезана до размера этого поля события.

      • шаблон

        Этот тип обогащения используется, если в поле события необходимо записать значение, полученное при обработке шаблонов Go. Параметры этого типа обогащения:

        • В поле Шаблон поместите шаблон Go.

          Имена полей событий передаются в формате {{.EventField}}, где EventField – это название поля события, значение которого должно быть передано в скрипт.

          Пример: Атака на {{.DestinationAddress}} со стороны {{.SourceAddress}}.

        • В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое следует поместить данные.
    • Отладка – с помощью этого раскрывающегося списка можно включить логирование операций сервиса.
    • Описание – описание ресурса. До 4000 символов в кодировке Unicode.
    • Блок параметров Фильтр – позволяет выбрать, какие события будут отправляться на обогащение. Настройка происходит, как описано выше.
  • Группа параметров Изменение категорий – используется для изменения категорий активов, указанных в событии. Правил категоризации может быть несколько: их можно добавить или удалить с помощью кнопок Добавить категоризацию или Удалить категоризацию. Активам можно добавлять или удалять только реактивные категории.
    • Действие – этот раскрывающийся список используется для выбора операции над категорией:
      • Добавить – присвоить категорию активу.
      • Удалить – отвязать актив от категории.
    • Поле события – поле события, в котором указан актив, над которым будет совершена операция.
    • Идентификатор категории – с помощью кнопки parent-category можно выбрать категорию, над которой будет совершена операция. При нажатии на нее открывается окно Выбор категорий, где отображается дерево категорий.

В начало
[Topic 221199]

Правила корреляции типа operational

Правила корреляции типа operational используются для работы с активными листами.

Окно правила корреляции содержит следующие закладки:

  • Общие – используется для указания основных параметров правила корреляции. На этой закладке можно выбрать тип правила корреляции.
  • Селекторы – используется для определения условий, которым должны удовлетворять обрабатываемые события для срабатывания правила корреляции. Доступные параметры зависят от выбранного типа правил.
  • Действия – используется для установки триггеров, срабатывающих при выполнении условий, заданных в группе настроек Селекторы. У правила корреляции должен быть хотя бы один триггер. Доступные параметры зависят от выбранного типа правил.

Закладка Общие

  • Название (обязательно) – уникальное имя для этого типа ресурса. Должно содержать от 1 до 128 символов в кодировке Unicode.
  • Тенант (обязательно) – тенант, которому принадлежит правило корреляции.
  • Тип (обязательно) – раскрывающийся список для выбора типа правила корреляции. Выберите operational, если хотите создать правило корреляции типа operational.
  • Частота срабатываний – максимальное количество срабатываний правила корреляции в секунду. Значение по умолчанию: 100.

    Если правила корреляции, в которых реализована сложная логика обнаружения закономерностей, не срабатывают, причиной могут быть особенности подсчета срабатываний правила в KUMA. Попробуйте увеличить значение Частота срабатываний, например, до 1000000.

  • Описание – описание ресурса. До 4000 символов в кодировке Unicode.

Закладка Селекторы

В правиле типа operational может быть только один селектор, для которого доступны закладки Параметры и Локальные переменные.

Закладка Параметры содержит параметры с блоком параметров Фильтр:

  • Фильтр (обязательно) – используется для установки критериев определения событий, из-за которых будет срабатывать селектор. В раскрывающемся списке можно выбрать существующий фильтр или Создать новый фильтр.

    Создание фильтра в ресурсах

    1. В раскрывающемся списке Фильтр выберите Создать.
    2. Если вы хотите сохранить фильтр в качестве отдельного ресурса, установите флажок Сохранить фильтр.

      В этом случае вы сможете использовать созданный фильтр в разных сервисах.

      По умолчанию флажок снят.

    3. Если вы установили флажок Сохранить фильтр, в поле Название введите название для создаваемого ресурса фильтра. Название должно содержать от 1 до 128 символов в кодировке Unicode.
    4. В блоке параметров Условия задайте условия, которым должны соответствовать события:
      1. Нажмите на кнопку Добавить условие.
      2. В раскрывающихся списках Левый операнд и Правый операнд укажите параметры поиска.

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

      3. В раскрывающемся списке оператор выберите нужный вам оператор.

        Операторы фильтров

        • = – левый операнд равен правому операнду.
        • < – левый операнд меньше правого операнда.
        • <= – левый операнд меньше или равен правому операнду.
        • > – левый операнд больше правого операнда.
        • >= – левый операнд больше или равен правому операнду.
        • inSubnet – левый операнд (IP-адрес) находится в подсети правого операнда (подсети).
        • contains – левый операнд содержит значения правого операнда.
        • startsWith – левый операнд начинается с одного из значений правого операнда.
        • endsWith – левый операнд заканчивается одним из значений правого операнда.
        • match – левый операнд соответствует регулярному выражению правого операнда. Используются регулярные выражения RE2.
        • hasBit – установлены ли в левом операнде (в строке или числе), биты, позиции которых перечислены в правом операнде (в константе или в списке).

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

          Если проверяемое значение – это строка, то производится попытка перевести ее в целое число и обработать указанным выше способом. Если перевести строку в число невозможно, фильтр возвращает False.

        • hasVulnerability – находится ли в левом операнде актив с уязвимостью и уровнем важности уязвимости, указанными в правом операнде.

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

        • inActiveList – этот оператор имеет только один операнд. Его значения выбираются в поле Ключевые поля и сравниваются с записями активного листа, выбранного в раскрывающемся списке активных листов.
        • inContextTable – существует ли запись в контекстной таблице. Этот оператор имеет только один операнд. Его значения выбираются в поле Ключевые поля и сравниваются со значениями записей контекстной таблицы, выбранной в раскрывающемся списке контекстных таблиц.
        • inDictionary – присутствует ли в указанном словаре запись, соответствующая ключу, составленному из значений выбранных полей события.
        • inCategory – активу в левом операнде назначена по крайней мере одна из категорий активов правого операнда.
        • inActiveDirectoryGroup – учетная запись Active Directory в левом операнде принадлежит одной из групп Active Directory в правом операнде.
        • TIDetect – этот оператор используется для поиска событий с данными CyberTrace Threat Intelligence (TI). Этот оператор можно использовать только на событиях, прошедших обогащение данными из CyberTrace Threat Intelligence, то есть только в коллекторах на этапе выбора точки назначения и в корреляторах.
      4. При необходимости установите флажок без учета регистра. В этом случае оператор игнорирует регистр значений.

        Действие флажка не распространяется на операторы InSubnet, InActiveList, InCategory, InActiveDirectoryGroup.

        По умолчанию флажок снят.

      5. Если вы хотите добавить отрицательное условие, в раскрывающемся списке Если выберите Если не.
      6. Вы можете добавить несколько условий или группу условий.
    5. Если вы добавили несколько условий или групп условий, выберите условие отбора (и, или, не), нажав на кнопку И.
    6. Если вы хотите добавить уже существующие фильтры, которые выбираются в раскрывающемся списке Выберите фильтр, нажмите на кнопку Добавить фильтр.

      Параметры вложенного фильтра можно просмотреть, нажав на кнопку edit-grey.

    Фильтрация по данным из поля события Extra

    Условия для фильтров по данным из поля события Extra:

    • Условие – Если.
    • Левый операнд – поле события.
    • В поле события вы можете указать одно из следующих значений:
      • Поле Extra.
      • Значение из поля Extra в следующем формате:

        Extra.<название поля>

        Например, Extra.app.

        Значение этого типа указывается вручную.

      • Значение из массива, записанного в поле Extra, в следующем формате:

        Extra.<название поля>.<элемент массива>

        Например, Extra.array.0.

        Нумерация значений в массиве начинается с 0.

        Значение этого типа указывается вручную.

        Чтобы работать со значением из поля Extra на глубине 3 и ниже, следует использовать кавычки ``. Например, `Extra.lev1.lev2.lev3`.

    • Оператор – =.
    • Правый операнд – константа.
    • Значение – значение, по которому требуется фильтровать события.

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

Закладка Действия

В правиле типа operational может быть только один триггер: На каждом событии. Он активируется каждый раз, когда срабатывает селектор.

Доступные параметры триггера:

  • Группа параметров Обновление активных листов – используется для назначения триггера на одну или несколько операций с активными листами. С помощью кнопок Добавить действие с активным листом и Удалить действие с активным листом можно добавлять и удалять операции с активными листами.

    Доступные параметры:

    • Название (обязательно) – этот раскрывающийся список используется для выбора активного листа.
    • Операция (обязательно) – этот раскрывающийся список используется для выбора операции, которую необходимо выполнить:
      • Получить – получить запись активного листа и записать значения указанных полей в корреляционное событие.
      • Установить – записать значения указанных полей корреляционного события в активный лист, создав новую или обновив существующую запись активного листа. При обновлении записи активного листа данные объединяются, и только указанные поля перезаписываются.
      • Удалить – удалить запись из активного листа.
    • Ключевые поля (обязательно) – это список полей события, используемые для создания записи активного листа. Этот список также используется в качестве ключа записи активного листа.

      Ключ записи активного листа зависит только от состава полей и не зависит от порядка их отображения в веб-интерфейсе KUMA.

    • Сопоставление (требуется для операций Получить и Установить) – используется для сопоставления полей активного листа с полями событий. Можно установить более одного правила сопоставления.
      • Левое поле используется для указания поля активного листа.

        Поле не должно содержать специальные символы или только цифры.

      • Средний раскрывающийся список используется для выбора полей событий.
      • Правое поле можно использовать для назначения константы полю активного листа, если была выбрана операция Установить.
В начало
[Topic 221203]

Переменные в корреляторах

Если для покрытия каких-то сценариев обеспечения безопасности недостаточно отслеживания значений в полях событий, активных листах или словарях, вы можете воспользоваться глобальными и локальными переменными. С их помощью можно выполнять различные действия над поступающими в корреляторы значениями, реализуя сложную логику выявления угроз. Переменные можно объявить в корреляторе (глобальные переменные) или в правиле корреляции (локальные переменные), присвоив им какую-либо функцию, а затем обращаться к ним из правил корреляции, как к обычным полям событий, получая в ответ результат срабатывания функции.

Область применения переменных:

К переменным можно обращаться так же, как к полям события, предваряя их название символом $.

В этом разделе

Локальные переменные в группирующих и уникальных полях

Локальные переменные в селекторе

Локальные переменные в обогащении событий

Локальные переменные в обогащении активных листов

Свойства переменных

Требования к переменным

Функции переменных

Объявление переменных

В начало
[Topic 234114]

Локальные переменные в группирующих и уникальных полях

Вы можете использовать локальные переменных в разделах Группирующие поля и Уникальные поля правил корреляции типа standard. Для использования локальной переменной необходимо перед ее именем указывать символ "$".

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

В начало
[Topic 260640]

Локальные переменные в селекторе

Чтобы использовать локальную переменную в селекторе:

  1. Добавьте локальную переменную в правило.
  2. В окне Правила корреляции перейдите на вкладку Общие и добавьте созданную локальную переменную в раздел Группирующие поля. Перед именем локальной переменной укажите символ "$".
  3. В окне Правила корреляции перейдите на вкладку Селекторы, выберите существующий фильтр или создайте новый и нажмите на кнопку Добавить условие.
  4. В качестве операнда выберите поле события.
  5. В качестве значения поля события укажите локальную переменную и укажите символ "$" перед именем переменной.
  6. Укажите остальные параметры фильтра.
  7. Нажмите Сохранить.

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

В начало
[Topic 260641]

Локальные переменные в обогащении событий

Вы можете использовать правила корреляции типа standard и simple для обогащения событий с помощью локальных переменных.

Обогащение текстом и числами

Обогащение событий можно выполнять с помощью текста (строк). Для этого могут быть использованы функции, позволяющие модифицировать строки: to_lower, to_upper, str_join, append, prepend, substring, tr, replace, str_join.

Обогащение событий можно выполнять с помощью чисел. Для этого могут быть использованы функции: сложение (оператор "+"), вычитание (оператор "-"), умножение (оператор "*"), деление (оператор "/"), round, ceil, floor, abs, pow.

Также для работы с данными в локальных переменных могут быть использованы регулярные выражения.

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

Обогащение временных отметок

Обогащение событий можно выполнять с помощью временных отметок (даты и времени). Для этого могут быть использованы функции, позволяющие получать или модифицировать временные метки: now, extract_from_timestamp, parse_timestamp, format_timestamp, truncate_timestamp, time_diff.

Операции с активными списками и таблицами

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

Для обогащения событий данными из активного списка необходимо воспользоваться функциями active_list, active_list_dyn.

Для обогащения событий данными из таблицы необходимо воспользоваться функциями table_dict, dict.

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

Использование локальной переменной для обогащения событий

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

  1. Добавьте локальную переменную в правило.
  2. В окне Правила корреляции перейдите на вкладку Общие и добавьте созданную локальную переменную в раздел Группирующие поля. Перед именем локальной переменной укажите символ "$".
  3. В окне Правила корреляции перейдите на вкладку Действия и в группе параметров Обогащение в раскрывающемся списке Тип источника данных выберите событие.
  4. В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое необходимо передать значение локальной переменной.
  5. В раскрывающемся списке Исходное поле выберите локальную переменную. Перед именем локальной переменной укажите символ "$".
  6. Укажите остальные параметры правила.
  7. Нажмите Сохранить.
В начало
[Topic 260642]

Локальные переменные в обогащении активных листов

Вы можете использовать локальные переменные для обогащения активных листов.

Чтобы выполнить обогащение активного списка при помощи локальной переменной:

  1. Добавьте локальную переменную в правило.
  2. В окне Правила корреляции перейдите на вкладку Общие и добавьте созданную локальную переменную в раздел Группирующие поля. Перед именем локальной переменной укажите символ "$".
  3. В окне Правила корреляции перейдите на вкладку Действия и в группе параметров Обновление активных листов добавьте локальную переменную в поле Ключевые поля. Перед именем локальной переменной укажите символ "$".
  4. В группе параметров Сопоставление укажите соответствие между полями события и полями активного списка.
  5. Нажмите на кнопку Сохранить.
В начало
[Topic 260644]

Свойства переменных

Локальные и глобальные переменные

Свойства глобальных и локальных переменных различаются.

Глобальные переменные:

  • Глобальные переменные объявляются на уровне коррелятора и действуют только в пределах этого коррелятора.
  • К глобальным переменным коррелятора можно обращаться из всех правил корреляции, которые в нем указаны.
  • В правилах корреляции типа standard одна и та же глобальная переменная в каждом селекторе может принимать разные значения.
  • Невозможно переносить глобальные переменные между разными корреляторами.

Локальные переменные:

  • Локальные переменные объявляются на уровне правила корреляции и действуют только в пределах этого правила.
  • В правилах корреляции типа standard областью действия локальной переменной является только тот селектор, в котором переменная была объявлена.
  • Локальные переменные можно объявлять в любых типах правил корреляции.
  • Невозможно переносить локальные переменные между правилами или селекторами.
  • Локальная переменная не может быть использована в качестве глобальной переменной.

Переменные в разных типах правил корреляции

  • В правилах корреляции типа operational в закладке Действия можно указывать все доступные или объявленные в этом правиле переменные.
  • В правилах корреляции типа standard в закладке Действия можно указывать только переменные, указанные в этих правилах на закладке Общие в поле Группирующие поля.
  • В правилах корреляции типа simple в закладке Действия можно указывать только переменные, указанные в этих правилах на закладке Общие в поле Наследуемые поля.

В начало
[Topic 234737]

Требования к переменным

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

Требования к названиям функций:

  • Должно быть уникально в рамках коррелятора.
  • Должно содержать от 1 до 128 символов в кодировке Unicode.
  • Не может начинаться с символа $.
  • Должно быть написано в camelCase или CamelCase.

Особенности указания функций переменных:

  • Последовательность указания параметров имеет значение.
  • Параметры передаются через запятую: ,.
  • Строковые параметры передаются в одинарных кавычках: '.
  • Наименования полей событий и переменные указываются без кавычек.
  • При обращении к переменной как параметру перед ее названием необходимо добавлять символ $.
  • Ставить пробел между параметрами необязательно.
  • Во всех функциях, где в качестве параметров допускается использование переменной, допускается создавать вложенные функции.
В начало
[Topic 234739]

Функции переменных

Операции с активными листами и словарями

Функции "active_list" и "active_list_dyn"

Функции позволяют получать информацию из активного листа и динамически формировать имя поля активного листа и ключа.

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

  1. название активного листа;
  2. выражение, возвращающее название поля активного листа;
  3. одно или несколько выражений, из результатов которых будет составлен ключ.

    Пример использования

    Результат выполнения

    active_list('Test', to_lower('DeviceHostName'), to_lower(DeviceCustomString2), to_lower(DeviceCustomString1))

    Получение значения поля активного листа.

С помощью этих функций из переменной можно обратиться к активному листу общего тенанта. Для этого после названия активного листа необходимо добавить суффикс @Shared (регистр имеет значение). Например, active_list('exampleActiveList@Shared', 'score', SourceAddress,SourceUserName).

Функция "table_dict"

Получение информации о значении в указанном столбце словаря типа таблица.

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

  1. название словаря;
  2. название столбца словаря;
  3. одно или несколько выражений, из результатов которых будет составлен ключ строки словаря.

    Пример использования

    Результат выполнения

    table_dict('exampleTableDict', 'office', SourceUserName)

    Получение данных из словаря exampleTableDict из строки с ключом SourceUserName из столбца office.

    table_dict('exampleTableDict', 'office', SourceAddress, to_lower(SourceUserName))

    Получение данных из словаря exampleTableDict из строки с составным ключом из значения поля SourceAddress и значения поля SourceUserName в нижнем регистре из столбца office.

С помощью этой функции из переменной можно обратиться к словарю общего тенанта. Для этого после названия активного листа необходимо добавить суффикс @Shared (регистр имеет значение). Например, table_dict('exampleTableDict@Shared', 'office', SourceUserName).

Функция "dict"

Получение информации о значении в указанном столбце словаря типа словарь.

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

  1. название словаря;
  2. одно или несколько выражений, из результатов которых будет составлен ключ строки словаря.

    Пример использования

    Результат выполнения

    dict('exampleDictionary', SourceAddress)

    Получение данных из словаря exampleDictionary из строки с ключом SourceAddress.

    dict('exampleDictionary', SourceAddress, to_lower(SourceUserName))

    Получение данных из словаря exampleDictionary из строки с составным ключом из значения поля SourceAddress и значения поля SourceUserName в нижнем регистре.

С помощью этой функции из переменной можно обратиться к словарю общего тенанта. Для этого после названия активного листа необходимо добавить суффикс @Shared (регистр имеет значение). Например, dict('exampleDictionary@Shared', SourceAddress).

Операции со строками

Функция "len"

Возвращает число символов в строке.

Строку можно передать строкой, названием поля или переменной.

Примеры использования

len('SomeText')

len(Message)

len($otherVariable)

Функция "to_lower"

Перевод символов в строке в нижний регистр.

Строку можно передать строкой, названием поля или переменной.

Примеры использования

to_lower(SourceUserName)

to_lower('SomeText')

to_lower($otherVariable)

Функция "to_upper"

Перевод символов в строке в верхний регистр. Строку можно передать строкой, названием поля или переменной.

Примеры использования

to_upper(SourceUserName)

to_upper('SomeText')

to_upper($otherVariable)

Функция "append"

Добавление символов в конец строки.

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

  1. исходная строка;
  2. добавляемая строка.

Строки можно передать строкой, названием поля или переменной.

Примеры использования

Результат использования

append(Message, '123')

Строка из поля Message, в конце которой добавлена строка 123.

append($otherVariable, 'text')

Строка из переменной otherVariable, в конце которой добавлена строка text.

append(Message, $otherVariable)

Строка из поля Message, в конце которой добавлена строка из переменной otherVariable.

Функция "prepend"

Добавление символов в начало строки.

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

  1. исходная строка;
  2. добавляемая строка.

Строки можно передать строкой, названием поля или переменной.

Примеры использования

Результат использования

prepend(Message, '123')

Строка из поля Message, в начало которой добавлена строка 123.

prepend($otherVariable, 'text')

Строка из переменной otherVariable, в начало которой добавлена строка text.

prepend(Message, $otherVariable)

Строка из поля Message, в начало которой добавлена строка из переменной otherVariable.

Функция "substring"

Возвращает подстроку из строки. 

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

  1. исходная строка;
  2. позиция начала подстроки (натуральное число или 0);
  3. (необязательно) позиция конца подстроки.

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

Примеры использования

Результат использования

substring(Message, 2)

Возвращает часть строки из поля Message: от 3 символа до конца.

substring($otherVariable, 2, 5)

Возвращает часть строки из переменной otherVariable: от 3 до 6 символа.

substring(Message, 0, len(Message) - 1)

Возвращает всю строку из поля Message, кроме последнего символа.

Функция "tr"

Убирает из начала и конца строки указанные символы.

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

  1. исходная строка;
  2. (необязательно) строка, которую следует удалить из начала и конца исходной строки.

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

Примеры использования

Результат использования

tr(Message)

В начале и в конце строки из поля Message удалены пробелы.

tr($otherVariable, '_')

Если переменной otherVariable соответствует значение _test_, будет возвращена строка test.

tr(Message, '@example.com')

Если в поле события Message находится строка user@example.com, будет возвращена строка user.

Функция "replace"

Замена в строке всех вхождений последовательности символов А на последовательность символов B.

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

  1. исходная строка;
  2. строка поиска: последовательность символов, подлежащая замене;
  3. строка замены: последовательность символов, на которую необходимо заменить строку поиска.

Строки можно передать выражением.

Примеры использования

Результат использования

replace(Name, 'UserA', 'UserB')

Возвращается строка из поля события Name, в которой все вхождения UserA заменены на UserB.

replace($otherVariable, ' text ', '_text_')

Возвращается строка из переменной otherVariable, в которой все вхождения ' text ' заменены на '_text_'.

Функция "regexp_replace"

Замена в строке последовательности символов, удовлетворяющих регулярному выражению, на последовательность символов и группы захвата регулярного выражения.

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

  1. исходная строка;
  2. строка поиска: регулярное выражение;
  3. строка замены: последовательность символов, на которую необходимо заменить строку поиска, и идентификаторы групп захвата регулярного выражения. Строку можно передать выражением.

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

В регулярных выражениях, используемых в функциях переменных, каждый символ обратной косой черты необходимо дополнительно экранировать. Например, вместо регулярного выражения ^example\\ необходимо указывать выражение ^example\\\\.

Примеры использования

Результат использования

regexp_replace(SourceAddress, '([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})', 'newIP: $1.$2.$3.10')

Возвращается строка из поля события SourceAddress, в которой перед IP-адресами вставлен текст newIP. Также последние цифры адреса заменены на 10.

Функция "regexp_capture"

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

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

  1. исходная строка;
  2. строка поиска: регулярное выражение.

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

В регулярных выражениях, используемых в функциях переменных, каждый символ обратной косой черты необходимо дополнительно экранировать. Например, вместо регулярного выражения ^example\\ необходимо указывать выражение ^example\\\\.

Примеры использования

Примеры значений

Результат использования

regexp_capture(Message, '(\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3})')

Message = 'Access from 192.168.1.1 session 1'

Message = 'Access from 45.45.45.45 translated address 192.168.1.1 session 1'

'192.168.1.1'

'45.45.45.45'

Операции с метками времени

Функция now

Получение временной метки в формате epoch. Запускается без аргументов.

Примеры использования

now()

Функция "extract_from_timestamp"

Получение атомарных представлений времени (в виде год, месяц, день, час, минута, секунда, день недели) из полей и переменных с временем в формате epoch.

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

  1. Поле события, имеющего тип timestamp, или переменная.
  2. Обозначение атомарного представления времени. Параметр регистрозависимый.

    Возможные варианты обозначения атомарного времени:

    • y – год в виде числа.
    • M – месяц, числовое обозначение.
    • d – число месяца.
    • wd – день недели: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.
    • h – часы в 24-часовом формате.
    • m – минуты.
    • s – секунды.
  3. (необязательно) Обозначение часового пояса. Если параметр не указан, время высчитывается в формате UTC.

    Примеры использования

    extract_from_timestamp(Timestamp, 'wd')

    extract_from_timestamp(Timestamp, 'h')

    extract_from_timestamp($otherVariable, 'h')

    extract_from_timestamp(Timestamp, 'h', 'Europe/Moscow')

Функция "parse_timestamp"

Представление времени из формата RFC3339 (например, "2022-05-24 00:00:00", "2022-05-24 00:00:00+0300) в формат epoch.

Примеры использования

parse_timestamp(Message)

parse_timestamp($otherVariable)

Функция "format_timestamp"

Представление времени из формата epoch в формат RFC3339.

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

  1. Поле события, имеющего тип timestamp, или переменная.
  2. Обозначение формата времени: RFC3339.
  3. (необязательно) Обозначение часового пояса. Если параметр не указан, время высчитывается в формате UTC.

    Примеры использования

    format_timestamp(Timestamp, 'RFC3339')

    format_timestamp($otherVariable, 'RFC3339')

    format_timestamp(Timestamp, 'RFC3339', 'Europe/Moscow')

Функция "truncate_timestamp"

Округление времени в формате epoch. После округления время возвращается в формате epoch. Время округляется в меньшую сторону.

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

  1. Поле события, имеющего тип timestamp, или переменная.
  2. Параметр округления:
    • 1s – округление до секунд;
    • 1m – округление до минут;
    • 1h – округление до часов;
    • 24h – округление до суток.
  3. (необязательно) Обозначение часового пояса. Если параметр не указан, время высчитывается в формате UTC.

    Примеры использования

    Примеры округляемых значений

    Результат использования

    truncate_timestamp(Timestamp, '1m')

    1654631774175 (7 June 2022 г., 19:56:14.175)

    1654631760000 (7 June 2022 г., 19:56:00)

    truncate_timestamp($otherVariable, '1h')

    1654631774175 (7 June 2022 г., 19:56:14.175)

    1654628400000 (7 June 2022 г., 19:00:00)

    truncate_timestamp(Timestamp, '24h', 'Europe/Moscow')

    1654631774175 (7 June 2022 г., 19:56:14.175)

    1654560000000 (7 June 2022 г., 0:00:00)

Функция "time_diff"

Получение интервала времени между двумя метками времени в формате epoch.

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

  1. Время конца отрезка. Поле события, имеющего тип timestamp, или переменная.
  2. Время начала отрезка. Поле события, имеющего тип timestamp, или переменная.
  3. Представление временного интервала:
    • ms – в миллисекундах;
    • s – в секундах;
    • m – в минутах;
    • h – в часах;
    • d – в днях.

    Примеры использования

    time_diff(EndTime, StartTime, 's')  

    time_diff($otherVariable, Timestamp, 'h')

    time_diff(Timestamp, DeviceReceiptTime, 'd')

Математические операции

Представлены как простейшими математическими операциями, так и функциями.

Простейшие математические операции

Операции:

  • сложение;
  • вычитание;
  • умножение;
  • деление;
  • деление по модулю.

Использование круглых скобок определяет последовательность действий

Доступные аргументы:

  • числовые поля события;
  • числовые переменные;
  • вещественные числа.

    При делении по модулю в качестве аргументов можно использовать только натуральные числа.

Ограничения использования:

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

    Примеры использования

    (Type=3; otherVariable=2; Message=text)

    Результат использования

    Type + 1

    4

    $otherVariable - Type

    -1

    2 * 2.5

    5

    2 / 0

    0

    Type * Message

    0

    (Type + 2) * 2

    10

    Type % $otherVariable

    1

Функция "round"

Округление чисел. 

Доступные аргументы:

  • числовые поля события;
  • числовые переменные;
  • числовые константы.

    Примеры использования

    (DeviceCustomFloatingPoint1=7.75; DeviceCustomFloatingPoint2=7.5 otherVariable=7.2)

    Результат использования

    round(DeviceCustomFloatingPoint1)

    8

    round(DeviceCustomFloatingPoint2)

    8

    round($otherVariable)

    7

Функция "ceil"

Округление чисел в большую сторону.

Доступные аргументы:

  • числовые поля события;
  • числовые переменные;
  • числовые константы.

    Примеры использования

    (DeviceCustomFloatingPoint1=7.15; otherVariable=8.2)

    Результат использования

    ceil(DeviceCustomFloatingPoint1)

    8

    ceil($otherVariable)

    9

Функция "floor"

Округление чисел в меньшую сторону.

Доступные аргументы:

  • числовые поля события;
  • числовые переменные;
  • числовые константы.

    Примеры использования

    (DeviceCustomFloatingPoint1=7.15; otherVariable=8.2)

    Результат использования

    floor(DeviceCustomFloatingPoint1)

    7

    floor($otherVariable)

    8

Функция "abs"

Получение числа по модулю.

Доступные аргументы:

  • числовые поля события;
  • числовые переменные;
  • числовые константы.

    Примеры использования

    (DeviceCustomNumber1=-7; otherVariable=-2)

    Результат использования

    abs(DeviceCustomFloatingPoint1)

    7

    abs($otherVariable)

    2

Функция "pow"

Возведение числа в степень.

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

  1. База – вещественные числа.
  2. Степень – натуральные числа.

Доступные аргументы:

  • числовые поля события;
  • числовые переменные;
  • числовые константы.

    Примеры использования

    pow(DeviceCustomNumber1, DeviceCustomNumber2)

    pow($otherVariable, DeviceCustomNumber1)

Функция "str_join"

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

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

  1. Разделитель. Строка.
  2. Строка1, строка2, строкаN. Минимум 2 выражения.

    Примеры использования

    Результат использования

    str_join('|', to_lower(Name), to_upper(Name), Name)

    Строка.

Функция "conditional"

Позволяет получить одно значения в случае выполнения условия и другое значение, если условие не выполнится.

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

  1. Условие. Строка. Синтаксис аналогичен условиям в SQL Where. В условии можно использовать функции переменных KUMA и ссылаться на другие переменные.
  2. Значение при выполнении условия. Выражение.
  3. Значение при невыполнении условия. Выражение.

Поддерживаемые операторы:

  • AND
  • OR
  • NOT
  • =
  • !=
  • <
  • <=
  • >
  • >=
  • LIKE (передается регулярное выражение RE2, а не SQL-выражение)
  • ILIKE (передается регулярное выражение RE2, а не SQL-выражение)
  • BETWEEN
  • IN
  • IS NULL (проверка на пустое значение, например 0 или пустую строку)

    Примеры использования (значение зависит от аргументов 2 и 3)

    conditional('SourceUserName = \\'root\\' AND DestinationUserName = SourceUserName', 'match', 'no match')

    conditional(`DestinationUserName ILIKE 'svc_.*'`, 'match', 'no match')

    conditional(`DestinationUserName NOT LIKE 'svc_.*'`, 'match', 'no match')

В начало
[Topic 234740]

Объявление переменных

Для объявления переменных их необходимо добавить в коррелятор или правило корреляции.

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

  1. В веб-интерфейсе KUMA в разделе РесурсыКорреляторы выберите набор ресурсов нужного коррелятора.

    Откроется мастер установки коррелятора.

  2. Выберите шаг мастера установки Глобальные переменные.
  3. Нажмите на кнопку Добавить переменную и укажите следующие параметры:

    Переменных можно добавить несколько. Добавленные переменные можно изменить или удалить с помощью значка cross.

  4. Выберите шаг мастера установки Проверка параметров и нажмите Сохранить.

Глобальная переменная добавлена в коррелятор. К ней можно обращаться, как к полю события, указывая перед названием переменной символ $. Переменная будет использоваться при корреляции после перезапуска сервиса коррелятора.

Чтобы добавить локальную переменную в существующее правило корреляции:

  1. В веб-интерфейсе KUMA в разделе РесурсыПравила корреляции выберите нужное правило корреляции.

    Откроется окно параметров правила корреляции. Параметры правила корреляции можно также открыть из коррелятора, в которое оно было добавлено, перейдя на шаг мастера установки Корреляция.

  2. Откройте закладку Селекторы.
  3. В селекторе откройте закладку Локальные переменные, нажмите на кнопку Добавить переменную и укажите следующие параметры:

    Переменных можно добавить несколько. Добавленные переменные можно изменить или удалить с помощью значка cross.

    Для правил корреляции типа standard повторите этот шаг для каждого селектора, в которым вы хотите объявить переменные.

  4. Нажмите Сохранить.

Локальная переменная добавлена в правило корреляции. К ней можно обращаться, как к полю события, указывая перед названием переменной символ $. Переменная будет использоваться при корреляции после перезапуска сервиса коррелятора.

Добавленные переменные можно изменить или удалить. Если правило корреляции обращается к необъявленной переменной (например, если ее название было изменено), в качестве результата возвращается пустая строка.

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

В начало
[Topic 234738]

Предустановленные правила корреляции

В поставку KUMA включены перечисленные в таблице ниже правила корреляции.

Предустановленные правила корреляции

Название правила корреляции

Описание

[OOTB] KATA alert

Используется для обогащения событий KATA.

[OOTB] Successful Bruteforce

Срабатывает после выявления успешной попытки аутентификации после множества неуспешных попыток аутентификации. Правило работает на основе событий демона sshd.

[OOTB][AD] Account created and deleted within a short period of time

Выявляет факты создания и последующего удаления учётных записей на хостах на базе ОС Microsoft Windows.

[OOTB][AD] An account failed to log on from different hosts

Выявляет множественные неуспешные попытки аутентификации на различных хостах.

[OOTB][AD] Granted TGS without TGT (Golden Ticket)

Выявляет подозрения на атаку типа "Golden Ticket". Правило работает на основе событий ОС Microsoft Windows.

[OOTB][AD][Technical] 4768. TGT Requested

Техническое правило, используется для формирования активного списка – [OOTB][AD] List of requested TGT. EventID 4768. Правило работает на основе событий ОС Microsoft Windows.

[OOTB][AD] Membership of sensitive group was modified

Работает на базе событий ОС Microsoft Windows.

[OOTB][AD] Multiple accounts failed to log on from the same host

Срабатывает после выявления множественных неуспешных попыток аутентификации на одном хосте от имени разных учётных записей.

[OOTB][AD] Possible Kerberoasting attack

Выявляет подозрения на атаки типа "Kerberoasting". Правило работает на основе событий ОС Microsoft Windows.

[OOTB][AD] Successful authentication with the same account on multiple hosts

Выявляет подключения на разные хосты под одной учётной записью. Правило работает на основе событий ОС Microsoft Windows.

[OOTB][AD] The account added and deleted from the group in a short period of time

Выявляет добавление и последующее удаление пользователя из группы. Правило работает на основе событий ОС Microsoft Windows.

[OOTB][Net] Possible port scan

Выявляет подозрения на сканирование порта. Правило работает на основе событий Netflow, Ipfix.

В начало
[Topic 250832]