Нашли неточность или есть что добавить? Напишите автору
Встраивать защиту в разработку с первых требований: моделировать угрозы, проверять код и зависимости, выпускать без известных уязвимостей.
Зачем безопасная разработка ПО
Уязвимость, найденная у пользователя, стоит дороже той же уязвимости, найденной до сборки. ПрактикаПрактикаНабор ресурсов организации для выполнения работы определённого типа.ITIL 4 встраивает защиту в саму разработку, а не пристраивает её сверху перед выпуском.
ГОСТ Р 56939-2024 ставит перед практикой четыре цели: выявлять недостатки, в том числе уязвимости; снижать их количество; снижать ущерб от тех, что остались невыявленными; оперативно устранять выявленные 1. Последние два пункта важнее, чем кажутся: стандарт не обещает разработку без уязвимостей и прямо признаёт, что часть их дойдёт до эксплуатации.
Практика отвечает не за отсутствие уязвимостей, а за то, что их ищут системно, находят рано и закрывают предсказуемо.
В России у практики есть особенность, которой нет у соседних: она бывает обязательной. Для разработчиков средств защиты информации соответствие ГОСТ Р 56939-2024 проверяется сертификацией процессов 2, для значимых объектов критической информационной инфраструктуры анализ кода требует приказ ФСТЭК № 239 3. Для остальных это добровольная практика — до первого тендера, где её попросят.
Когда практика работает
Три вопроса. Ответы на них лежат в регламентах, а не в отчётах сканеров.
Проверки описаны регламентом, а не привычкой команды. Как проверить: для каждого вида анализа записано, кто его проводит, с какой периодичностью и по каким критериям он считается завершённым. Стандарт требует именно этого: периодичность статического анализа, критерии завершения тестирования, зоны ответственности 1.
Требования безопасности заданы до кода. Как проверить: у продукта есть сформулированные требования безопасности и описание поверхности атаки, а не только функциональные истории 1.
Найденное доходит до исправления. Как проверить: есть учёт недостатков и решение по каждому. Неисправленные фиксируются вместе с оценкой влияния на безопасность — стандарт требует анализировать степень влияния неустранённых ошибок и записывать сведения о них 1.
Что входит и что рядом
| Входит в практику | Рядом, но это другая практика |
|---|---|
| Требования безопасности и моделирование угроз | Разработка вообще — DEVРазработка и управление ПО |
| Правила кодирования и экспертиза кода | Проверка и тестирование услугУслугаСпособ дать потребителю нужный результат, не перекладывая на него управление затратами и рисками.ITIL 4, книга ITIL Foundation — TSTПроверка и тестирование услуг |
| Статический, динамический, композиционный анализ | Управление уязвимостями в эксплуатации — SECУправление информационной безопасностью |
| Безопасность сборочной среды и секретов | Управление конфигурациями — CFGУправление конфигурациями |
| Безопасный выпуск и поставка | Управление релизами — RLSУправление релизами |
| Реагирование на сведения об уязвимостях | Управление рисками — RSKУправление рисками |
Двадцать пять процессов, а не «сканер в конвейере»
Раздел 5 ГОСТ Р 56939-2024 задаёт двадцать пять процессов — от планирования и обучения сотрудников до вывода ПО из эксплуатации 1. Инструментальные проверки занимают среди них меньше половины.
Полный состав по группам:
Организация. Планирование процессов. Обучение сотрудников.
Замысел. Формирование требований безопасности. Разработка и анализ архитектуры. Моделирование угроз и описание поверхности атаки.
Написание кода. Правила кодирования. Экспертиза исходного кода. Статический анализ. Динамический анализ. Композиционный анализ. Проверка кода на внедрение вредоносного ПО через цепочки поставок.
Среда. Безопасная система сборки. Безопасность сборочной среды. Управление доступом и контроль целостности кода. Безопасность используемых секретов.
Проверка и выпуск. Функциональное и нефункциональное тестирование. Безопасность при выпуске готовой версии. Безопасная поставка пользователям.
После выпуска. Поддержка при эксплуатации. Реагирование на информацию об уязвимостях. Поиск уязвимостей при эксплуатации. Вывод ПО из эксплуатации. Управление конфигурацией и управление недостатками идут сквозь весь цикл.
Каждый процесс описан одинаково: наименование, цели, требования к реализации, артефакты реализации требований 1. Артефакт — то, что предъявляют проверяющему, и потому именно он определяет, внедрён процесс или объявлен.
Что на входе и что на выходе
На входе — требования к продукту и решения об архитектуре. На выходе — выпуск с известным уровнем защищённости и записанными сведениями о том, что осталось неисправленным.
Обратное движение важнее прямого: то, что нашли при эксплуатации, возвращается в требования и правила кодирования. Без этого практика превращается в конвейер проверок, который каждый раз ловит один и тот же класс ошибок.
Три входа: почему это может оказаться обязательным
Российская нормативка подходит к безопасной разработке с трёх сторон, и попасть под неё можно, не планируя этого.
Сертификация процессов. Порядок ФСТЭК проверяет процессы разработчика «на соответствие требованиям национального стандарта Российской Федерации ГОСТ Р 56939-2024» 2. Сертификат выдаётся не более чем на пять лет. При проверке смотрят руководство по безопасной разработке, артефакты по всем двадцати пяти процессам, наличие средств статического, динамического и композиционного анализа, а также обеспеченность сотрудниками с нужными знаниями 2.
Критическая информационная инфраструктура. Приказ ФСТЭК № 239 требует для значимых объектов статический анализ исходного кода и фаззинг-тестирование, а для объектов первой категории значимости — ещё и динамический анализ 3.
Уровни доверия. Требования к уровням доверия средств защиты — третья опора, отдельная от сертификации процессов 4.
Отсюда следует вот что. Разработчик, который продаёт ПО в госсектор или в отрасли с критической инфраструктурой, приходит к этой практике не по доброй воле, а по требованию заказчика — и лучше прийти заранее.
Как это работает
| Шаг | Работа команды | Что даёт |
|---|---|---|
| 1. Планирование | Определяем, какие процессы внедряем и в каком порядке | План и регламенты 1 |
| 2. Требования | Формулируем требования безопасности к продукту | Требования до кода 1 |
| 3. Угрозы | Моделируем угрозы, описываем поверхность атаки | Карта того, что защищаем 1 |
| 4. Правила | Задаём правила кодирования и учим им сотрудников | Правила и обучение 1 |
| 5. Проверки кода | Экспертиза, статический, динамический, композиционный анализ | Найденные недостатки 1 |
| 6. Среда | Защищаем сборку, доступ к коду, секреты | Доверенная сборка 1 |
| 7. Выпуск | Оцениваем влияние неустранённых ошибок, выпускаем и поставляем | Решение о выпуске 1 |
| 8. После выпуска | Реагируем на сведения об уязвимостях, ищем новые | Обратная связь в шаги 2–4 1 |
Два места стоит объяснить отдельно.
Второй и третий шаги делают до кода, а не после. Требования безопасности и модель угроз — вход для всего остального: без них проверки ищут вообще, а не то, что для этого продукта опасно.
Восьмой шаг замыкает круг. Уязвимость, найденная после выпуска, — вопрос к правилам кодирования и к набору проверок: почему её не поймали и что изменить, чтобы поймать похожую.
Что с чем путают
Безопасная разработка и тестирование. Проверки безопасности — часть работы, а не вся она. Из двадцати пяти процессов инструментальный анализ занимает пять; остальное — требования, архитектура, среда, поставка, реагирование 1.
Безопасная разработка и информационная безопасность. Практика отвечает за то, как создаётся продукт, SECУправление информационной безопасностью — за защиту компании и её данных. Пересекаются они в реагировании на уязвимости.
DevSecOps и ГОСТ. DevSecOps — подход без владельца и канонического текста, у него нет ни требований, ни проверяемых артефактов. ГОСТ Р 56939-2024 — стандарт с проверяемыми требованиями и сертификацией. Второе нельзя заменить первым в разговоре с проверяющим.
Сертификация процессов и сертификация продукта. Первое подтверждает, что процессы разработчика соответствуют стандарту 2. Второе — что конкретная версия продукта соответствует требованиям. Это разные документы и разные проверки.
Кто участвует
Ни один первоисточник не называет должностей. Все три уровня требований — стандарт, порядок сертификации и NIST — говорят об одном: роли должны быть выписаны и закреплены документом.
| Роль | За что отвечает | Откуда требование |
|---|---|---|
| Руководство разработчика | Решение о внедрении и выделение ресурсов | ГОСТ: «непосредственное участие руководства разработчика и выделение необходимых ресурсов» 1 |
| Ответственный за процессы | Регламенты, артефакты, внутренние проверки | Порядок ФСТЭК: распределение ролей в руководстве по безопасной разработке 2 |
| Разработчики | Правила кодирования, экспертиза кода, исправления | Требования к артефактам процессов кодирования 1 |
| Тестировщики и аналитики защищённости | Инструментальный анализ и тестирование | Требования к процессам анализа 1 |
| Реагирование на уязвимости | Приём сведений об уязвимостях и решения по ним | NIST: отдельная группа практик RV 7 |
NIST выносит роли в отдельную практику PO.2 и требует ролевого обучения, а также обязательства руководства, «переданного всем, у кого есть роли в разработке» 7.
Как измерять
Здесь у практики особенность, которую стоит знать до того, как от вас потребуют отчётность.
ГОСТ не задаёт ни одной метрики и ни одного числового порога 1. Вместо них он требует артефакты по каждому процессу, периодичность работ, которую разработчик определяет сам, и критерии — например, «критерии завершения и остановки тестирования». То есть по стандарту измеряют соответствие процессов и полноту артефактов, а не проценты.
Показатели с названиями есть только в открытых моделях зрелости.
| Показатель | Что показывает | Чем плох, если единственный |
|---|---|---|
| Число уязвимостей в разрезе критичности 9 | Объём найденного | Растёт, когда начали искать лучше |
| Число уязвимостей по слоям 9 | Где именно ломается: облако, среда, образы, приложение | Требует разметки находок |
| Среднее время до устранения 9 | Скорость реакции | Улучшается закрытием мелочи |
| Доля исправленного по продукту 9 | Доводят ли до конца | Зависит от того, что считать исправленным |
| Срок реакции по классу критичности 9 | Управляемость потока | Срок задаёт сама компания |
| Полнота артефактов по процессам 1 | Готовность к проверке | Не говорит о качестве кода |
Сроки в первоисточниках есть как обязанность, а не как число. OWASP SAMM на втором уровне требует «задать сроки для классов критичности», на третьем — их соблюдать 8. Ни одна модель не говорит, сколько дней это должно быть: число задаёт компания, исходя из своих рисков.
Двух ходовых метрик в источниках нет. «Доля выпусков без известных уязвимостей» и «плотность дефектов безопасности» звучат разумно, но ни ГОСТ, ни NIST, ни SAMM, ни DSOMM их не называют. Если вы их вводите — это ваша метрика, и обосновывать её придётся самим.
Зрелость безопасной разработки
Готовых шкал две, и они меряют разное. OWASP SAMM описывает организацию: пять бизнес-функций, пятнадцать практик, у каждой два потока и три уровня 8. OWASP DSOMM смотрит на конвейер: пять измерений и пять уровней, от базового понимания практик безопасности до их развёрнутого применения в масштабе 9. Смешивать их уровни нельзя — это разные линейки.
Российской методики оценки соответствия пока не существует: ГОСТ отсылает к отдельному национальному стандарту, которого в базе Росстандарта нет 1. На практике оценку ведут по Порядку ФСТЭК — то есть по составу артефактов 2.
Где ломается чаще всего
Шесть мест. Первые три названы российским стандартом-спутником ГОСТ Р 58412-2019, где перечислены типовые угрозы разработки 5.
Требования безопасности не заданы, и уязвимость закладывается на старте. Угроза появления уязвимостей из-за ошибок при задании требований — первая в перечне 5.
Заимствованный код приносит чужие уязвимости. Отдельная угроза: внедрение уязвимостей через модули, заимствованные у сторонних разработчиков 5. Отсюда же композиционный анализ и проверка цепочек поставок в стандарте.
Найденное сознательно не исправляют. Стандарт-спутник называет это прямо: решение о неисправлении обнаруженных ошибок принимается, «например, для сокращения времени разработки» 5. Это управленческий выбор, а не халатность, — и потому его требуют фиксировать вместе с оценкой влияния 1.
Инструменты разработки сами становятся источником уязвимостей. Второй источник угроз в стандарте — не нарушитель, а средства разработки, алгоритм работы которых может привести к появлению уязвимости 5.
Сборочную среду защищают хуже, чем продуктовую. OWASP описывает это дословно: требования безопасности продуктовой среды часто не переносят на сборочный конвейер, реестр образов остаётся незащищённым, и это грозит кражей всего исходного кода компании 9.
Безопасность не встроена в модель разработки. NIST начинает документ с того же наблюдения: немногие модели жизненного цикла явно и подробно занимаются безопасностью, поэтому практики приходится добавлять в модель отдельно 7.
Что говорят своды
68Своды знаний и стандарты — разобраны отдельноЧем ITIL отличается от COBIT и ISO, что из этого обязательно, а что на выбор, и где брать первоисточник. У каждого свода отмечено, развивается он или давно заморожен, и есть ли действующий ГОСТ. По 51 практикам из 62 проставлено соответствие COBIT.Открыть →ГОСТ Р 56939-2024 — головной документ российского семейства. Действует с 20 декабря 2024 года, заменил редакцию 2016 года. Разработчиков десять, головной — ФСТЭК России; среди остальных «Лаборатория Касперского», ИСП РАН, «ИнфоТеКС», Positive Technologies, «РусБИТех-Астра», «СберТех» 1. Задаёт двадцать пять процессов с целями, требованиями и артефактами.
Порядок сертификации ФСТЭК делает эти требования обязательными для разработчиков средств защиты информации и описывает, что именно проверяют 2.
Приказ ФСТЭК № 239 — второй вход: анализ кода для значимых объектов критической информационной инфраструктуры 3.
ГОСТ Р 58412-2019 — стандарт-спутник: перечень типовых угроз, из-за которых практика ломается 5. Оговорка: его приложение сопоставляет угрозы с мерами редакции 2016 года, и на новые процессы его пересчитывать нельзя.
ГОСТ Р 71206-2024 и ГОСТ Р 71207-2024 уточняют отдельные технологии — безопасный компилятор и статический анализ 6.
NIST SP 800-218 SSDF — открытая международная рамка. Четыре группы практик: подготовить организацию, защитить само ПО, выпускать хорошо защищённое ПО, реагировать на уязвимости 7.
OWASP SAMM и DSOMM — открытые модели зрелости, первая про организацию, вторая про конвейер 8, 9.
ISO/IEC 27034 говорит о безопасности приложений в целом — это соседний ориентир, а не международный аналог ГОСТ Р 56939 10.
Вывод для практики: российский стандарт подробнее международных рамок в требованиях и артефактах, но не даёт ни метрик, ни методики оценки. Числа и шкалы приходится брать из открытых моделей и обосновывать самим.
Где описано
| Источник | Что даёт | Доступ |
|---|---|---|
| ГОСТ Р 56939-2024 | Двадцать пять процессов: цели, требования, артефакты | Платно |
| Порядок сертификации процессов, приказ ФСТЭК № 240 | Что и как проверяют при сертификации | Бесплатно |
| Приказ ФСТЭК № 239, пункт 29.3 | Анализ кода для значимых объектов | Бесплатно |
| ГОСТ Р 58412-2019 | Типовые угрозы разработки | Платно |
| NIST SP 800-218 SSDF | Четыре группы практик, задачи и примеры | Бесплатно |
| OWASP SAMM и DSOMM | Уровни зрелости и названия показателей | Бесплатно |
Бесплатного официального текста ГОСТ Р 56939-2024 нет: просмотрщик Росстандарта его не отдаёт, а правовые базы показывают документ не целиком.
Что почитать дальше
Три соседние практики: DEVРазработка и управление ПО — разработка вообще, TSTПроверка и тестирование услуг — проверка и тестирование результата, SECУправление информационной безопасностью — что происходит с уязвимостями за пределами разработки.
Источники
- Росстандарт. ГОСТ Р 56939-2024 «Защита информации. Разработка безопасного программного обеспечения. Общие требования». 2024. Бесплатного официального текста нет: просмотрщик protect.gost.ru для этого стандарта отдаёт пустой список страниц (для других стандартов отдаёт), издание продаёт ФГБУ «Институт стандартизации». Открытая часть ГАРАНТа (https://base.garant.ru/410749342/) показывает текст с начала до пункта 5.16.3.2, дальше обрывается; полный перечень процессов 5.1—5.25 подтверждён приказом ФСТЭК России от 30.06.2025 № 230 и снят по PDF-репродукции официального издания (36 страниц, совпадает с данными Росстандарта). действующий национальный стандарт, головной документ российского семейства по безопасной разработке
- ФСТЭК России. Порядок проведения сертификации процессов безопасной разработки программного обеспечения средств защиты информации (приказ от 1 декабря 2023 г. № 240 в редакции приказа от 30 июня 2025 г. № 230). 2025. Диапазон «пункты 5.1-5.25» в тексте приказа — независимое подтверждение того, что в разделе 5 ГОСТ Р 56939-2024 ровно 25 процессов. Сводная редакция Порядка со всеми правками читается в Контур.Норматив: https://normativ.kontur.ru/document?moduleId=1&documentId=502199 . ведомственный порядок, которым требования ГОСТ Р 56939-2024 становятся обязательными для разработчиков средств защиты информации
- ФСТЭК России. Требования по обеспечению безопасности значимых объектов критической информационной инфраструктуры Российской Федерации (приказ от 25 декабря 2017 г. № 239 в ред. приказа от 28 августа 2024 г. № 159), пункты 29.3 и 29.4. 2024. Проверено вручную: страница отвечает, требования на месте. нормативный акт регулятора, распространяющий требования безопасной разработки на прикладное ПО значимых объектов КИИ
- ФСТЭК России. Требования по безопасности информации, устанавливающие уровни доверия к средствам технической защиты информации и средствам обеспечения безопасности информационных технологий (утверждены приказом от 2 июня 2020 г. № 76). 2020. На сайте выложена выписка. Ссылки на ГОСТ Р 56939 в опубликованном тексте нет — требования сформулированы самостоятельно; связку «уровни доверия ↔ ГОСТ Р 56939» открытая часть документа не подтверждает, и в текст её выносить нельзя. требования доверия — вторая ведомственная опора безопасной разработки, помимо сертификации процессов
- Росстандарт. ГОСТ Р 58412-2019 «Защита информации. Разработка безопасного программного обеспечения. Угрозы безопасности информации при разработке программного обеспечения». 2019. Ловушка: справочное приложение А сопоставляет угрозы с мерами ГОСТ Р 56939—2016, то есть с заменённой редакцией. Соответствия угроз процессам ГОСТ Р 56939-2024 в стандарте нет, и придумывать его нельзя. Текст читался по PDF-репродукции официального издания (28 страниц, совпадает с данными Росстандарта); распознавание местами шумит, поэтому дословно цитировать оттуда стоит только заголовки. действующий стандарт-спутник: перечень типовых угроз, из-за которых практика ломается
- Росстандарт. ГОСТ Р 71206-2024 «Безопасный компилятор языков С/С++» и ГОСТ Р 71207-2024 «Статический анализ программного обеспечения». 2024. Карточка ГОСТ Р 71206-2024: https://protect.gost.ru/gost/details/69c88ad4-65e4-41b5-a9dd-f43131dfb249 . Оба стандарта введены в действие на восемь месяцев раньше головного ГОСТ Р 56939-2024. Тексты обоих на protect.gost.ru бесплатно не открываются (просмотрщик отдаёт пустой список страниц). два действующих стандарта, уточняющих отдельные технологии из ГОСТ Р 56939
- NIST. NIST SP 800-218. Secure Software Development Framework (SSDF) Version 1.1: Recommendations for Mitigating the Risk of Software Vulnerabilities. 2022. Числа «девятнадцать практик» и «сорок две задачи» в самом документе словами не написаны — это подсчёт действующих обозначений по таблице 1 после вычета выведенных из обращения (PW.3, PW.3.1, PW.3.2, PW.4.3, PW.5.2), которые перечислены в журнале изменений. Если ставить цифру в текст портала, безопаснее давать её вместе с перечнем обозначений. Публикация бесплатна, DOI 10.6028/NIST.SP.800-218. открытая рамка безопасной разработки NIST — международный ориентир рядом с российским стандартом
- OWASP Foundation. OWASP SAMM (Software Assurance Maturity Model), версия 2. 2020. Числовых порогов SAMM не задаёт: уровни описаны словами, набор метрик организация определяет сама. Официального русского перевода модели на сайте владельца нет. открытая модель зрелости безопасной разработки, лицензия CC BY-SA 4.0
- OWASP Foundation. OWASP DevSecOps Maturity Model (DSOMM). 2026. Значений и порогов у показателей нет — заданы только названия и уровень, на котором показатель появляется. Код проекта под GPL-3.0, содержание — под Attribution-ShareAlike; проект ведут Timo Pagel и Aryan Prasad. Сайт dsomm.owasp.org рисуется скриптом, поэтому состав модели снят по YAML-файлам владельца: https://raw.githubusercontent.com/devsecopsmaturitymodel/DevSecOps-MaturityModel-data/main/src/assets/YAML/meta.yaml . вторая модель зрелости OWASP — про конвейер, а не про организацию; данные лежат в открытом репозитории владельца
- ISO/IEC. ISO/IEC 27034-1:2011. Information technology — Security techniques — Application security — Part 1: Overview and concepts. 2011. Прямого международного аналога у ГОСТ Р 56939-2024 нет: ISO/IEC 27034 говорит о безопасности приложений в целом, а не о требованиях к процессу разработки. международный стандарт по безопасности приложений — соседний ориентир, не аналог ГОСТ Р 56939