РБПО — разработка безопасного
программного обеспечения
Авторская учебная серия: нормативная база, процессы и практика безопасной разработки — на шести слайдах.
Уязвимости
ГОСТ Р ИСО/МЭК 27000-2021
«уязвимость (vulnerability): Слабое место актива или меры обеспечения информационной безопасности (3.14), которое может быть использовано одной или несколькими угрозами (3.74)».
[ГОСТ Р ИСО/МЭК 27000-2021 «Информационные технологии. Методы и средства обеспечения безопасности. Системы менеджмента информационной безопасности. Общие сведения и словарь», п. 3.77].ГОСТ Р 56545-2015
Уязвимость — недостаток (слабость) программного (программно-технического) средства или информационной системы в целом, который (которая) может быть использована для реализации угроз безопасности информации
[ГОСТ Р 56545-2015 «Защита информации. Уязвимости информационных систем. Правила описания уязвимостей»].УЯЗВИМОСТЬ НУЛЕВОГО ДНЯ (0-DAY)
«уязвимость нулевого дня: Уязвимость, которая становится известной до момента выпуска разработчиком компонента информационной системы соответствующих мер защиты информации, исправлений недостатков или соответствующих обновлений».
[ГОСТ Р 56545-2015 «Защита информации. Уязвимости информационных систем. Правила описания уязвимостей», п. 3.8].CWE (COMMON WEAKNESS ENUMERATION)
Поддерживаемый сообществом перечень типов недостатков программного и аппаратного обеспечения, которые при определённых условиях могут привести к уязвимостям. CWE описывает типы недостатков, а не конкретные уязвимости.
[Источник: https://cwe.mitre.org/].- недостатки, связанные с неправильной настройкой параметров программного обеспечения;
- недостатки, связанные с неполнотой проверки вводимых (входных) данных;
- недостатки, связанные с возможностью прослеживания пути доступа к каталогам;
- недостатки, связанные с возможностью перехода по ссылкам;
- недостатки, связанные с возможностью внедрения команд ОС;
- недостатки, связанные с межсайтовым скриптингом (выполнением сценариев);
- недостатки, связанные с внедрением интерпретируемых операторов языков программирования или разметки;
- недостатки, связанные с внедрением произвольного кода;
- недостатки, связанные с переполнением буфера памяти;
- недостатки, связанные с неконтролируемой форматной строкой;
- недостатки, связанные с вычислениями;
- недостатки, приводящие к утечке/раскрытию информации ограниченного доступа;
- недостатки, связанные с управлением полномочиями (учетными данными);
- недостатки, связанные с управлением разрешениями, привилегиями и доступом;
- недостатки, связанные с аутентификацией;
- недостатки, связанные с криптографическими преобразованиями (недостатки шифрования);
- недостатки, связанные с подменой межсайтовых запросов;
- недостатки, приводящие к «состоянию гонки»;
- недостатки, связанные с управлением ресурсами;
- иные типы недостатков.
обнаружена
идентификатор
нулевого дня
Внесена в базу
популярной
«3.2 безопасное программное обеспечение: Программное обеспечение, разработанное с использованием совокупности мер, направленных на предотвращение появления и устранение уязвимостей программы».
«3.1 безопасное программное обеспечение: Программное обеспечение, разработанное в ходе реализации совокупности процессов (мер), направленных на предотвращение появления и устранение недостатков программы».
НЕДОСТАТОК ПРОГРАММЫ · ГОСТ Р 56939-2024, п. 3.8
«3.8 недостаток программы: Любое несоответствие программы заданным требованиям или любая ошибка, допущенная в ходе проектирования или реализации программы, которая в случае ее неисправления может являться причиной невозможности выполнения требуемых функциональных возможностей или уязвимости программы».
Понятие расширено:
процессы РБПО направлены на предотвращение появления и устранение недостатков программы;
уязвимость программы является одним из видов таких недостатков.
Сертификация процессов безопасной разработки ПО средств защиты информации
ФСТЭК РОССИИ
от 30.06.2025 № 230
зарегистрирован Минюстом России 18.09.2025, рег. № 83573; официально опубликован 19.09.2025
Порядок проведения сертификации процессов безопасной разработки программного обеспечения средств защиты информации
утверждён приказом ФСТЭК России от 1 декабря 2023 г. № 240
(зарегистрирован Минюстом России 16.04.2024, рег. № 77896)
Область Порядка № 240: процессы проектирования и производства ПО СЗИ,
предназначенных для защиты сведений, составляющих государственную тайну, или иной
охраняемой законом информации ограниченного доступа (п. 1 Порядка)
- актуализирована версия стандарта: оценка процессов — по ГОСТ Р 56939-2024 (приказ Росстандарта от 24.10.2024 № 1504-ст);
- введён п. 5.1 — требования к содержанию руководства по безопасной разработке ПО (область действия, цели, процессы, роли, регламенты по пп. 5.1–5.25, внутренние проверки, улучшение процессов);
- сертификация — на материально-технической базе изготовителя на территории Российской Федерации, с доступом органа по сертификации к среде сборки и разработки ПО (п. 18);
- проверяется наличие средств композиционного, статического и динамического анализа ПО (пп. 5.8–5.12, 5.16, 5.18, 5.19 требований) (п. 19);
- сертификат соответствия выдаётся на область действия, указанную в руководстве по безопасной разработке ПО, и на срок, указанный в заявке, но не более чем на 5 лет (п. 30).
ПРАКТИЧЕСКОЕ СЛЕДСТВИЕ СЕРТИФИКАЦИИ
Согласно п. 71.1 Положения о системе сертификации СЗИ, утверждённого приказом ФСТЭК России от 03.04.2018 № 55, заявитель — разработчик СЗИ, имеющий сертификат соответствия процедур безопасной разработки ПО требованиям национальных стандартов в области защиты информации, при внесении изменений в сертифицированное СЗИ проводит испытания
Требования ГОСТ Р 56939-2024
Национальный стандарт «Защита информации. Разработка безопасного программного обеспечения. Общие требования»
- содержит описание 25 процессов разработки безопасного ПО;
- не привязывает процессы к одной модели жизненного цикла;
- адресован разработчикам и производителям ПО, а также организациям, оценивающим соответствие процессов;
- позволяет определить применимый набор процессов с учётом НПА, стандартов, ТЗ и иных документов;
- учитывает специфику, масштаб и сложность ПО.
устанавливает требования к разработке ПО, включая ПО в составе программно-аппаратных комплексов (ПАК) и автоматизированных систем (АС); требований к разработке аппаратной части конечного изделия напрямую не устанавливает, но учитывает аппаратные и программно-аппаратные средства среды сборки и разработки.
Конкретная совокупность процессов определяется применимыми нормативными правовыми актами, стандартами, техническим заданием и иными документами. Если установлено требование соответствия ГОСТ Р 56939-2024, обязательны все требования стандарта, кроме сформулированных с использованием слов «рекомендуется» и «может» (пп. 4.7, 4.14–4.15).
Стандарт устанавливает общие требования к работам по созданию безопасного ПО и устранению выявленных недостатков, в том числе уязвимостей, и описывает 25 процессов (пп. 5.1–5.25); процессы соотносятся с этапами принятой модели жизненного цикла с учётом специфики, масштаба и сложности ПО. Названия процессов сокращены: ПО — программное обеспечение, РБПО — разработка безопасного программного обеспечения.
Можно ли сделать систему без уязвимостей?
В каждой программе есть ошибка.
Если в программе нет ошибок, значит, в исходном алгоритме есть ошибка.
Если ни в программе, ни в алгоритме ошибок нет, то такая программа никому не нужна.
Аксиомы — не пессимизм, а отправная точка: раз ошибки неизбежны, их нужно предотвращать, находить и устранять системно — на всех этапах жизненного цикла ПО.
- в сложном ПО могут оставаться невыявленные уязвимости; поэтому необходимы систематический поиск, актуализация сведений и реагирование на протяжении срока технической поддержки;
- в ходе эксплуатации могут выявляться ранее неизвестные уязвимости; сведения о них необходимо регулярно актуализировать в течение срока технической поддержки;
- в конфигурации системы могут появляться уязвимости при вводе системы в эксплуатацию и в ходе её эксплуатации;
- человеческий фактор.
ИСКЛЮЧИТЬ
УСТРАНИТЬ
НЕ ДОПУСТИТЬ
Разработка безопасного ПО — это навык.
Авторская учебная серия посвящена направлению «Разработка безопасного программного обеспечения»: нормативная база ФСТЭК России, требования ГОСТ Р 56939-2024 и практика внедрения 25 процессов РБПО. Материал предназначен для разработчиков, специалистов по ИБ и руководителей команд.