Критерии для пулов СЗИ

Критерии для пулов позволяют настроить внутри цепочки у каждого пула условие его применения, например, если критерий 1, то необходимо направить файл в СЗИ "А", если критерий 2, то необходимо направить файл в СЗИ "В".

Критерии добавляются по иконке icon add criteria 0001 и имеют вид, представленный на рисунке ниже.

criteria 0001

Для каждого выбранного пула СЗИ можно установить свои критерии, каждый из которых имеет вид, описанный в таблице ниже.

АтрибутКогда используется для вычисленияОсобенности

Тип

всегда

Размер файла (статический) - обращение к spec-переменной $FILE_SIZE (см. раздел Создание СЗИ);

Имя файла (статический) - обращение к spec-переменной $FILE_NAME (см. раздел Создание СЗИ);

Расширение файла (статический) - обращение к spec-переменной $FILE_MIME_TYPE (см. раздел Создание СЗИ);

Вердикт (вычисляемый) - обращение к spec-переменной $FILE_VERDICT (полученной от последнего успешного сканирования в СЗИ при последовательной проверке (Важно! при параллельном - это значение не существует)

Custom (вычисляемый) - обращение к указанной в критерии spec-переменной (ручной ввод), размещенной в глобальном регистри этапа анализа

ИСКЛЮЧЕНИЕ: если в custom-критерии производится обращения к встроенным spec-переменным (см. раздел Создание СЗИ), ошибки НЕ БУДЕТ, т.к. лежащее во встроенных spec-переменных статично

Перемен-ная (путь)

если тип=custom

spec-переменная в формате $PARAM, которая будет читаться из глобального регистри для подстановки в оператор сравнения

Условие (оператор сравнения)

всегда

Равно - строго РАВНО введенному (для типа fsize - сравнение чисел, для остального - строковое)

Не равно - НЕ РАВНО введенному (для типа fsize - сравнение чисел, для остального - строковое)

Больше - СТРОГО БОЛЬШЕ введенного (для типа fsize - сравнение чисел, для остального - строковое)

Меньше - СТРОГО МЕНЬШЕ введенного (для типа fsize - сравнение чисел, для остального - строковое)

Существует - в глобальном регистри СУЩЕСТВУЕТ spec-переменная, соответствующая выбранному типу + введенному пути (значение не проверяется)

Не существует - в глобальном регистри НЕ СУЩЕСТВУЕТ spec-переменная, соответствующая выбранному типу + введенному пути (значение не проверяется)

Пустой - в глобальном регистри существует и хранит ПУСТУЮ строку spec-переменная, соответствующая выбранному типу + введенному пути (значение не проверяется)

Не пустой - в глобальном регистри существует и хранит НЕПУСТУЮ строку spec-переменная, соответствующая выбранному типу + введенному пути (значение не проверяется)

Содержит - значение, форматированное в список через разделители "," и ";" содержит элемент(ы), указанные во введенном значении

Регулярное выражение – сравнение с указанным во введенном значении регулярном выражении

Маска - подходит к указанной во введенном значении маски (например, *.txt для любого txt файла)

Значение

За искл. Условий:

Существует/

Не существует

Пусто/Не пусто

Ручной ввод

Для fsize - указывается в байтах

Этапы анализа:

Локальный регистри - хранилище spec-переменных, время жизни которого ограничено прохождением файла по воркфлоу конкретного СЗИ (см. раздел Создание СЗИ).

Глобальный регистри - хранилище spec-переменных, живущее всё время прохождения файла через этап анализа, т.е. пока файл не прошел через ВСЕ пулы СЗИ цепочки.

Параллельный анализ в пулах - spec-переменные обрабатываются только перед запуском анализа во всех пулах цепочки, чтоб дополнительно отфильтровать эти самые пулы.

Важно: при параллельном анализе можно использовать только статические критерии (размер, имя, расширение файла), при попытке использовать вычисляемые - получится ошибка.

Последовательный анализ – при старте выполнения задачи на анализ файла - в глобальном регистри присутствуют только те spec-переменные, которые относятся к встроенным (см. раздел Создание СЗИ).

Далее глобальный регистри либо дополняется новыми spec-переменными (после каждого успешно пройденного пула СЗИ), либо получает обновления по уже существующим (если spec-переменные пересекаются между СЗИ).

Важно: для первого по порядку пула СЗИ можно использовать только статические критерии (размер, имя, расширение файла), при попытке использовать вычисляемые - получится ошибка (статические - размер, имя, расширение файла), т.к. они еще не существуют на этом этапе.

ИСКЛЮЧЕНИЕ: если в custom-критерии производится обращения к встроенным spec-переменным ((см. раздел Создание СЗИ), то ошибки не будет, т.к. лежащее во встроенных spec-переменных статично.

Типы критериев и операторы сравнения приведены в таблице ниже.

Тип критерияКлючРеальные значенияТип значения

fsize

FILE_SIZE

1048576, 500000

число (байты)

fname

FILE_NAME

virus.exe, report.pdf

строка (имя файла, без пути)

ftype

FILE_MIME_TYPE

application/pdf, image/jpg

строка (с / внутри)

verdict

FILE_VERDICT

Clean, Malicious, Suspicious, Unknown

строка (перечисление через , или ; )

custom

$PATH (произвольный)

любое значение

Любое (ориентируемся на адекватность заполнения от пользователя)

Порядок совместимости оператора и типа критерия приведены в таблице ниже.

Операторfsizefnameftypeverdictcustom

eq

+

+

+

+

+

neq

+

+

+

+

+

gt

+

-

-

-

+

lt

+

-

-

-

+

exists

+

+

+

+

+

not_exists

+

+

+

+

+

empty

+

+

+

+

+

not_empty

+

+

+

+

+

in

-

+

+

+

+

regex

-

+

+

+

+

mask

-

+

-

-