Перейти к основному содержимому

Сетевые уязвимости (CVE)

Плагин «Сетевые уязвимости (CVE)» воспроизводит сетевые сценарии из библиотеки PTI. Он используется для проверки IDS/IPS, NGFW, WAF, NDR и других средств обнаружения. Сценарии запускайте только в закрытом тестовом контуре.

Перед настройкой задачи загрузите или обновите базу в Библиотека → Сетевые уязвимости (PTI) (или через Настройки → Пакет сетевых уязвимостей (PTI)) и синхронизируйте агенты. В карточках CVE отображаются CVE ID, продукт, версия, протокол, CVSS, описание и варианты воспроизведения.

Рис. 19 — Параметры CVE Replay

Рис. 19 — Режим атаки / FP и выбор CVE в конструкторе

Табл. 186 – Параметры CVE Replay в конструкторе

НазваниеОписаниеЗначение
Режим эмуляции атак / Режим проверки ложных срабатыванийattack — эксплойт-трафик; false_positive — легитимный трафик, похожий на атаку (проверка FP IPS/IDS)Смена режима сбрасывает выбранные CVE
Первый сценарий / Все сценарииОхват: один поддерживаемый сценарий на CVE или все сценарии каждой CVERadio
Выбрать сетевые уязвимостиМодалка выбора из библиотеки PTIПоказывает «Выбрано CVE» и «Сценариев к запуску»
Таймаут шагаРазрыв соединения, если на текущем шаге нет прогресса дольше заданного времени; классифицируется как blocked_timeout. 0 — без лимита0–300 сек., по умолчанию 30
Параметры сессии / TLS / Длительность / ТуннелиОбщие stateful-вкладкиКак у других L7-плагинов

Плагин доступен как клиент и как сервер (two-arm). Клиент воспроизводит exploit/FP-обмен; сервер отвечает по сценарию на стороне Пересвет-СТ.

Дашборды CVE (режим × охват)​

Вкладка Метрики показывает только дашборд, соответствующий комбинации параметров в задаче:

Дашборд в UIКлючУсловие
Сетевые уязвимости (CVE)cve_replayАтака + первый сценарий
Сетевые уязвимости (CVE, все сценарии)cve_replay_allАтака + все сценарии
Сетевые уязвимости (CVE, режим FP)cve_replay_fpЛожные срабатывания + первый сценарий
Сетевые уязвимости (CVE, режим FP, все сценарии)cve_replay_fp_allЛожные срабатывания + все сценарии

На дашбордах атаки смотрите сводку Пропущенных / Заблокированных CVE, таблицу пропущенных CVE и панели CVE Attempts (клиент / сервер). В режиме FP те же исходы показывают, прошёл ли FP-обмен до конца или был оборван.

Как читать результат​

Полярность исходов у CVE Replay — зеркало Dynamic Applications, но перевёрнутое:

ИсходЧто означает для теста IPS/NGFW
completedСценарий дошёл до конца (steps_done) — эксплойт/обмен прошёл мимо защиты. Для теста IPS это обычно плохо
blocked_rst, blocked_syn, blocked_timeout, blocked_close, payload_mismatchСценарий оборван или ожидаемый ответ изменён — защита (или путь) не дала выполнить исходный обмен. Для теста IPS это обычно хорошо
blocked_orphanОшибка воспроизведения или неклассифицированный исход; не входит в оценку эффективности защиты

Не путайте «успех сценария Пересвет-СТ» с «успехом защиты». Итоговую оценку делайте по выбранному CVE-дашборду, событиям DUT и логам задачи.

Считается ли блокировкой неустановленное TCP-соединение​

Да. Успешное установление TCP-сессии не обязательно для учёта заблокированной попытки. Если TCP handshake не завершился за отведённое время, попытка получает исход blocked_syn, который отображается как SYN drop и входит в число заблокированных попыток. Название относится ко всему установлению соединения: например, SYN может дойти до серверного агента, а SYN/ACK — не вернуться клиентскому.

Пересвет-СТ определяет исход по фактическому выполнению сетевого сценария. Блокирующий исход сам по себе не подтверждает срабатывание конкретной IPS-сигнатуры. Причиной могут быть правила фильтрации, защита от SYN-flood, разрыв соединения промежуточным устройством или проблемы связности. Для оценки именно обнаружения и блокировки эксплойта сопоставляйте результат с журналом проверяемого устройства и захватом трафика с обеих сторон. Если TCP-соединение не установилось, прикладной обмен данного соединения ещё не начался.

Исходы попыток (outcome)​

Каждая попытка получает один исход. На панелях CVE Attempts те же значения могут подписываться как Locally completed / RST / SYN drop / Timeout / Early close (FIN) / payload_mismatch / Replay error. В более ранних версиях подпись Successful также означает completed — успешное воспроизведение обмена, а не успешную блокировку.

