Условия передачи данных в дополнительный нормализатор
При создании дополнительных правил парсинга событий вы можете задать условия, при выполнении которых события будут поступать на обработку в это правило парсинга. Условия можно задать в окне Дополнительное правило парсинга на вкладке Условия дополнительной нормализации. В основных правилах парсинга эта вкладка отсутствует.
Доступные параметры:
Использовать сырое событие – если вы хотите передавать сырое событие для дополнительной нормализации, в раскрывающемся списке Использовать сырое событие выберите значение Да. По умолчанию указано значение Нет. Мы рекомендуем передавать сырое событие в нормализаторы типа json и xml. Если вы хотите передавать сырое событие для дополнительной нормализации на второй, третий и далее уровень вложенности, последовательно на каждом уровне вложенности в раскрывающемся списке Использовать сырое событие выберите значение Да.
Поле, которое следует передать в нормализатор – используется для указания поля события в том случае, если вы хотите отправлять на дополнительный парсинг только события с заданными в параметрах нормализатора полями.
Если оставить это поле пустым, в дополнительный нормализатор будет передано событие целиком.
Блок фильтров – используется для формулирования сложных условий, которым должны удовлетворять события, поступающие в нормализатор.
С помощью кнопки Добавить условие можно добавить строку с полями для определения условия (см. ниже).
С помощью кнопки Добавить группу можно добавить группу фильтров. Можно переключать групповые операторы между И, ИЛИ, НЕ. В группы фильтров можно добавить другие группы условий и отдельные условия.
Условия и группы можно менять местами, перетягивая их за значок , а также удалять с помощью значка .
Параметры условий фильтра:
Левый операнд и Правый операнд – используются для указания значений, которые будет обрабатывать оператор.
В левом операнде следует указывать исходное поле событий, поступающих в нормализатор. Например, если в окне Основной парсинг событий настроено сопоставление eventType - DeviceEventClass, то в окне Дополнительный парсинг событий на вкладке Условия дополнительной нормализации в поле левого операнда для фильтра следует указать eventType. Данные обрабатываются только как текстовые строки.
Операторы:
= – полное совпадение левого и правого операндов.
startsWith – левый операнд начинается с символов, указанных в правом операнде.
endsWith – левый операнд заканчивается символами, указанными в правом операнде.
match – левые операнд соответствует регулярному выражению (RE2), указанному в правом операнде.
in – левый операнд соответствует одному из значений, указанных в правом операнде.
Поступающие данные можно предварительно преобразовать, если нажать на кнопку : откроется окно Преобразование, в котором с помощью кнопки Добавить преобразование можно создать правила изменения исходных данных перед тем, как над ними будут совершены какие-либо действия. В окне Преобразования добавленные правила можно менять местами, перетягивая их за значок , а также удалять с помощью значка .
Преобразования – это изменения, которые применяются к значению перед записью в поле события. Вы можете выбрать в раскрывающемся списке один из следующих типов преобразования:
entropy – используется для преобразования значения исходного поля с помощью функции вычисления информационной энтропии и помещения результата преобразования в целевое поле типа float. Результатом преобразования будет число. Показатель вычисления информационной энтропии позволяет выявлять DNS-туннели и компрометацию паролей, например когда пользователь ввел пароль вместо логина и пароль записывается в журнал в открытом виде.
lower – используется для перевода всех символов значения в нижний регистр.
upper – используется для перевода всех символов значения в верхний регистр.
regexp – используется для преобразования значения с помощью указанного регулярного выражения RE2. При выборе этого типа преобразования появляется поле, в котором требуется указать регулярное выражение RE2.
substring – используется для извлечения символов в указанном диапазоне позиций. При выборе этого типа преобразования появляются поля Начало и Конец, в которых требуется указать диапазон позиций.
replace – используется для замены указанной последовательности символов на другую последовательность символов. При выборе этого типа преобразования появляются следующие поля:
Символы на замену – последовательность символов, которую требуется заменить.
Чем заменить – последовательность символов, которую требуется использовать вместо заменяемой последовательности символов.
trim – используется для удаления указанных символов одновременно с начала и с конца значения поля события. При выборе этого типа преобразования появляется поле Символы, в котором требуется указать символы. Например, если для значения Microsoft-Windows-Sysmon выполнить преобразование trim со значением Micromon, новым значением будет soft-Windows-Sys.
append – используется для добавления указанных символов в конец значения поля события. При выборе этого типа преобразования появляется поле Константа, в котором требуется указать символы.
prepend – используется для добавления указанных символов к началу значения поля события. При выборе этого типа преобразования появляется поле Константа, в котором требуется указать символы.
replace with regexp – используется для замены результатов регулярного выражения RE2 на указанную последовательность символов. При выборе этого типа преобразования появляются следующие поля:
Выражение – регулярное выражение RE2, результаты которого требуется заменить.
Чем заменить – последовательность символов, которую требуется использовать вместо заменяемой последовательности символов.
Конвертация закодированных строк в текст:
decodeHexString – используется для конвертации HEX-строки в текст.
decodeBase64String – используется для конвертации Base64-строки в текст.
decodeBase64URLString – используется для конвертации Base64url-строки в текст.
При конвертации поврежденной строки или при ошибках конвертации в поле события могут быть записаны поврежденные данные.
При обогащении событий, если длина закодированной строки превышает размер поля нормализованного события, такая строка будет обрезана и не будет раскодирована.
Если длина раскодированной строки превышает размер поля события, в которое должно быть помещено раскодированное значение, такая строка будет обрезана до размера этого поля события.
Преобразования при использовании расширенной схемы событий
Возможность использования преобразования зависит от типа используемого поля расширенной схемы событий:
для дополнительного поля с типом «Строка» доступны все типы преобразования.
для полей с типами «Число» и «Число с плавающей точкой» доступны следующие типы преобразования: regexp, substring, replace, trim, append, prepend, replaceWithRegexp, decodeHexString, decodeBase64String и decodeBase64URLString.
для полей с типами «Массив строк», «Массив чисел» и «Массив чисел с плавающей точкой» доступны следующие типы преобразования: append и prepend.