Создание коррелятора correlator-ng
Коррелятор correlator-ng – это компонент OSMP, предназначенный для корреляции и обработки событий из различных источников. Он позволяет фильтровать, объединять и анализировать события с помощью правил корреляции, селекторов и выражений.
В текущей версии Kaspersky EDR Expert представлена бета-версия correlator-ng, которая предназначена для ознакомления. До выхода полнофункциональной версии коррелятора API методы, алгоритмы, синтаксис условий и другие функции и характеристики могут быть изменены.
В текущей версии коррелятор управляется только через YAML-конфигурацию. После первичного получения конфигурации от Ядра KUMA дальнейшее изменение параметров происходит напрямую в файлах, без возможности использовать веб-интерфейс OSMP для управления коррелятором.
Correlator-ng не является полностью совместимой заменой стандартной модели коррелятора.
Основные отличия:
- Новый синтаксис правил и селекторов, совместимый с SQL‑подобными выражениями и функциями.
- Поддержка join-селекторов: события разных селекторов сравниваются параллельно в порядке их поступления.
- Возможность использования атрибута
anyMatchдля срабатывания правила корреляции, если хотя бы один селектор достиг своего порогового значения. - Расширенный набор функций для работы с типами данных, массивами, строками, временными метками и CyberTrace‑полями.
- Более строгая типизация выражений и автоматическое приведение значений полей и переменных к необходимому типу для правильного выполнения операций.
- Изменен синтаксис регулярных выражений: в correlator-ng используется синтаксис PCRE-like, а в стандартной модели коррелятора используется RE2.
Ограничения correlator-ng
У текущей реализации correlator-ng есть ряд ограничений:
- Коррелятор не может автоматически классифицировать активы на основе поступающих событий и не поддерживает действия, которые обычно выполняются при срабатывании правил реагирования.
- Коррелятор не может автоматически обогащать события дополнительными данными из внешних источников, таких как DNS-запросы, скрипты для вычислений и проверок, система CyberTrace.
- Поддерживаются только точки назначения типа storage, correlator, internal, у которых отсутствует дисковый буфер.
- Поле
S.KL_EventRouteне добавляется к корреляционному событию. - Коррелятор не может обогащать корреляционное событие дополнительными полями
SourceAssetKSCInstanceID,SourceAssetKSCHostID,DestinationAssetKSCInstanceID,DestinationAssetKSCHostID,DeviceAssetKSCInstanceID,DeviceAssetKSCHostIDKSC,S.KL_SourceAccountDisplayName,S.KL_DestinationAccountDisplayName. - Поддержка шаблонов неполная: некоторые шаблоны могут не обрабатываться, функции типа
to_stringработают не во всех случаях. - Доступно ограниченное количество метрик.
- Параметр
debugне изменяет уровень журналирования. - Содержимое контейнеров можно экспортировать только в формате JSON. Импорт и поиск по содержимому контейнеров недоступны.
- Сбор и анализ статистики работы коррелятора для оптимизации производительности не поддерживается.
- Регулярные выражения не поддерживают конструкции типа
(?=...)и(?<=...). - Ссылки на активные листы, контекстные таблицы, словари и категории активов должны задаваться через уникальные идентификаторы, а не через имена.