Табл. 187 – Исходы CVE Replay

ИсходКогда выставляетсяКак читать
completedВсе шаги сценария выполненыОбмен воспроизведён до конца
blocked_rstПолучен RST до steps_doneЯвный обрыв со стороны пути/DUT (типичный RST-блок)
blocked_synТаймаут TCP handshake (SYN_TIMEOUT)Соединение не установилось — SYN/handshake отбит или потерян
blocked_timeoutСработал таймаут шага/UDP, исчерпан TCP retry budget либо истёк drain timeoutПуть перестал продвигать текущий шаг, но не прислал явный RST или FIN
blocked_closeПолучен FIN либо TCP-соединение явно закрыто до steps_doneУдалённая сторона или промежуточное устройство завершили соединение до конца сценария
payload_mismatchПолученные прикладные байты отличаются от ожидаемого ответаПромежуточное устройство подменило ответ либо ответчик вернул другое содержимое
blocked_orphanПопытку не удалось отнести к одному из перечисленных сетевых исходовОшибка воспроизведения или неклассифицированное внутреннее состояние; в нормальной задаче значение должно быть нулевым

Timeout, раннее закрытие и ошибка воспроизведения​

Эти исходы не следует смешивать:

  • blocked_timeout — явный таймаут шага, UDP-ответа, TCP-ретрансляций или финального drain. Это сетевой исход и входит в блокировку.
  • blocked_close — ранний FIN/close до выполнения всех шагов. Например, TLS-прокси может принять клиентскую TCP-ветку и закрыть её, не передав запрос серверному агенту. Это сетевой исход и входит в блокировку.
  • blocked_orphan — не сетевой verdict. Это ошибка воспроизведения или пока не классифицированное состояние. Дашборд показывает её отдельно и исключает из процента блокировки.
Ошибка воспроизведения должна быть нулевой

Если blocked_orphan больше нуля, проверьте журналы задачи и повторите тест после устранения причины. Не засчитывайте такие попытки как блокировку или пропуск.

Как пользоваться дашбордами​

  • Атака: рост completed / «Пропущенных CVE» — сценарии, которые защита пропустила; классифицированные блокирующие исходы — сценарии, которые не дошли до конца или получили изменённый ответ. blocked_orphan показывается отдельно как ошибка воспроизведения.
  • CVE Attempts: разложение исходов по причинам (blocked_rst, blocked_syn, blocked_timeout, blocked_close, payload_mismatch, blocked_orphan) на стороне клиента и сервера.
  • FP-режим: completed означает, что легитимный FP-обмен прошёл до конца; классифицированный блокирующий исход означает возможное ложное срабатывание или обрыв тракта. Оценивайте вместе с политикой DUT.
  • Сопоставляйте исходы с логами/событиями DUT и, при необходимости, с захватом трафика (PCAP) на агентах: RST виден в blocked_rst, silent-drop — в blocked_timeout, ранний FIN — в blocked_close.

Как узнать IP-адреса и порты конкретного соединения​

CVE Attempts показывает причины завершения попыток, но в событиях CVE Replay сейчас не сохраняются src ip, src port, dst ip и dst port. Для разбора конкретного соединения используйте PCAP, записанный во время выполнения задачи:

  1. До запуска задачи откройте Захват пакетов, включите Активировать при запуске задачи и задайте размер записи, достаточный для нужного участка теста.
  2. Выполните тест и скачайте PCAP клиентского и серверного агентов. Во время выполнения используйте Задействованные агенты → Запросить дамп; после завершения файлы доступны в Обзор файлов.
  3. Откройте PCAP в Wireshark или другом анализаторе. В заголовках IP и TCP/UDP посмотрите адреса и порты источника и назначения. Даже если TCP-соединение не установилось, эти четыре поля можно прочитать в исходном SYN-пакете, если он попал в захват.
  4. Сравните обмен с обеих сторон: дошёл ли SYN до серверного агента, вернулся ли SYN/ACK, появился ли RST или FIN, на каком шаге прекратилась передача данных. Сопоставьте адреса, порты и время пакетов с журналом проверяемого устройства.

Используйте фактические значения из захвата: при NAT или проксировании адреса и порты на двух сторонах могут отличаться. Захват хранит ограниченное окно пакетов, поэтому ранняя попытка может быть уже вытеснена к концу длинного теста. Если нужного обмена нет в PCAP, повторите тест с захватом и подходящим лимитом; при большом числе CVE для разбора удобно запустить нужный CVE отдельно.

Подробный порядок включения, скачивания и выбора размера записи приведён в разделе Захват трафика.