Перейти к содержанию

Методика выявления уязвимостей и НДВ в ПО — Уровень доверия 4

Документ: ФСТЭК России, 12 мая 2026 г.
Целевой уровень: 4-й уровень доверия (уровень контроля 4)
Область применения: сертификационные испытания СЗИ и СОИБ
Кто проводит: специалисты испытательной лаборатории совместно с разработчиком ОО

Примечание: если организация-разработчик имеет сертификат соответствия процессов безопасной разработки ПО СЗИ требованиям ГОСТ Р 56939-2024, в качестве специалистов испытательной лаборатории рассматриваются специалисты этой организации, ответственные за обеспечение разработки безопасного ПО.


Структура разделов и применимость к уровню контроля 4

Шифр Наименование Базовое Усиления (УК 4) Файл
ПОД.1 Анализ документации и иных исходных данных 1, 2, 3, 4, 5 ПОД.1_анализ_документации.md
ПОД.2 Подготовка исследовательского стенда 1, 2 ПОД.2_исследовательский_стенд.md
КАО.1 Анализ архитектуры ОО статическими методами 1, 2, 3 КАО.1_архитектура_статика.md
КАО.2 Анализ архитектуры ОО динамическими методами 1 КАО.2_архитектура_динамика.md
САО Статический анализ исходных кодов ОО 1, 2, 3 САО_статический_анализ.md
ДАО.1 Тестирование модулей ОО 1, 2, 3, 4, 5 ДАО.1_тестирование_модулей.md
ДАО.2 Фаззинг-тестирование ОО 1, 2, 3, 4, 5 ДАО.2_фаззинг.md
ЭКО Экспертиза кода ОО (ручной анализ) ЭКО_экспертиза_кода.md
Оформление результатов (протокол) ПРОТОКОЛ_оформление_результатов.md
Перечень задач СИ для Redmine Перечень_задач_СИ_М3.md

Перечень задач СИ (Redmine)

Рабочий инструмент для планирования и ведения проекта: Перечень_задач_СИ_М3.md

Документ содержит задачи в формате Redmine для всех этапов исследований — от организации до отправки материалов:

Этап Коды задач Раздел методики
Организация и запуск СИ-ОРГ.01—04
Анализ документации СИ-ПОД1.01—12 ПОД.1
Исследовательский стенд СИ-ПОД2.01—09 ПОД.2
Статический анализ архитектуры СИ-КАО1.01—12 КАО.1
Динамический анализ архитектуры СИ-КАО2.01—05 КАО.2
Статический анализ исходного кода СИ-САО.01—08 САО
Тестирование модулей СИ-ДАО1.01—07 ДАО.1
Фаззинг-тестирование СИ-ДАО2.01—11 ДАО.2
Ручная экспертиза кода СИ-ЭКО.01—08 ЭКО
Устранение недостатков СИ-НЕД.01—06 п. 2.7
Протокол и отправка СИ-ПРОТ.01—13 Протокол
Сопровождение после отправки СИ-СОПР.01—02

Порядок проведения исследований

Text Only
ПОД.1 → ПОД.2 → КАО.1 + КАО.2 + САО + ДАО.1 + ДАО.2 + ЭКО → Протокол
  1. ПОД.1 — первый шаг: формирование представления об ОО, определение поверхности атаки, разработка методики исследований.
  2. ПОД.2 — сразу после ПОД.1: подготовка стенда, контролируемая сборка, подготовка отладочных сборок.
  3. КАО.1, КАО.2, САО, ДАО.1, ДАО.2, ЭКО — параллельно или последовательно в соответствии с разработанной методикой.
  4. Протокол — оформление результатов по разделу 5 Методики.

Важно: выявленные в ходе исследований недостатки безопасности допускается устранять прямо во время исследования. После устранения повторное исследование обязательно проводится в отношении всех прямо или косвенно затронутых интерфейсов, компонентов, модулей и исходного кода — в полном объёме требований Методики.


Требования к инструментальным средствам (п. 2.5)

Все инструментальные средства анализа и выявления ошибок, уязвимостей и НДВ должны:

  • обеспечивать функциональные возможности, достаточные для реализации требований Методики
  • не иметь каких-либо ограничений по применению и адаптации (доработке) на территории Российской Федерации

Использование инструментов с ограничениями применения на территории РФ недопустимо.


Путь через Центр исследований

Если разработчик ОО выполнил исследование модулей ОО в рамках деятельности Центра исследований безопасности системного программного обеспечения (portal.linuxtesting.ru) в полном объёме программы исследований безопасности:

  • требования соответствующего раздела Методики (САО, ДАО.1, ДАО.2) в отношении этих модулей считаются выполненными
  • испытательная лаборатория проводит только проверку (выборочную или полную) представленных результатов

