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

Рис. 19 — Режим атаки / FP и выбор CVE в конструкторе
Табл. 186 – Параметры CVE Replay в конструкторе
| Название | Описание | Значение |
|---|---|---|
| Режим эмуляции атак / Режим проверки ложных срабатываний | attack — эксплойт-трафик; false_positive — легитимный трафик, похожий на атаку (проверка FP IPS/IDS) | Смена режима сбрасывает выбранные CVE |
| Первый сценарий / Все сценарии | Охват: один поддерживаемый сценарий на CVE или все сценарии каждой CVE | Radio |
| Выбрать сетевые уязвимости | Модалка выбора из библиотеки 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, записанный во время выполнения задачи:
- До запуска задачи откройте Захват пакетов, включите Активировать при запуске задачи и задайте размер записи, достаточный для нужного участка теста.
- Выполните тест и скачайте PCAP клиентского и серверного агентов. Во время выполнения используйте Задействованные агенты → Запросить дамп; после завершения файлы доступны в Обзор файлов.
- Откройте PCAP в Wireshark или другом анализаторе. В заголовках IP и TCP/UDP посмотрите адреса и порты источника и назначения. Даже если TCP-соединение не установилось, эти четыре поля можно прочитать в исходном SYN-пакете, если он попал в захват.
- Сравните обмен с обеих сторон: дошёл ли SYN до серверного агента, вернулся ли SYN/ACK, появился ли RST или FIN, на каком шаге прекратилась передача данных. Сопоставьте адреса, порты и время пакетов с журналом проверяемого устройства.
Используйте фактические значения из захвата: при NAT или проксировании адреса и порты на двух сторонах могут отличаться. Захват хранит ограниченное окно пакетов, поэтому ранняя попытка может быть уже вытеснена к концу длинного теста. Если нужного обмена нет в PCAP, повторите тест с захватом и подходящим лимитом; при большом числе CVE для разбора удобно запустить нужный CVE отдельно.
Подробный порядок включения, скачивания и выбора размера записи приведён в разделе Захват трафика.