Документация Запланировать пилот

Обнаружение вредоносных загрузок

Обнаружение вредоносных загрузок представляет собой обнаружение трафика который проверяет файлы и другое содержимое, загружаемое в ваше приложение, на наличие вредоносного ПО.

Когда вы включаете это обнаружение, WAF проверяет входящие загружаемые файлы на наличие вредоносных сигнатур. Результаты проверки доступны в виде поля можно использовать в пользовательские правила и правила ограничения частоты запросов чтобы применять действие к запросам, содержащим вредоносное содержимое.

Как это работает

После включения этого обнаружения Cloudflare проверяет весь входящий трафик и выявляет объекты содержимого автоматически.

Когда Cloudflare обнаруживает в запросе один или несколько объектов содержимого, она отправляет их на анализ антивирусному (AV) сканеру. Это тот же AV-сканер, что используется в Cloudflare Zero Trust.

На основе результатов сканирования обнаружение заполняет поля можно ссылаться в выражениях правил. Например, вы можете создать правило, блокирующее запросы с вредоносными файлами, или более специфичное правило, которое также учитывает размер файла, тип файла или путь URI.

Что такое объект содержимого?

Объектом содержимого является файл или бинарный payload в запросе, который Cloudflare распознаёт как содержимое, пригодное для сканирования. Обнаружение вредоносных загрузок использует эвристики, чтобы автоматически находить объекты содержимого, не полагаясь на Content-Type заголовок (поскольку этот заголовок можно подделать).

Из сканирования исключены следующие типы содержимого: text/html, text/x-shellscript, application/json, text/csv, а также text/xml. Весь остальной обнаруженный контент рассматривается как объект содержимого. Распространённые примеры:

Если Cloudflare обнаруживает вредоносный объект, но не может точно определить его тип содержимого, объект помечается как application/octet-stream.

Просканированное содержимое

Сканирование содержимого может проверять следующие объекты содержимого на наличие вредоносного содержимого:

Проверяются все объекты содержимого во входящем запросе, в частности для запросов с несколькими загруженными файлами (например, отправленная HTML-форма с несколькими полями для загрузки файлов).

Сканер содержимого полностью проверяет объекты содержимого размером до 50 МБ. Для более крупных объектов содержимого сканер анализирует первые 50 МБ и формирует результаты проверки на основе этой части объекта.

Пользовательские выражения сканирования

Иногда может понадобиться указать, где искать объекты содержимого, например если содержимое представляет собой строку в кодировке Base64 внутри полезной нагрузки JSON. Например:

{ "file": "<BASE64_ENCODED_STRING>" }

В таких ситуациях настройте пользовательское выражение сканирования, чтобы указать сканеру содержимого, где искать объекты содержимого. Дополнительную информацию см. в Настройка пользовательского выражения сканирования.

Дополнительную информацию и дополнительные примеры поиска полей во вложенных полезных нагрузках JSON см. в lookup_json_string() документацию к функции.

Поля сканирования содержимого

Когда включено сканирование содержимого, в правилах WAF можно использовать следующие поля:

Поле Описание
Наличие объекта содержимого
cf.waf.content_scan.has_obj
Boolean
Показывает, содержит ли запрос хотя бы один объект содержимого.
Наличие вредоносного объекта содержимого
cf.waf.content_scan.has_malicious_obj
Boolean
Показывает, содержит ли запрос хотя бы один вредоносный объект содержимого.
Количество вредоносных объектов контента
cf.waf.content_scan.num_malicious_obj
Integer
Количество вредоносных объектов содержимого, обнаруженных в запросе (ноль или более).
Сканирование содержимого не выполнено
cf.waf.content_scan.has_failed
Boolean
Показывает, не удалось ли сканеру файлов проверить хотя бы один из объектов содержимого, обнаруженных в запросе.
Количество объектов контента
cf.waf.content_scan.num_obj
Integer
Количество объектов содержимого, обнаруженных в запросе (ноль или более).
Размер объекта содержимого
cf.waf.content_scan.obj_sizes
Array<Integer>
Массив размеров файлов в байтах в том порядке, в каком объекты содержимого были обнаружены в запросе.
Тип объекта содержимого
cf.waf.content_scan.obj_types
Array<String>
Массив типов файлов в том порядке, в каком объекты содержимого были обнаружены в запросе.
Результат объекта содержимого
cf.waf.content_scan.obj_results
Array<String>
Массив результатов сканирования в том порядке, в каком объекты содержимого были обнаружены в запросе.
Возможные значения: clean, suspicious, infected, а также not scanned.

Примеры выражений правил с использованием этих полей см. в Примеры правил.

Запросите бесплатный пилот

Запланировать пилот