Подготовка изготовителя к сертификации процессов РБПО
Практическое руководство по подготовке к сертификации процессов безопасной разработки программного обеспечения средств защиты информации по ГОСТ Р 56939-2024 и Порядку, утверждённому Приказом ФСТЭК России №240 (в редакции №230 от 30.06.2025). Материал — для изготовителей-заявителей и организаций, внедряющих РБПО без обязательств перед ФСТЭК.
Зачем эта методика и кому она нужна
Методика — это пошаговая «дорожная карта» подготовки организации к сертификации процессов безопасной разработки ПО. Она охватывает работу с документацией, инструментарием, процессами, инструментальным контролем и кадрами — то есть весь объём, который проверяет орган по сертификации в соответствии с пунктом 19 Порядка.
Кому адресована
Изготовители-заявители
Лицензиаты ФСТЭК России на разработку СрЗИ, готовящиеся к сертификации процессов проектирования и производства ПО. Цель — успешно пройти проверку и получить сертификат соответствия.
Организации, внедряющие РБПО
Команды разработки, выстраивающие процессы безопасной разработки без обязательной сертификации — для соответствия 187-ФЗ, ПП РФ №676/№1236, корпоративным AppSec-стандартам или просто из соображений зрелости.
Ответственные за сертификацию
Менеджеры проектов, AppSec-инженеры, QMS-специалисты, начальники отделов разработки, на которых возложена координация подготовки и взаимодействие с органом по сертификации.
Эксперты органов по сертификации
Сотрудники аккредитованных ФСТЭК России органов по сертификации (область аккредитации №5 по Приказу №33), которым предстоит проводить сертификацию у изготовителя.
Что даёт работа по этой методике
Изготовитель получает чёткий перечень того, что должно существовать к моменту приезда экспертов: один утверждённый Руководящий документ, 25 регламентов и планов по процессам 5.1-5.25, набор матриц соответствия, перечень инструментов с привязкой к процессам, RACI-роли, доказательства компетентности сотрудников и набор артефактов в живых системах (VCS, CI, трекер, журналы). Без подготовки по этому списку проверка превращается в догадку «что им нужно показать»; с подготовкой — в формальную сверку.
Ключевой принцип методики: сертифицируются не продукты, а процессы. Сертификат выдаётся на область действия, описанную в Руководстве по РБПО. Любой продукт из этой области может быть выбран для проверки артефактов — невыполнение требований хотя бы для одного из них означает несоответствие процесса требованиям в целом.
Нормативная база: что регулирует сертификацию
Сертификация процессов РБПО опирается на стек из четырёх взаимосвязанных нормативных документов: один задаёт область аккредитации органов, второй — Порядок проведения сертификации, третий — собственно требования к процессам, четвёртый — частные требования к безопасному компилятору C/C++.
| Документ | Что устанавливает | Статус |
|---|---|---|
| Приказ ФСТЭК России от 10.04.2015 № 33 в ред. №148 от 27.07.2023 |
Правила аккредитации органов по сертификации СрЗИ. Область аккредитации пункт 5 — сертификация процессов РБПО. | Действующий |
| Приказ ФСТЭК России от 01.12.2023 № 240 в ред. №230 от 30.06.2025 |
Порядок проведения сертификации процессов РБПО СрЗИ. 38 пунктов + 3 приложения (заявка, решение ФСТЭК, сертификат). Изменения от №230 действуют с 30.09.2025. | Действующий |
| ГОСТ Р 56939-2024 введён 20.12.2024 (приказ Росстандарта №1504-ст) |
«Защита информации. Разработка безопасного программного обеспечения. Общие требования». 25 процессов 5.1-5.25 — собственно предмет сертификации. Заменил редакцию 2016 года. | Действующий |
| ГОСТ Р 71206-2024 введён 01.04.2024 (приказ Росстандарта №24-ст) |
«Защита информации. РБПО. Безопасный компилятор языков С/С++. Общие требования». Три класса безопасного компилятора, функции безопасности, квалификационные тесты. | Действующий |
| Постановление Правительства РФ от 26.06.1995 № 608 | «Положение о сертификации средств защиты информации». Базовый документ системы сертификации СЗИ. | Действующий |
| ГОСТ Р 56939 (ПНС) проект новой редакции |
Содержит критерии положительного заключения о реализации требований к процессу (п. 4.13 ПНС). Применять как практический ориентир — но не как нормативную ссылку в документах изготовителя. | Проект |
Хронология последних изменений
Тонкость нормативных ссылок. ГОСТ Р 71207 (статанализ) и ГОСТ Р 56939 ссылаются друг на друга без указания года. На момент введения 71207 действовала редакция 56939-2016; с 20.12.2024 действует 56939-2024. В Руководстве по РБПО изготовителю следует ссылаться на действующую редакцию явно — это снимет вопросы при экспертизе.
Дорожная карта сертификации
38 пунктов Порядка свёрнуты в пять последовательных фаз — от выбора органа по сертификации до получения сертификата. Сроки на каждой фазе — нормативные, заложенные в Порядок.
Подготовка и подача заявки в ФСТЭК России
Изготовитель выбирает аккредитованный орган по сертификации, согласовывает сроки, разрабатывает Руководство по РБПО и направляет заявку в ФСТЭК России. Заявка подписывается руководителем и заверяется печатью (при наличии); рекомендуемый образец — в Приложении №1 к Порядку.
Решение ФСТЭК России о проведении сертификации
ФСТЭК России рассматривает заявку и при отсутствии замечаний оформляет Решение в трёх экземплярах: изготовителю, органу по сертификации и в ФСТЭК. Если в заявке или Руководстве отсутствуют обязательные сведения — заявка возвращается на доработку.
Договор и проведение сертификации
Изготовитель заключает договор с органом по сертификации и предоставляет ему Руководство по РБПО. Сертификация проводится на материально-технической базе изготовителя в РФ. В процессе выполняются шесть направлений оценки (см. раздел 04).
Протокол и экспертное заключение
Орган по сертификации оформляет протокол сертификации (подписывают эксперты) и экспертное заключение (подписывают эксперты, утверждает руководитель ОС). Если выявлены несоответствия — изготовитель устраняет их и проводится повторная сертификация в нужном объёме.
Решение ФСТЭК и выдача сертификата
Орган по сертификации передаёт материалы в ФСТЭК России (экспертное заключение, проект сертификата, протоколы, Руководство по РБПО, документация на электронном носителе). При отсутствии недостатков ФСТЭК принимает решение о выдаче сертификата.
Что важно понимать про сроки. 15 рабочих дней — это срок ФСТЭК на рассмотрение заявки, а не на сертификацию в целом. Сама сертификация проводится в сроки, установленные договором с органом по сертификации; на практике — несколько месяцев. После принятия материалов сертификации ФСТЭК даётся ещё до 30 календарных дней на проверку и решение о выдаче сертификата. Сертификат вручается изготовителю в течение 10 рабочих дней после подписания.
Шесть направлений оценки (п. 19 Порядка)
Содержание сертификации задано пунктом 19 Порядка. Это шесть параллельных направлений, каждое из которых требует своих доказательств и подготовки.
1. Оценка Руководства и документации
Соответствие Руководства п. 5.1 Порядка и документации по процессам 5.1-5.25 ГОСТ Р 56939-2024.
2. Проверка артефактов реализации
Наличие у изготовителя артефактов, подтверждающих фактическое выполнение требований процессов 5.1-5.25.
3. Наличие инструментария
Средства разработки, тестирования, композиционного, статического и динамического анализа — пп. 5.8-5.12, 5.16, 5.18, 5.19.
4. Фактическое соответствие процессов
Соответствие реально выполняемых процессов Руководству и документации (модель «Ф» против модели «Д» — IDEF0).
5. Инструментальный контроль
Проверка реализации процессов представителями ОС на МТБ изготовителя — включая среду сборки и разработки.
6. Обеспеченность сотрудниками
Полнота и обеспеченность персоналом, обладающим знаниями и умениями для реализации процессов РБПО.
Логика шести направлений. Первые два — что написано и что есть в системах. Третье — какими инструментами сделано. Четвёртое — соответствие написанного и реально делаемого. Пятое — экспертная демонстрация в живой среде. Шестое — есть ли кому это всё делать. Если выпадает любая из шести — сертификат не выдаётся.
Руководство по РБПО — основной документ заявителя
Руководство по безопасной разработке программного обеспечения — единственный документ, прилагаемый к заявке в ФСТЭК России. Его соответствие пункту 5.1 Порядка проверяется в первую очередь; от его качества зависит, будет ли заявка принята к рассмотрению.
Семь обязательных разделов (п. 5.1 Порядка)
- Описание области действия — конкретные продукты, классы ПО, версии, исключения.
- Цели организации в области создания безопасного ПО.
- Перечень и описание процессов по РБПО — все 25 процессов 5.1-5.25 с описанием реализации.
- Распределение ролей и обязанностей, связанных с реализацией процессов.
- Перечень документации (регламентов) по РБПО в соответствии с подпунктами 5.1-5.25.
- Правила и требования к внутренним проверкам реализации мер РБПО, сообщения о результатах.
- Описание действий по улучшению процессов, связанных с РБПО.
Руководство должно быть утверждено руководством организации, издано и доведено до сведения всех сотрудников, имеющих отношение к безопасной разработке.
Контрольные вопросы к области действия (скоупу)
Область действия — самая критичная часть Руководства. Размытая или непоследовательная формулировка скоупа делает сертификат бесполезным («сертифицировано всё и ничего»). Перед утверждением проверьте каждый блок:
Идентификация
Что именно входит в область действия
Перечислены ли все продукты/модули/версии, входящие в область действия, в форме, позволяющей однозначно связать их с репозиториями, контурами CI, сборочными заданиями и релизными артефактами? Можно ли по тексту Руководства найти конкретный коммит, релизный артефакт, билд-номер?
Границы
Что явно НЕ входит в область действия
Явно ли указано, что не входит в область действия — экспериментальные ветки, legacy-линейки, внешние компоненты, не управляемые изготовителем, разовые проекты, форки? Описание исключений — это защита от ситуации «нашли в репозитории нечто, что под РБПО не подпадает, а ОС считает иначе».
Применимость
Как процессы 5.1-5.25 применяются к разным продуктам
Для каждого процесса 5.1-5.25 определено, как он применяется к продуктам области действия? Где применимость зависит от типа продукта (разные языки, платформы, режимы развёртывания) — это описано явно? Например: «Безопасный компилятор C/C++ применяется к продуктам A и B, в которых используется C/C++; для продукта C на Java/Kotlin применимы пп. 5.10, 5.11 в редакции для JVM-стека».
Выборка
Готовое основание для выборки объектов проверки
Внутри Руководства должно быть готовое основание для выборки: артефакты и реализации процессов ведутся в общих системах (VCS, CI, трекер) и применимы ко всей области действия. Орган по сертификации вправе попросить любой продукт из области действия — и для него артефакты должны быть. Это и есть принцип «один продукт — вся область».
Принцип «один продукт — вся область». Подтверждения могут быть запрошены для любого программного продукта из области действия Руководства. Невыполнение требований РБПО хотя бы для одного программного продукта из области действия означает несоответствие процесса требованиям. Это положение логически обосновано принципами управления риском сертификации, но не сформулировано буквально в Порядке; имеет смысл закрепить его как внутреннее правило изготовителя.
25 регламентов и планов по процессам 5.1-5.25
ГОСТ Р 56939-2024 устанавливает 25 процессов РБПО. По каждому требуется документация — план или регламент с приложениями. Минимально получается 4 плана и 21 регламент (всего 25 базовых документов); плюс прилагаемые перечни, схемы и описания (для процессов с несколькими артефактами 5.X.3.Y). Список построен из требований 5.1.3.X — 5.25.3.X стандарта.
Регламенты могут быть оформлены как самостоятельные документы или объединены в рамках общего документа (п. 4.12 ГОСТ Р 56939-2024). Требования к оформлению регламентов как таковых не предъявляются — но все они должны быть утверждены, изданы и доведены до работников.
Полный список по процессам
5.1-5.5
Планирование, обучение, требования, конфигурация, недостатки
| Процесс | Документ | Пункт ГОСТ |
|---|---|---|
| 5.1 Планирование процессов | План реализации процессов разработки безопасного ПО | 5.1.3.4 |
| 5.1 Планирование процессов | План развития процессов разработки безопасного ПО | 5.1.3.3 |
| 5.1 Планирование процессов | Описание области применения процессов | 5.1.3.5 |
| 5.2 Обучение сотрудников | План обучения сотрудников | 5.2.3.2 |
| 5.2 Обучение сотрудников | Критерии пересмотра программ обучения | 5.2.3.5 |
| 5.3 Требования безопасности к ПО | Регламент управления требованиями безопасности ПО | 5.3.3.1 |
| 5.3 Требования безопасности к ПО | Набор требований безопасности ПО | 5.3.3.2 |
| 5.4 Управление конфигурацией | Регламент управления конфигурацией ПО | 5.4.3.1 |
| 5.4 Управление конфигурацией | Перечень элементов конфигурации | 5.4.3.2 |
| 5.5 Управление недостатками | Регламент управления недостатками ПО | 5.5.3.1 |
| 5.5 Управление недостатками | Регламент управления запросами на изменение ПО | 5.5.3.2 |
5.6-5.11
Архитектура, моделирование угроз, кодирование, экспертиза, статический и динамический анализ
| Процесс | Документ | Пункт ГОСТ |
|---|---|---|
| 5.6 Разработка архитектуры | Требования к принципам проектирования архитектуры ПО | 5.6.3.1 |
| 5.6 Разработка архитектуры | Описание архитектуры ПО | 5.6.3.2 |
| 5.6 Разработка архитектуры | Критерии уточнения архитектуры ПО | 5.6.3.3 |
| 5.7 Моделирование угроз | Модель угроз ПО | 5.7.3.1 |
| 5.7 Моделирование угроз | Перечень мер по нейтрализации угроз | 5.7.3.2 |
| 5.7 Моделирование угроз | Описание поверхности атаки | 5.7.3.3 |
| 5.7 Моделирование угроз | Перечень целей для исследований безопасности | 5.7.3.4 |
| 5.8 Правила кодирования | Регламент оформления исходного кода и безопасного кодирования | 5.8.3.1 |
| 5.9 Экспертиза кода | Регламент проведения экспертизы исходного кода ПО | 5.9.3.1 |
| 5.10 Статический анализ | Регламент проведения статического анализа | 5.10.3.1 |
| 5.10 Статический анализ | Перечень инструментов статического анализа | 5.10.3.2 |
| 5.10 Статический анализ | Конфигурации и параметры настройки инструментов | 5.10.3.3 |
| 5.11 Динамический анализ | Регламент проведения динамического анализа | 5.11.3.1 |
| 5.11 Динамический анализ | Перечень инструментов динамического анализа | 5.11.3.2 |
| 5.11 Динамический анализ | Перечень модулей для динамического анализа | 5.11.3.3 |
| 5.11 Динамический анализ | Сценарии проведения тестирования | 5.11.3.4 |
5.12-5.17
Сборка, безопасность среды, целостность кода, секреты, композиционный анализ, цепочки поставок
| Процесс | Документ | Пункт ГОСТ |
|---|---|---|
| 5.12 Безопасная сборка | Регламент использования системы безопасной сборки ПО | 5.12.3.1 |
| 5.12 Безопасная сборка | Информация о сборочной среде | 5.12.3.2 |
| 5.13 Безопасность сборочной среды | Регламент обеспечения безопасности сборочной среды | 5.13.3.1 |
| 5.13 Безопасность сборочной среды | Информация о безопасности сборочной среды | 5.13.3.2 |
| 5.13 Безопасность сборочной среды | Схема сборочной среды | 5.13.3.3 |
| 5.14 Целостность кода | Регламент доступа к исходному коду ПО и обеспечения его целостности | 5.14.3.1 |
| 5.14 Целостность кода | Описание модели управления доступом | 5.14.3.2 |
| 5.15 Безопасность секретов | Регламент использования секретов | 5.15.3.1 |
| 5.16 Композиционный анализ | Регламент композиционного анализа | 5.16.3.1 |
| 5.16 Композиционный анализ | Перечень зависимостей ПО | 5.16.3.2 |
| 5.17 Проверка кода на предмет внедрения вредоносного ПО через цепочки поставок | Перечень процессов и компонентов, зависящих от сторонних поставщиков | 5.17.3.1 |
| 5.17 Проверка кода на предмет внедрения вредоносного ПО через цепочки поставок | Сведения о договорных обязательствах со сторонними поставщиками | 5.17.3.2 |
5.18-5.25
Тестирование, выпуск, поставка, поддержка, реагирование, вывод
| Процесс | Документ | Пункт ГОСТ |
|---|---|---|
| 5.18 Функциональное тестирование | План функционального тестирования | 5.18.3.1 |
| 5.19 Нефункциональное тестирование | Регламент нефункционального тестирования | 5.19.3.1 |
| 5.20 Обеспечение безопасности при выпуске готовой к эксплуатации версии ПО | Регламент приёмки ПО | 5.20.3.1 |
| 5.20 Обеспечение безопасности при выпуске готовой к эксплуатации версии ПО | Регламент обеспечения целостности ПО, передаваемого пользователям | 5.20.3.3 |
| 5.21 Безопасная поставка ПО пользователям | Документация безопасной поставки ПО пользователям | 5.21.3.1 |
| 5.22 Обеспечение поддержки ПО при эксплуатации | Документация технической поддержки | 5.22.3.1 |
| 5.23 Реагирование на информацию об уязвимостях | Регламент реагирования на информацию об уязвимостях | 5.23.3.1 |
| 5.24 Поиск уязвимостей в ПО при эксплуатации | Регламент поиска ошибок и уязвимостей в эксплуатирующемся ПО | 5.24.3.1 |
| 5.25 Обеспечение безопасности при выводе ПО из эксплуатации | Регламент вывода ПО из эксплуатации | 5.25.3.1 |
Рекомендации по приоритизации разработки
Первая очередь
- Руководство по РБПО — основа подачи заявки
- 5.3 Требования безопасности
- 5.4 Управление конфигурацией
- 5.5 Управление недостатками
- 5.10 Статический анализ
- 5.12 Безопасная сборка
- 5.13 Безопасность сборочной среды
Вторая очередь
- 5.6 Архитектура
- 5.7 Моделирование угроз
- 5.8 Правила кодирования
- 5.9 Экспертиза кода
- 5.11 Динамический анализ
- 5.14 Целостность кода
- 5.15 Секреты
- 5.16 Композиционный анализ
- 5.17 Цепочки поставок
- 5.18 Функциональное тестирование
Третья очередь
- 5.19 Нефункциональное тестирование
- 5.20 Обеспечение безопасности при выпуске готовой к эксплуатации версии ПО
- 5.21 Безопасная поставка
- 5.22 Поддержка эксплуатации
- 5.23 Реагирование на информацию об уязвимостях
- 5.24 Поиск уязвимостей в эксплуатации
- 5.25 Вывод из эксплуатации
Артефакт vs регламент. Артефакты реализации требований понимаются как любая информация в любом виде, подтверждающая выполнение требований (п. 4.11 ГОСТ Р 56939-2024). Регламент — это «правила игры», артефакт — «след игры». ОС проверяет и то, и другое; одно без другого не работает.
Матрица соответствия — ключевой внутренний документ
Матрица соответствия — это связующее звено между нормой стандарта, регламентом, системой и конкретным артефактом. Без неё подготовка к сертификации превращается в бесконечный поиск «где у нас лежит подтверждение пункта 5.X.Y.Z». Матрица ведётся как живой документ изготовителя.
Структура матрицы (4 обязательные колонки + 1)
- Требование стандарта — конкретный подпункт ГОСТ Р 56939-2024 (например, 5.12.2.2).
- Регламент / процедура, устанавливающая выполнение этого требования.
- Система, где формируется подтверждение (CI, VCS, трекер, система хранения артефактов).
- Тип и местоположение артефакта — лог, отчёт, запись, журнал, документ, результат инструмента.
- Объекты области действия, для которых артефакт должен существовать, и правила выборки.
Пример строки матрицы
| Требование | Регламент | Система | Артефакт | Область / выборка |
|---|---|---|---|---|
| 5.10.2.1 Статанализ при каждой сборке |
Регламент проведения статанализа, ред. 1.3 | GitLab CI · SonarQube | Job sast в каждом merge-pipeline; SARIF-отчёт в artifacts/sast/ |
Все продукты области; 100% pipeline-ов |
| 5.16.2.3 Перечень зависимостей актуален |
Регламент композиционного анализа | OSS-Trender · GitLab | SBOM в формате CycloneDX, обновляется при каждом релизе | Все релизные сборки; 1 SBOM на релиз |
| 5.13.2.4 Журнал доступа к сборочной среде |
Регламент безопасности сборочной среды | Active Directory · auditd · SIEM | Журнал входа и выполненных команд, retention 1 год | Все билд-агенты области |
Правило большого пальца. Если для пункта стандарта нельзя заполнить хотя бы одну строку матрицы — значит, у изготовителя для этого пункта нет ни регламента, ни доказательства, ни понимания, где это вообще должно быть. Это первый кандидат на «несоответствие» в экспертном заключении ОС.
Анализ инструментария и информационных систем
Орган по сертификации проверяет, что у изготовителя есть все типы средств, прямо названные в подпунктах 5.8, 5.9, 5.10, 5.11, 5.12, 5.16, 5.18 и 5.19 ГОСТ Р 56939-2024. Подготовка — это перечень этих инструментов с привязкой к процессам, источнику и месту в жизненном цикле.
Перечень инструментов: что в нём должно быть
- Назначение — какой процесс ГОСТ обеспечивает (например, «5.10 — статический анализ исходного кода»).
- Тип — проприетарное, Open Source, собственная разработка.
- Версия и источник поставки — релиз, дистрибутив, репозиторий.
- Контур использования — рабочее место разработчика, CI, сборочная среда, тестовая среда.
- Ответственный — кто настраивает, кто администрирует, кто отвечает за результаты.
Карта «этап ЖЦ ПО → инструмент → артефакт»
Дополняющий документ — карта связей, отражающая на каком этапе жизненного цикла какой инструмент работает и какой артефакт формирует. Помогает экспертам ОС быстро увидеть полноту покрытия, а изготовителю — найти пробелы.
| Этап ЖЦ ПО | Типовой инструмент | Артефакт | Привязка к ГОСТ |
|---|---|---|---|
| Кодирование | IDE с linter / pre-commit hooks | Логи проверок, журналы git hooks | 5.8 |
| Ревью | GitLab MR / Gerrit / Bitbucket | Записи ревью, утверждённые MR | 5.9 |
| Статанализ | SAST-инструмент (PVS-Studio, SonarQube, Svace, AppChecker) | SARIF / отчёты, журнал прогонов | 5.10 |
| Динамический анализ | Фаззер, DAST, санитайзеры (ASan/UBSan/TSan) | Отчёты падений, корпус, минимизированные тест-кейсы | 5.11 |
| Сборка | CI-система + безопасный компилятор | Логи сборки, база данных компиляции (JSON) | 5.12 |
| Защита среды сборки | auditd / SIEM / IAM | Журналы аудита, политика доступа | 5.13 |
| Композиционный анализ | SCA-инструмент (Dependency-Track, OWASP DC, OSS-Trender) | SBOM (CycloneDX/SPDX), отчёты по уязвимостям | 5.16 |
| Функциональное тестирование | TestRail / Allure / xUnit-фреймворки | Тест-планы, логи, отчёты покрытия | 5.18 |
| Нефункциональное / pen-тестирование | BurpSuite, OWASP ZAP, MaxPatrol VM, ручная экспертиза | Отчёты пентеста, журнал найденных уязвимостей | 5.19 |
Самописное и Open Source — особое внимание. Если в перечне есть собственная разработка (свой fuzzer, свой SAST-плагин) — потребуется доказать качество и полноту. Для Open Source — указать версию, источник дистрибутива, процедуру обновления и реакцию на CVE в самом инструменте. Для проприетарного — лицензионный договор и сведения об актуальности версии.
Проверка процессов: модели «Д», «Ф» и референтная (IDEF0)
Орган по сертификации использует методологию процессного моделирования IDEF0. Логика реализации процессов у каждого изготовителя своя — поэтому проверяется не «как организовано внутри», а выполнение функций: что на входе, что на выходе, какие управления и какие механизмы.
Три модели и их сравнение
Модель из документации
- Строится по Руководству по РБПО и регламентам
- Отражает заявленный способ работы процесса
- Источник — текст утверждённых документов изготовителя
Модель из интервью
- Строится по результатам интервью с сотрудниками
- Отражает фактический способ работы процесса
- Источник — устные показания исполнителей и владельцев процесса
Референтная модель
- Извлекается из ГОСТ Р 56939-2024
- Эталон, к которому стремится приведение «Ф»
- Источник — текст подпунктов 5.X.1 / 5.X.2 / 5.X.3 стандарта
Что показывает сравнение моделей
- «Ф» ≠ «Д» — документация не соответствует реальной работе. Либо процессы выполняются «не по бумаге», либо сотрудники не знают регламентов. Признак низкой зрелости.
- «Ф» = «Д» ≠ «R» — внутренний процесс согласован, но не покрывает требования стандарта. Нужно либо доработать регламент, либо признать пробел и описать его как риск.
- «Ф» = «Д» = «R» — целевое состояние. Документация, реальность и эталон совпадают.
Подготовка к интервью. Для каждого процесса 5.X должен существовать минимум один сотрудник, который: знает регламент, может показать артефакт «в системе», может объяснить входы/выходы и контрольные точки, понимает, как процесс применяется ко всей области действия. Без такого «носителя» интервью провалится — даже при идеальной документации.
Инструментальный контроль среды разработки и сборки
Инструментальный контроль реализуется представителями ОС на площадке изготовителя. Это «полевой» этап: эксперты подключаются к рабочим системам, запускают анализаторы, смотрят журналы, проверяют целостность среды сборки.
Перечень контуров и окружений
До начала проверки изготовителю нужно подготовить описание всех контуров — где, что и как происходит:
Контур разработки
Рабочие места разработчиков, IDE, локальные сборки, pre-commit hooks. Доступ к коду, локальные ключи, рабочие сертификаты.
Контур CI
GitLab/Jenkins/TeamCity-агенты, конфигурация pipeline-ов, секреты CI, кэши зависимостей. Проверка регламентов 5.10, 5.11, 5.16.
Контур сборки релизов
Изолированные сборочные агенты, релизные подписи, фиксация версий компиляторов. Процессы 5.12, 5.13.
Контур хранения результатов
Артефакторий (Nexus, Artifactory), репозиторий релизов, хранилище SBOM-ов и SARIF-отчётов. Доступ — только для уполномоченных.
Контур тестирования и анализа
Стенды для функционального и нефункционального тестирования, фаззинг-фермы, DAST-сканеры, песочницы для динамики.
Журналы аудита по сборочной среде (процесс 5.13)
- Регистрация действий — кто и что делал на билд-агентах: вход, выход, выполненные команды, изменения конфигурации.
- Целостность журналов — журналы защищены от модификации, передаются в отдельный SIEM или WORM-хранилище.
- Сроки хранения — определены и соблюдаются (типично 1 год; больше — для продуктов длительного жизненного цикла).
- Регулярная проверка — есть процедура чтения журналов (минимум — выборочные просмотры) с фиксацией в задачах.
Безопасный компилятор C/C++ (ГОСТ Р 71206-2024)
Если в составе разрабатываемого ПО есть код на C или C++, инструментальный контроль включает проверку соответствия используемых компиляторов требованиям ГОСТ Р 71206-2024. Это отдельный, технически самый сложный участок проверки.
Определение и три класса
Безопасный компилятор — компилятор, не вносящий в бинарный код программы ошибки, которых не было в исходном коде (п. 3.6 ГОСТ Р 71206-2024). Стандарт (пп. 4.7, 6) устанавливает три класса по объёму функций безопасности и допустимому замедлению. Самый низкий класс — третий, самый высокий — первый:
| Класс | Состав функций | Допустимое замедление |
|---|---|---|
| 3 класс | Базовые функции безопасности | не более 20% |
| 2 класс | Расширенный набор функций | не более 50% |
| 1 класс | Максимальная защита, в том числе динамический контроль | не более 200% |
Пять функций безопасности (Таблица 1, раздел 5)
- Безопасные преобразования кода — компилятор не «оптимизирует» проверки на null, не сворачивает обнуление памяти, не превращает определённое поведение в неопределённое.
- Оповещение о неопределённых конструкциях — диагностики на UB, переполнения, неинициализированные значения, gотовые к включению в сборку как ошибки.
- Динамический контроль неопределённых конструкций (только 1 класс) — санитайзеры и runtime-проверки, встраиваемые в бинарный код.
- Управление распределением памяти — корректные стратегии аллокации/освобождения, без UB при ошибках выделения.
- Журналирование процесса трансляции — база данных компиляции в формате JSON для последующего аудита.
- Управление механизмами защищённости — поддержка ASLR, stack protector, CFI, FORTIFY и др.
Проверка соответствия (раздел 7)
- Квалификационные тесты трёх типов: ассемблерные, времени выполнения, тесты санитайзеров.
- Производительность измеряется относительно эталонного компилятора.
- Соответствие классу подтверждается прохождением всех тестов данного и менее безопасных классов.
Пять шагов подготовки изготовителя к проверке компилятора
Профиль сборки
- Какие продукты/конфигурации из области действия будут собираться при инструментальном контроле
Реестр уникальных использований
- Для каждого pipeline — точный путь к утилитам, версии, конфигурационные файлы, наборы опций, переменные окружения
Фиксация средствами контроля сборки
- Результат фиксации позволяет однозначно восстановить, какие утилиты и с какими параметрами использовались
Проверка соответствия классу
- Квалификационные тесты (секция 7 ГОСТ Р 71206-2024) в сборочном окружении или идентичном ему
Заключение по результату
- Какому классу безопасного компилятора соответствуют все зафиксированные использования во всей проверенной сборке
Требования к фиксации использования компиляторов (п. 5.2.5 ГОСТ Р 71206-2024)
Безопасный компилятор должен фиксировать в базе данных компиляции для каждой единицы трансляции: рабочую директорию, имя файла, хэш-код файла, команду компиляции, имя выходного файла, хэш-код выходного файла, имена включаемых файлов и их хэш-коды. Формат — JSON, совместимый с базой данных компиляции clang. Хэширование — функция, определённая ГОСТ 34.11.
Пример: формат базы данных компиляции (Buildography, ИСП РАН)
Buildography — трассировщик Linux-процессов разработки ИСП РАН, собирающий сведения о выполнении сборки для последующего аудита. Один из вариантов реализации требований 71206 к фиксации сборки:
{
"directory": "/root",
"input": { "/root/main.c": "<hash>" },
"commands": [ "gcc", "main.c" ],
"component_commands": [
{
"command": [ "/usr/lib/gcc/x86_64-linux-gnu/11/cc1", "..." ],
"dependencies": { "/etc/ld.so.cache": "<hash>" },
"output": { "/tmp/ccUEQNfb.s": "<hash>" }
},
...
],
"utilities": [ { "path": "/usr/bin/x86_64-linux-gnu-gcc-11", "hash": "<hash>" }, ... ]
}
Важная оговорка про Buildography. Это инструмент ИСП РАН, упомянутый в презентации Шаркова. На момент подготовки лекции дорожная карта релизов и условия лицензирования не зафиксированы публично в нормативных документах. При планировании работ — проверьте актуальность информации у разработчика и предусмотрите альтернативные варианты инструментального контроля сборки (ваш собственный JSON-логгер, доработка clang/gcc-wrapper-ов, сторонние решения).
Анализ обеспеченности людьми
Шестое направление оценки — самое неочевидное и одновременно самое уязвимое. Идеальная документация и зрелый инструментарий не пройдут проверку, если у изготовителя нет сотрудников, способных это всё обслуживать. Подготовка строится вокруг штатного расписания, RACI-матрицы и доказательств компетентности.
Что предоставляет изготовитель
- Штатное расписание с должностями специалистов, задействованных в РБПО.
- Кадровая обеспеченность и количество вакантных позиций — особенно по ключевым ролям.
- Текучесть кадров — статистика за период; высокая текучесть ставит под вопрос воспроизводимость процессов.
- Полнота обеспеченности сотрудниками, обладающими нужными знаниями и умениями.
- RACI-матрица по процессам 5.1-5.25 — кто выполняет, утверждает, контролирует, обеспечивает инфраструктуру.
- Доказательства компетентности и обучения — план обучения, факты прохождения, участники, материалы.
Пример строки RACI-матрицы
Пример распределения для иллюстрации — конкретные роли и носители ответственности утверждаются Руководством по РБПО изготовителя.
| Процесс | R (исполнитель) | A (утверждающий) | C (консультирует) | I (информируется) |
|---|---|---|---|---|
| 5.10 Статанализ | AppSec-инженер | Руководитель отдела безопасности | Старший разработчик | Менеджер проекта, QA |
| 5.12 Безопасная сборка | DevOps-инженер | Руководитель DevOps | AppSec, архитектор | Тимлид разработки, релиз-менеджер |
| 5.16 Композиционный анализ | AppSec-инженер | Руководитель отдела безопасности | Архитектор, юрист (лицензии) | Менеджер проекта |
| 5.23 Реагирование на информацию об уязвимостях | Дежурный AppSec | CISO | Разработчики затронутых модулей | Все продуктовые команды |
Практический критерий готовности по людям
Самый простой и одновременно жёсткий тест: для каждого процесса должен существовать минимум один сотрудник, который умеет четыре вещи:
- Знает регламент — может пересказать своими словами, без подсматривания в текст.
- Может показать артефакт «в системе» — открывает CI/трекер/репозиторий и демонстрирует пример.
- Может объяснить входы/выходы и контрольные точки процесса.
- Понимает, как процесс применяется ко всей области действия — а не только к «любимому» продукту.
Антипаттерн «один человек на всё». Если в RACI один и тот же сотрудник стоит как R по большинству процессов — это не сила, а риск. ОС обоснованно усомнится в воспроизводимости процесса при болезни или увольнении этого человека. Минимально — двойное покрытие критичных ролей. Идеально — описанная процедура передачи знаний.
Критерии готовности по каждому процессу 5.X
Единый шаблон, по которому проверяется готовность каждого из 25 процессов. Применяется как самотест перед сертификацией и как чек-лист для эксперта.
- Полнота. Существует утверждённый регламент процесса, определены роли и ответственность, указаны применяемые системы и инструменты.
- Воспроизводимость. Процесс реально выполняется, и это подтверждается артефактами в системах — логами, задачами, отчётами инструментов, журналами.
- Охват области действия. Артефакты и выполнение процесса демонстрируются для любого продукта области действия (или по установленным правилам выборки внутри области действия).
- Управляемость. Определены события и периодичность пересмотра настроек, регламентов и результатов; есть журнал решений.
- Результативность. По результатам процесса принимаются решения, есть фиксация устранения выявленных недостатков и контроль закрытия.
Как пользоваться чек-листом. Заполните по каждому из 25 процессов одну страницу: пять ответов «да/нет» с краткими доказательствами. Если хотя бы по одному критерию ответ «нет» — это пробел, который надо закрыть до сертификации. Это и есть тот самый «реалистичный термометр готовности», который трудно обмануть.
Дополнительные документы, требуемые для сертификации
Помимо Руководства и 25 регламентов, на проверке потребуется набор связующих внутренних документов. Их часто упускают при подготовке — а без них экспертиза превращается в долгую сверку «вручную».
Матрица соответствия
- Связь «требование стандарта → регламент → артефакт»
- Основание: п. 4.11, 4.12 ГОСТ Р 56939-2024
- См. раздел 07 этого материала
RACI-матрица ролей
- Распределение ролей по процессам 5.1-5.25
- Основание: п. 5.1 Порядка
- См. раздел 12 этого материала
Перечень информационных систем
- и инструментальных средств РБПО
- Основание: п. 19 Порядка
- См. раздел 08 этого материала
Карта «ЖЦ → инструменты → артефакты»
- Основание: практика оценки соответствия процессов РБПО (ИСП РАН)
- См. таблицу в разделе 08
Реестр уникальных использований компиляторов
- Для проверки по ГОСТ Р 71206-2024
- Основание: п. 5.2.5, 5.2.6 ГОСТ Р 71206-2024
- См. раздел 11 этого материала
Дополнительно в комплекте материалов сертификации. Согласно п. 24 Порядка, в ФСТЭК России подаются: экспертное заключение, проект сертификата соответствия, протокол сертификации (и протокол повторной сертификации, если она проводилась), Руководство по РБПО, документация по РБПО. Всё, кроме документации, — на бумажном и электронном носителе; документация — только в электронном виде.
Спорные моменты и подводные камни методики
Несколько мест, где формулировки методики или общепринятая практика расходятся с буквой нормативных документов. Знать эти расхождения — значит быть готовым ответить на каверзный вопрос аудитора и не повторить чужих ошибок.
п. 4.13
Ссылка на «п. 4.13» — на действующий ГОСТ или на проект?
В действующем ГОСТ Р 56939-2024 пункт 4.13 устанавливает требования к среде разработки (контроль версий, непрерывная интеграция, управление задачами), а не критерии оценки процессов. Критерии положительного заключения о реализации требований к процессу содержатся в проекте стандарта (п. 4.13 ПНС). В документах изготовителя следует разделять ссылки на проект и действующий стандарт; на ПНС — только как на ориентир, без нормативной апелляции.
«Заочная»
Термина «заочная оценка» в Порядке нет
Порядок сертификации не устанавливает «заочную» оценку как отдельный нормативный этап. Документарная проверка является частью процесса сертификации, но не выделяется. Формулировать «заочную» часть имеет смысл как внутренний этап подготовки изготовителя и как практику документарной проверки органом по сертификации до выезда — но без апелляции к Порядку как к источнику этого термина.
Принцип
«Один продукт — вся область»: не буквально в Порядке
Принцип «невыполнение хотя бы для одного продукта = несоответствие процесса» логически обоснован принципами управления риском сертификации — но не сформулирован буквально в Порядке. Изготовителю рекомендуется закрепить этот принцип как внутреннее правило обеспечения однородности процессов по области действия. Это снимет вопрос «а правомерно ли ОС распространяет конкретное несоответствие на весь скоуп».
Buildography
Статус инструмента не зафиксирован публично
В презентации ИСП РАН описаны возможности Buildography, но не дорожная карта релизов и не публичные условия лицензирования. При реальном планировании работ — проверьте актуальность у разработчика (ИСП РАН) и предусмотрите альтернативные варианты инструментального контроля сборки. Требования ГОСТ Р 71206-2024 к фиксации сборки можно реализовать и собственным wrapper-ом над компилятором с генерацией JSON-журнала.
Изменения
Управление изменениями в области действия
Сертификат выдаётся на область действия, указанную в Руководстве по РБПО. Что делать, если в течение 5 лет действия сертификата появляются новые продукты или модули? В методике этот раздел отсутствует — рекомендуется добавить к Руководству порядок внесения изменений в область действия и процедуру согласования расширений с органом по сертификации. Без этого любой новый продукт окажется в «серой зоне» сертификата.
Повторная
Подготовка к повторной сертификации
Сертификат действует не более 5 лет. К концу срока — повторная сертификация. Артефакты процессов должны вестись непрерывно, а не «оживляться» к моменту проверки. Имеет смысл встроить в внутренние регламенты периодический самоаудит (раз в 6 или 12 месяцев) с фиксацией результатов — это и есть готовность к инспекционному контролю.
Цепочка
Заимствованные компоненты — слабое место
Процессы 5.16 (композиционный анализ) и 5.17 (цепочки поставок) исторически готовятся «по остаточному принципу». Для качественной подготовки — детализировать требования к документированию источников сторонних компонентов и процедур их верификации: каноничный SBOM (CycloneDX или SPDX) на каждый релиз, журнал обновления зависимостей, реакция на CVE в зависимостях, формализованные договорные обязательства с поставщиками.
AppSec.Table.Top — комплементарный инструмент самооценки
AppSec.Table.Top — методология оценки зрелости практик безопасной разработки от Positive Technologies. Распространяется свободно через cyberorda.com. Не заменяет требования ГОСТ Р 56939-2024, но удобно дополняет их там, где стандарт оставляет свободу интерпретации.
Чем полезен в контексте подготовки к сертификации
ГОСТ Р 56939 формулирует требования к процессам как «должно быть»; AppSec.Table.Top формулирует то же самое как «как именно» — с разбиением каждой практики на инициативы и привязкой к уровням зрелости. Это даёт изготовителю понятный разговорный язык для:
- самодиагностики — где вы сейчас по каждой практике, на шкале уровней зрелости;
- планирования развития процессов — какие практики поднимать в первую очередь и до какого уровня;
- обоснования инвестиций — почему именно эта роль/инструмент/процесс должен появиться в этом году.
Структура методологии
По данным самой методологии (Таблица 1): 3 стадии, 9 процессов, 26 практик и 98 инициатив. Стадии соответствуют моментам жизненного цикла безопасной разработки:
PreStageSDL
Подготовка к жизненному циклуОрганизационно-административный фундамент: общие политики SSDL, оргдокументация (OAD), моделирование угроз и требования (TMR), риски и метрики (RM), технические проекты (TP), управление доступом (AC), конфигурации (CNFG).
MainStageSDL
Основной жизненный циклБезопасное кодирование (SC), Open Source (OSS), статический анализ (SPA), GitFlow (GF), композиционный анализ (SCA), цепочки поставок (SCS), QA, динамический анализ (DPA), верификация соответствия (VC), автоматизация (PA), целостность (IA), мониторинг (MI).
PostStageSDL
Эксплуатация и развитиеУправление уязвимостями (VM), техподдержка (TS), внутренний (ISA) и внешний (ESA, в т. ч. Bug Bounty) анализ безопасности, обучение сотрудников (ET), специализированное обучение AppSec (TAS, включая Security Champions), security-портал (SP).
Доступные артефакты на cyberorda.com
- PDF с полной методологией — описание всех 98 инициатив, входов, выходов, уровней зрелости.
- Excel-шаблон с примерами заполнения — для понимания того, как должна выглядеть «зрелая» оценка.
- Чистый Excel-шаблон — для самостоятельного заполнения «как у вас».
- Word-памятка v0.2 — короткое руководство по применению.
- Статья на Хабр — авторские пояснения к подходу и примеры из практики.
Связь с процессами ГОСТ Р 56939-2024 (приблизительная)
| ГОСТ 56939 — процесс | AppSec.Table.Top — практики |
|---|---|
| 5.1 Планирование | SSDL · OAD |
| 5.2 Обучение | ET · TAS |
| 5.3 Требования безопасности | TMR · RM |
| 5.6 Архитектура | TP |
| 5.7 Моделирование угроз | TMR |
| 5.8 Кодирование | SC |
| 5.10 Статический анализ | SPA |
| 5.11 Динамический анализ | DPA |
| 5.12 Сборка | GF · IA · PA |
| 5.16 Композиционный анализ | SCA · OSS |
| 5.17 Цепочки поставок | SCS |
| 5.18 Функциональное тестирование | QA |
| 5.19 Нефункциональное тестирование | ISA · ESA |
| 5.22 Поддержка | TS |
| 5.23 Реагирование на информацию об уязвимостях | VM · MI |
Как использовать вместе. ГОСТ Р 56939-2024 — это «что должно быть» (нормативное «да/нет» по 25 процессам). AppSec.Table.Top — «насколько зрело это сделано» (уровень зрелости по каждой из 26 практик и 98 инициатив). Сначала закрываете требования стандарта на сертификацию, затем по методологии Positive Technologies планируете рост зрелости от уровня «есть» к уровню «оптимизируется». Удобный комплект: cyberorda.com/methodology.