Синтаксис запросов поиска угроз
07 сентября 2023
ID 229881
Для поиска событий телеметрии необходимо использовать определенный синтаксис. В поисковых запросах необходимо использовать следующие синтаксические правила:
- Запрос должен содержать хотя бы одно логическое выражение, соответствующее следующему синтаксису:
<имя поля события> <оператор сравнения> <значение поля>
. - Запрос может содержать несколько логических выражений. Логические выражения можно комбинировать с использованием следующих логических операторов:
AND
(логическое И)Результат запроса будет включать все события, удовлетворяющие обоим условиям (слева и справа от оператора
AND
).Например, в результате выполнения запроса
DetectActionResult == "Quarantine" AND DetectStatus == "Malware*"
будут отображаться события, в которых DetectStatus начинается с Malware и при этом DetectActionResult равен Quarantine.OR
(логическое ИЛИ)Результат запроса будет включать события, удовлетворяющие хотя бы одному из логических выражений.
Например, в результате выполнения запроса
DetectActionResult == "Quarantine" OR DetectStatus == "Malware*"
будут отображаться события, в которых DetectStatus начинается с Malware или DetectActionResult равен Quarantine.NOT
(логическое НЕ)Результат запроса будет включать события, не удовлетворяющие условию.
Например, в результате выполнения запроса
NOT (DetectActionResult == "Quarantine")
будут отображаться события, в которых DetectActionResult не равен Quarantine.
- Порядком выполнения логических операций можно управлять с помощью круглых скобок.
Например, в результате выполнения запроса
(DetectActionResult == "Quarantine" OR DetectStatus == "Malware*") AND FileSize > 16
будут отображаться события, в которых DetectStatus начинается с Malware или DetectActionResult равен Quarantine, и при этом размер вложенного файла превышает 16 байт.А в результате выполнения запроса
DetectActionResult == "Quarantine" OR (DetectStatus == "Malware*" AND FileSize > 16)
будут отображаться события, в которых DetectActionResult равен Quarantine, или DetectStatus начинается с Malware при том, что размер вложенного файла превышает 16 байт. - Можно использовать следующие операторы сравнения:
- == (равно)
Например, в результате выполнения запроса
DetectActionResult == "Quarantine"
будут отображаться события, в которых значение поля DetectActionResult равно Quarantine. - != (не равно)
Например, в результате выполнения запроса
DetectActionResult != "Quarantine"
будут отображаться события, в которых значение поля DetectActionResult не равно Quarantine. - > (больше чем)
Например, в результате выполнения запроса
FileSize > 16
будут отображаться события с вложенным файлом размером более 16 байт. - < (меньше чем)
Например, в результате выполнения запроса
FileSize < 16
будут отображаться события с вложенным файлом размером менее 16 байт. - >= (больше или равно)
Например, в результате выполнения запроса
FileSize >= 16
будут отображаться события с вложенным файлом размером большим или равным 16 байт. - <= (меньше или равно)
Например, в результате выполнения запроса
FileSize <= 16
будут отображаться события с вложенным файлом размером меньшим или равным 16 байт.
- == (равно)
- Список названий полей событий можно просмотреть в разделе Поиск угроз, на закладке Справка.
- Элемент
<тип поля>
не чувствителен к регистру символов. Например, результаты выполнения запросовcomputername == "host"
иCOMPUTERNAME == "host"
будут одинаковы. - Элемент
<значение поля>
представляет собой последовательность букв, цифр и специальных символов.<Значение поля>
не может быть именем<типа поля>
. Строковые значения необходимо заключать в кавычки. Исключением является поиск непустой строки. В этом случае возможен ввод без кавычек (например,computername == *
илиcomputername == "*"
). - Элемент
<значение поля>
не чувствителен к регистру символов. Например, результаты выполнения запросовComputerName == "host"
иComputerName == "HOST"
будут одинаковы. - Элемент
<значение поля>
может включать следующие специальные символы:*
: звездочка обозначает любое количество символов в строке (применимо только к строковым значениям).Например, в результате выполнения запроса
EventName == "H*"
будут отображаться события, начинающиеся с буквы "H".Также символ звездочки можно использовать для исключения полей с пустыми значениями: например, в результате выполнения запроса
EventName == "*"
илиEventName == *
будут отображаться события, в которых поле EventName имеет непустое значение.?
: знак вопроса обозначает один любой символ в строке (применимо только к строковым значениям).Например, в результате выполнения запроса
ProcessUserName == "User?"
будут отображаться события, у которых ProcessUserName имеет такие значения, как Users, User1, User2 и другие совпадающие подстроки.\
: обратный слэш используется для экранирования (использования в запросах) звездочки, знака вопроса и обратного слэша.Например, обратный слэш используется при поиске пути:
file_pathes == "c:\\windows\\system32\\nslookup.exe"
.