Синтаксис запросов поиска угроз

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".

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!