Проверка артефактов результата

Общий агентный контроль: по каждому разделу должен существовать проверяемый комплект материалов, а итоговый протокол должен ссылаться на эти материалы.

Комплект Обязательные признаки готовности
ПОД.1 Исходные данные по п. 2.3 получены; поверхность атаки описана в графической нотации; SBOM и перечень образов контейнеров проверены по CycloneDX 1.6/1.7; методика или порядок исследований оформлены
ПОД.2 Среды выбраны по семействам; контролируемая сборка выполнена; стенд защищен; антивирусный контроль и контрольные суммы по ГОСТ 34.11-2012 зафиксированы; отладочные сборки и датчики готовы
КАО.1 Полномочия, открытые источники, результаты разработчика, исходный код, веб-интерфейсы, контейнеры, браузерный код и опции безопасной сборки проверены
КАО.2 Выполнены минимум 3 сценария; сетевые и веб-интерфейсы проверены динамически; специфические угрозы проанализированы
САО Охват модулей, конфигурации анализаторов, машиночитаемые результаты, разметка, выборка ИЛ, патчи и неподдерживаемые языки зафиксированы
ДАО.1 Тесты выполняются на отладочных сборках; выборка, журналы и структурное покрытие каждого модуля приложены; порог 25% проверен
ДАО.2 Цели, входные данные, журналы, метрики эффективности, длительность фаззинга и передача результатов разработчику зафиксированы
ЭКО Область ручного анализа, критерии ошибок а)-т), результаты анализа исходного/восстановленного кода и таблица находок оформлены
Протокол Все комплекты включены как технические результаты; недостатки сведены в таблицу 6; цифровые материалы приложены на электронных носителях

Числовые пороги: минимальные требования (должно быть не меньше)

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

Параметр Минимум Нарушение (меньше минимума)
Средств антивирусной защиты (разных разработчиков) ≥ 2 Результаты ПОД.2 недействительны
Сред функционирования на каждое семейство ≥ 1 Покрытие сред неполное
Сценариев функционирования в КАО.2 ≥ 3 различных Требование КАО.2 не выполнено
Выборка КАО.1: предупреждений на анализатор разработчика ≥ 10 Выборочная проверка не засчитывается
Выборка САО: критических предупреждений на язык ≥ 20 Выборка неполная, анализ неприемлем
Выборка САО: количество охватываемых модулей ≥ 5 Выборка неполная
Выборка САО: предупреждений на анализатор ≥ 10 Выборка неполная
Самостоятельный анализ ИЛ в САО: число модулей ≥ 5 Самостоятельный анализ не засчитывается
Самостоятельный анализ ИЛ в САО: предупреждений на язык ≥ 10 Самостоятельный анализ не засчитывается
Выборка ДАО.1: тестов с нарушениями ≥ 50 Выборочная проверка не засчитывается
Выборка ДАО.1: охватываемых модулей ≥ 5 Выборка неполная
Покрытие ДАО.1 (усиление 4): на модуль ≥ 25% Тестовое покрытие недостаточно
ДАО.2: новых фаззинг-целей ИЛ ≥ 2 новых ИЛИ ≥ 3 доработанных Вклад ИЛ не засчитывается
ДАО.2 усиление 2: прирост путей/покрытия ≥ 2× от стартовых образцов Эффективность фаззинга недостаточна
ДАО.2 усиление 2: порог высокого покрытия, после которого прирост можно не учитывать ≥ 90% по строкам ИЛИ ≥ 80% по базовым блокам Нельзя ссылаться на высокий порог как основание завершения
ДАО.2 усиление 5: время без прироста до завершения ≥ 2 часа Фаззинг завершён преждевременно

Числовые пороги: условия прекращения исследований

Превышение порога означает невозможность продолжения исследований.

Условие Порог Что происходит при превышении
Объём байт-кода/машинного кода от нестандартных модификаций > 10 000 инструкций Исследования прекращаются (ПОД.1 усил. 1)
Объём кода механизмов защиты от динамического анализа > 10 000 строк Исследования прекращаются (ДАО.1/ДАО.2)
Доля неверно размеченных предупреждений в выборке (САО) > 10% ИЛ выполняет анализ самостоятельно или прекращает
Доля неверно размеченных результатов тестов (ДАО.1) > 10% Исследования прекращаются
Доля неверно размеченных результатов фаззинга (ДАО.2) > 10% Исследования прекращаются
Число модулей без выполненных требований ДАО.1 > 5 модулей Исследования прекращаются
Число фаззинг-целей без выполненных требований ДАО.2 > 3 целей Исследования прекращаются
Объём кода, не анализированного разработчиком (нет САО) > 10 000 строк ИЛ делает САО самостоятельно или прекращает

