Функции обработки данных в корреляторе-ng
В текущей версии Kaspersky Symphony XDR представлена бета-версия correlator-ng, которая предназначена для ознакомления. До выхода полнофункциональной версии коррелятора API методы, алгоритмы, синтаксис условий и другие функции и характеристики могут быть изменены.
В correlator-ng функции используются в селекторах и переменных для работы с данными событий, преобразования типов данных и фильтрации.
Общие правила синтаксиса:
- Обязательные аргументы заключаются в
<>, опциональные – в[]. - Неопределенное число аргументов обозначается
.... - Тип возвращаемого значения указывается как
-><тип данных>. Если указаноT, тип зависит от типа аргументов. - Тип аргументов может быть конкретным (например,
String,I64.) илиT, означающим любой доступный тип данных.
Функции для приведения типа данных
Используются для приведения значений к нужному типу данных.
Функции для приведения типа данных
| Функция | Описание |
|---|---|
|
| Преобразует значение в строку. |
|
| Преобразует значение в целое число (I64). |
|
| Преобразует значение в число с плавающей точкой (F64). |
|
| Преобразует значение в UUIDv4. |
|
| Преобразует значение в IP (v4 или v6). |
|
| Преобразует значение в подсеть IPNet. |
|
| Преобразует значение в логический тип. |
|
| Преобразует значение во временную метку с возможностью указания часового пояса. |
Функции для сравнения значений
Функции для сравнения значений
| Функция | Описание |
|---|---|
|
| Проверяет, совпадает ли левое значение с правым без учета регистра. |
|
| Проверяет, совпадает ли одно из правых значений с левым. |
|
| Сравнивает левое значение с множеством правых без учета регистра. |
|
| Проверяет вхождение правого значения в левое. |
|
| Проверяет вхождение правого значения в левое без учета регистра. |
|
| Проверяет вхождение любого из правых значений в левое. |
|
| Проверяет вхождение любого из правых значений в левое без учета регистра. |
|
| Проверяет, является ли правое значение префиксом левого. |
|
| Проверяет префикс без учета регистра. |
|
| Проверяет, является ли одно из правых значений префиксом левого. |
|
| Проверяет префикс без учета регистра для одного из правых значений. |
|
| Проверяет, является ли правое значение суффиксом левого. |
|
| Проверяет суффикс без учета регистра. |
|
| Проверяет, является ли одно из правых значений суффиксом левого. |
|
| Проверяет суффикс без учета регистра. |
|
| Проверяет, совпадает ли левое значение с регулярным выражением справа. |
|
| Проверяет, совпадает ли левое значение с одним из регулярных выражений справа. |
Функции для работы с активными листами, словарями и контекстными таблицами
Функции для работы с активными листами, словарями и контекстными таблицами
| Функция | Описание |
|---|---|
|
| Проверяет наличие значения в активном листе по ключу. |
|
| Проверяет наличие значения в контекстной таблице по ключу. |
|
| Проверяет наличие значения в словаре по ключу. |
|
| Возвращает значение из словаря по ключу. |
|
| Возвращает значение из словаря-таблицы. |
|
| Возвращает значение из активного листа. |
|
| Возвращает значение поля из контекстной таблицы. |
|
| Возвращает элемент массива из контекстной таблицы. |
|
| Возвращает значение из активного листа, если ключ совпадает с регулярным выражением. |
|
| Возвращает значение из контекстной таблицы при совпадении с регулярным выражением. |
|
| Возвращает значение из словаря при совпадении с регулярным выражением. |
Функции работы с подсетями
Функции работы с подсетями
| Функция | Описание |
|---|---|
|
| Проверяет принадлежность IP-адреса подсети. |
|
| Проверяет принадлежность IP-адреса одной из подсетей. |
|
| Проверяет принадлежность IP-адреса подсети из активного листа. |
|
| Проверяет принадлежность IP-адреса подсети из контекстной таблицы. |
|
| Проверяет принадлежность IP-адреса подсети из словаря. |
Функции обработки строк
Функции обработки строк
| Функция | Описание |
|---|---|
|
| Приводит строку к нижнему регистру. |
|
| Приводит строку к верхнему регистру. |
|
| Возвращает подстроку. |
|
| Возвращает позицию первого вхождения. |
|
| Возвращает позицию последнего вхождения. |
|
| Удаляет пробельные символы в начале и конце строки. |
|
| Заменяет подстроку. |
|
| Выполняет замену с использованием регулярного выражения. |
|
| Извлекает подстроку по регулярному выражению. |
|
| Объединяет несколько строк. |
Функции работы с массивами
Функции работы с массивами
| Функция | Описание |
|---|---|
|
| Добавляет значение в конец массива или строки. |
|
| Добавляет значение в начало массива или строки. |
|
| Возвращает длину строки или массива. |
|
| Возвращает элемент массива по индексу. |
|
| Удаляет дубликаты элементов массива. |
|
| Сортирует элементы в массиве. |
Функции работы с временными метками
Функции работы с временными метками
| Функция | Описание |
|---|---|
|
| Возвращает текущую временную метку. |
|
| Возвращает год. |
|
| Возвращает номер месяца. |
|
| Возвращает месяц в строковом виде. |
|
| Возвращает номер дня недели. |
|
| Возвращает день недели в строковом виде. |
|
| Возвращает день месяца. |
|
| Возвращает час. |
|
| Возвращает минуту. |
|
| Возвращает секунду. |
|
| Возвращает миллисекунду. |
|
| Преобразует временную метку в строку. |
|
| Округляет временную метку до целого значения. |
Функции вычисления времени
Функции вычисления времени
| Функция | Описание |
|---|---|
|
| Возвращает разницу в днях. |
|
| Возвращает разницу в часах. |
|
| Возвращает разницу в минутах. |
|
| Возвращает разницу в секундах. |
|
| Возвращает разницу в миллисекундах. |
Математические функции
Математические функции
| Функция | Описание |
|---|---|
|
| Округляет значение до ближайшего целого. |
|
| Округляет значение вверх. |
|
| Округляет значение вниз. |
|
| Возвращает модуль числа. |
|
| Возводит число в степень. |
|
| Возвращает минимальный элемент массива. |
|
| Возвращает максимальный элемент массива. |
|
| Вычисляет среднее значение массива. |
Функции декодирования и анализа данных
Функции декодирования и анализа данных
| Функция | Описание |
|---|---|
|
| Преобразует hex-строку в число. |
|
| Декодирует hex-строку. |
|
| Декодирует строку Base64. |
|
| Декодирует URL-кодированную строку. |
|
| Вычисляет энтропию Шеннона строки. |
|
| Проверяет, установлен ли бит в указанной позиции. |
|
| Проверяет наличие уязвимости у актива. |
Другие функции
Другие функции
| Функция | Описание |
|---|---|
|
| Использует заранее определенные предикаты из файла selector-includes.yaml. |
|
| Извлекает значение из специализированного поля TI (CyberTrace). |
|
| Может использоваться только в атрибуте |
|
| Формирует строку на основе шаблона, подставляя в него значения полей события или переменных. |
|
| Возвращает одно из двух значений, в зависимости от результата предиката |
|
| Проверяет наличие срабатывания CyberTrace по категории или индикатору. |
|
| Проверяет наличие срабатывания CyberTrace по категории. |
|
| Проверяет наличие срабатывания CyberTrace по индикатору. |
|
| Проверяет наличие срабатывания CyberTrace по категории и индикатору. |