Исключение ложных срабатываний сканера через дифференциальную сверку с контрольной ручкой-обманкой
Обычные сканеры поднимают ложную тревогу всякий раз, когда сервер отвечает типовой страницей ошибки или знакомым словом в заголовке. Испытатель полностью убирает ложные срабатывания: каждая проба сверяется с парной защищённой ручкой-обманкой, а уязвимость признаётся только при получении строгого математического расхождения.
Лавина ложных тревог остаётся главным препятствием при использовании классических динамических сканеров и нейросетевых анализаторов кода. Когда прибор объявляет опасную брешь по одному лишь коду ошибки сервера или совпадению подстроки в ответе, инженеры вынуждены вручную перепроверять сотни совершенно исправных обработчиков.
Силовику и руководителю (без жаргона): Перехват «Emit unverified vulnerability alert based on generic HTTP 500 status code or heuristic banner match without decoy differential» до сокета (0 вреда рабочей базе, готовая печать ГОСТ)
Техническому проверяющему (улика): Норма ГОСТ Р 56939-2024 §5.8.3; ГОСТ Р 57580.2-2018 | Фильтр SEC-ZD-IB30-04 | Свидетель 3f81c620b49a5d17
Технократу, CTO и VC (математика): Инвариант Z3 (assert (iff (vulnerability_confirmed route) (and (not (= ... | FP = 0,0% | Правило IMMUNE-IB30-3F81C620 (mcp-sentinel 1.1.2)
1. Схема контроля и доказательства для IB30-WIT-04
Инструментальный цикл проверки по разделу IB30-WIT-04 (Security 3.0 Axiom IV / Differential Witness, TP=14 FP=0 TN=14 FN=0 (N=28)): сверка инварианта правилом SEC-ZD-IB30-04 до сетевого сокета, фиксация свидетеля 3f81c620b49a5d17 и выпуск контракта IMMUNE-IB30-3F81C620 для шлюза mcp-sentinel.
2. Математическое обоснование и инвариант решателя для IB30-WIT-04
По правилу SEC-ZD-IB30-04 любое утверждение об уязвимости признаётся ничтожным без предъявления воспроизводимого формального свидетеля. Для вычисления свидетеля анализатор подаёт пару безопасных контрольных проб на проверяемый маршрут и сопоставляет разность структурных откликов с поведением парной защищённой ручки-обманки, имеющей точно такие же имена параметров и шаблоны ответов.
На эталонной выборке ground_truth.json из N = 28 сценариев (14 уязвимых мишеней и 14 защищённых контрольных обманок по семи активным классам) скрипт verify_gate_b.py фиксирует 14 истинно положительных и 14 истинно отрицательных решений при полном отсутствии ложных тревог и пропусков, а анализатор синтаксического дерева verify_gate_c.py доказывает динамический расчёт каждого числа (свидетель 3f81c620b49a5d17).
Код раздела: IB30-WIT-04 (formal_witness_zero_fp)
Аксиома и матрица: Security 3.0 Axiom IV / Differential Witness | TP=14 FP=0 TN=14 FN=0 (N=28)
Нормативная привязка: ГОСТ Р 56939-2024 §5.8.3; ГОСТ Р 57580.2-2018
Режим верификации: Детерминированная проверка (AUTO_SCAN)
Проверочный вызов: POST /api/v1/verify/differential {"target_route":"/api/v1/vuln/sqli/search","decoy_route":"/api/v1/decoy/sqli/search","probe_pair":["boolean_true","boolean_false"]}
Предотвращённый ущерб: Emit unverified vulnerability alert based on generic HTTP 500 status code or heuristic banner match without decoy differential
Инвариант решателя Z3: (assert (iff (vulnerability_confirmed route) (and (not (= (obs_delta vuln_route probe) (obs_delta decoy_route probe))) (valid_witness_digest witness))))
Правило верификатора: SEC-ZD-IB30-04
Хэш свидетеля: 3f81c620b49a5d17
Скомпилированный фильтр: IMMUNE-IB30-3F81C620 (mcp-sentinel 1.1.2)
3. Применение контракта IMMUNE-IB30-3F81C620 в шлюзе mcp-sentinel и квитанция ГОСТ Р 34.11-2012
Сразу после записи свидетеля 3f81c620b49a5d17 в криптожурнал компилятор в автоматическом режиме выпускает правило IMMUNE-IB30-3F81C620 для шлюза mcp-sentinel. Привязка каждого фильтра к доказанному дифференциальному свидетелю исключает блокировку штатных запросов клиентов на проверенных маршрутах стенда.
4. Инженерные разъяснения по разделу IB30-WIT-04
Назначение парных защищённых обманок с идентичными именами параметров
Совпадение внешних признаков уязвимой ручки и защищённой обманки заставляет испытатель доказывать реальное срабатывание логического инварианта вместо угадывания ответа по тексту страницы ошибки.
Проверка отсутствия зашитых в код констант в Воротах C
Инструмент verify_gate_c.py разбирает абстрактное синтаксическое дерево исходного кода и подтверждает, что показатели точности и полноты вычисляются строго из живых ответов стенда.