Условия безусловного прекращения исследований

Следующие факты прекращают исследования немедленно, без альтернатив:

Условие Раздел
Взаимодействие сборочной среды с артефактами вне репозитория разработчика ПОД.2
Использование в сборочном процессе кода, не прошедшего анализ ПОД.2
Дистрибутив содержит исполняемые файлы, не собранные из исходных кодов ПОД.2
Динамическая загрузка кода в контекст браузера не из состава ОО КАО.1 усил. 2
Разработчик отказался снять механизмы защиты от исследований и предлагаемые решения не позволяют провести исследования ЭКО

Что расценивается как недостаток безопасности ОО

Факт Раздел
Избыточные полномочия ОО или его составных частей КАО.1, КАО.2
Избыточные разрешающие правила доступа к компонентам ОО КАО.1
Чувствительная информация («секреты») открыто в исходном коде КАО.1
Взаимодействие браузерного кода с камерой, микрофоном, геопозицией, буфером обмена, методами оплаты и т.п. КАО.1 усил. 2
Отсутствие опций безопасной компиляции и компоновки КАО.1 усил. 3
Утечки чувствительных данных в сетевой активности ОО КАО.2
Ошибки кода по типам а)–т) из ЭКО ЭКО

Ключевые пороги для «серых зон» (когда ИЛ сама решает продолжать или нет)

Ситуация Условие продолжения Условие прекращения
Доля неверной разметки САО (выборка) ≤ 10% → устранить и продолжить > 10% → ИЛ делает САО сама или прекращает
Число модулей без САО разработчика ≤ 10 000 строк → ЭКО вместо САО > 10 000 строк → прекратить или САО самостоятельно
Число модулей без ДАО.1 разработчика ≤ 5 → ИЛ тестирует сама или прекращает > 5 → прекратить
Число целей без ДАО.2 разработчика ≤ 3 → ИЛ фаззит сама или прекращает > 3 → прекратить

Проверка полноты расшифровки

Сверено с исходным ODT от 12 мая 2026 г.:

  • основные разделы 1-5, применимость исследований и усилений для уровня контроля 4
  • все пороги, влияющие на минимальный объем работ, продолжение или прекращение исследований
  • обязательные материалы протокола по п. 5.2-5.5
  • приложения 1 и 2 в части обязательной проверки машиночитаемых перечней CycloneDX: bomFormat, specVersion, metadata, components, externalReferences, properties, GOST:attack_surface, GOST:security_function, STREEBOG-256/STREEBOG-512

Подробные табличные схемы приложений 1 и 2 не переписаны дословно в отдельные справочники; их ключевые обязательные поля вынесены в проверку артефактов ПОД.1 и протокола.


Ссылки на нормативные документы

Документ Где применяется
ГОСТ Р 56939-2024 «Разработка безопасного ПО. Общие требования» Везде (оценка результатов разработчика)
ГОСТ Р 71207-2024 «Статический анализ ПО. Общие требования» САО (разметка предупреждений), САО усил. 2
ГОСТ Р 71206-2024 «Безопасный компилятор C/C++» КАО.1 усил. 3
ГОСТ 34.11-2012 «Функции хэширования» («Стрибог») ПОД.2 (контрольные суммы)
Требования доверия (приказ ФСТЭК от 02.06.2020 № 76) ПОД.1 (состав документации)
Положение о системе сертификации СЗИ (приказ ФСТЭК от 03.04.2018 № 55) ПОД.1 (методика), ПРОТОКОЛ
Портал Центра исследований: portal.linuxtesting.ru ПОД.1, САО, ДАО.1, ДАО.2
Банк данных угроз ФСТЭК: bdu.fstec.ru КАО.1 (источники уязвимостей), КАО.2 (веб)
CVE, CWE, CAPEC КАО.1 (источники уязвимостей)
CycloneDX 1.6/1.7 (JSON, RFC 8259) ПОД.1 (формат SBOM)
CIS, Kubernetes Security Best Practices КАО.1 (контейнерное исполнение)
SEI CERT C/C++ Coding Standard ЭКО (классификация ошибок)
Common Weakness Enumeration (CWE) ЭКО (классификация ошибок)
Fortify Taxonomy: Software Security Errors ЭКО (классификация ошибок)