Синтаксис правил
Быстрые ссылки: <definition> , <operations>, <description>, <actions>
Правило — это набор выражений, определенных с помощью языка на основе XML. ESET PROTECT Веб-консоль содержит предварительно заданный набор правил, но вы можете добавлять и изменять собственные правила.
Общая структура тела правила выглядит следующим образом:
<rule> <definition> |
Definition Тег
ancestor — может принимать дополнительный атрибут:
•distance—указывает фактическое расстояние от текущего процесса до сопоставляемого предка, например, 1 — это родительский процесс, 2 — процесс-прародитель и т. д. Если не указано, свойство сопоставляется со всеми родительскими процессами в цепочке.
•unique — позволяет тегу предка удалять дублирующиеся процессы в дереве предков. Например, вредоносная программа создает несколько экземпляров одного и того же процесса, чтобы избежать обнаружения (explorer > cmd > cmd > cmd > malware), и этот атрибут устранит такие дублирования (explorer > cmd > malware).
Process и parentprocess
Часть process позволяет инженерам по безопасности ограничивать события конкретным процессом, благодаря чему можно писать правила вида "Outlook создаёт файл EXE". Если элемент process пуст, parentprocess и operations вычисляются для всех процессов.
Часть parentprocess аналогична процессу, но позволяет инженерам по безопасности проверять атрибуты родительского процесса. Это позволяет задавать правила вида "PowerShell, запущенный программой Word, подключается к Интернету".
process, parentprocess, ancestor и operation используют элемент expression для описания логического выражения, которое вычисляется для проверки того, должно ли быть инициировано обнаружение. Выражение состоит из условий и логических операторов. Условие проверяет значение некоторого свойства, а логические операторы объединяют эти условия в логические выражения.
Пример выражения:
<operator type="and"> |
Operations
Часть operations определяет, какие операции, выполняемые процессом, активируют индикатор. Если поле не заполнено, индикатор срабатывает, когда процесс генерирует событие.
Операции определяются с помощью элемента operation с атрибутом type и элемента expression.
<operation type="WriteFile">Expression</operation>
Полный список поддерживаемых операций см. в разделе Операции.
Operator
Поддерживаемые логические операторы: AND, OR и NOT. Логические операторы могут быть вложенными. Таким образом, логический оператор может быть аргументом другого логического оператора. Помимо логических операторов, в качестве аргумента для логических операторов может использоваться элемент условия. Вы можете использовать тег оператора, как показано в этом примере:
<process> |
Элементы условия состоят из трех частей:
•Свойство аргумента или процесса операции.
•Значение, указанное автором правила.
•Связь между значением и свойством.
Свойства иерархически группируются в "компоненты".
Существует три уровня серьезности: 1–39 > Info, 40–69 > Warning и 70–100 > Threat.
Типы свойств и их отношения (атрибуты условий):
|
is(not)set |
is(not) |
is(not)empty |
(not)starts |
(not)contains |
(not)ends |
less, lessOrEqual, greater, greaterOrEqual |
|---|---|---|---|---|---|---|---|
String |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
Int |
✔ |
✔ |
|
|
✔ |
|
✔ |
Value |
✔ |
✔ |
✔ |
|
|
|
|
Bool |
✔ |
✔ |
|
|
|
|
|
Date |
✔ |
✔ |
|
|
|
|
✔ |
Набор строк |
✔ |
|
✔ |
|
✔ |
|
|
IPv4-адрес |
✔ |
✔ |
✔ |
|
|
|
|
Адрес IPv6 |
✔ |
✔ |
✔ |
|
|
|
|
Набор IPv4-адресов |
✔ |
|
✔ |
|
✔ |
|
|
Набор адресов IPv6 |
✔ |
|
✔ |
|
✔ |
|
|
Description Тег
Описание является обязательным и должно содержать имя и категорию, остальные поля — необязательные. Полезно определить перечисленные ниже поля, поскольку они присутствуют в сведениях:
name – Имя правила. Она отображается в списке правил.
category — позволяет классифицировать правила. Вы можете задать собственные категории.
explanation — объясняет причину срабатывания правила.
os — содержит операционную систему, к которой применяется правило. Возможные значения: Windows, Linux, OSX, ANY.
mitreattackid — содержит идентификатор MITRE ATT&CK®.
maliciousCauses — описывает вредоносные причины события или изменение, которое привело к срабатыванию правила.
benignCauses — описывает безобидные причины события или изменения, которое привело к срабатыванию правила.
recommendedActions — описывает рекомендуемые действия, которые должны выполнить инженеры по безопасности.
guid — используется для внутренних правил. Для внешних правил GUID создается автоматически. Он используется для уникальной идентификации правил при экспорте/импорте.
maliciousTarget Тег
С помощью тега maliciousTarget можно указать целевой объект, на который по умолчанию будут распространяться действия настраиваемого реагирования. Например, если выбрать блокировку исполняемого файла, изменения зависят от maliciousTarget. Это не изменяет поведение тега Actions. Возможные значения: current, module, none и parent.
Тег maliciousProcess был заменен тегом maliciousTarget. Он по-прежнему поддерживается в рамках устаревшей поддержки, но мы рекомендуем использовать тег maliciousTarget.
Actions Тег
Тег Actions позволяет задать набор действий, которые выполняются при срабатывании правила.
Действия можно поместить в один элемент action:
<action name="BlockProcessExecutable"/>
Или объедините несколько элементов action в один элемент actions (как показано в следующем примере):
<actions> |
Одно правило может инициировать несколько действий.