Обзор ГОСТ Р 56939-2024: безопасная разработка программного обеспечения
С развитием цифровых технологий и увеличением зависимости бизнеса от программного обеспечения (ПО) вопросы кибербезопасности становятся всё более важными. Отсутствие критичных багов и уязвимостей в рыночном продукте и защита информационных активов пользователя – это буквально необходимость для выживания разработчиков на рынке, особенно в нынешних политико-экономических условиях. Утечки данных с использованием известных уязвимостей ПО, встраивание политических лозунгов и шифровальщиков и другие атаки на цепочки поставок через компоненты с открытым исходным кодом и программные продукты, которыми бизнес привык пользоваться каждый день, – вот суровая реальность наших дней, когда иметь в штате программистов, пишущих «просто рабочий код», уже недостаточно для того, чтобы продукт оказался востребован.
DevOps без интегрированного -Sec- уже не работает.
Старый подход, когда безопасность рассматривалась как дополнение к уже готовому продукту (и в основном только для средств защиты информации и на объектах критической информационной инфраструктуры), больше не актуален. Современные реалии диктуют необходимость интегрировать контроль безопасности на каждом этапе жизненного цикла разработки. К тому же исправить ошибки в начале разработки намного дешевле, чем в уже готовом продукте и когда их найдут ваши же пользователи.
Конечно, можно пытаться выстраивать процессы на собственном опыте, но всё же идеальный вариант, когда регуляторика не отстаёт от жизни и продвигает в отрасли лучшие практики. Утверждение новой редакции ГОСТ Р 56939-2024 — это важный шаг в стандартизации безопасной разработки в России. Новый ГОСТ как раз и акцентирует внимание на том, что безопасность должна быть встроена в процесс создания ПО с самого начала (и поддерживаться вплоть до вывода его с рынка).
Если тема безопасной разработки ПО для вас новая, рекомендуем ознакомиться со статьёй «Безопасная разработка ПО в малом и среднем бизнесе (МСБ): практическое руководство DevSecOps».
Почему появился ГОСТ Р 56939-2024?
Отдельные аспекты безопасной разработки ранее, ещё до ГОСТ Р 56939, уже рассматривались в комплексе стандартов ГОСТ Р ИСО/МЭК 15408 в виде требований доверия к безопасности, в ГОСТ Р 57580.1-2017, включающем требования к безопасной разработке и тестированию ПО, используемого в банковских системах, а также в ряде методических документов ФСТЭК России («Требования по безопасности информации, устанавливающие уровни доверия к средствам технической защиты информации и средствам обеспечения безопасности информационных технологий», «Методика оценки уровня критичности уязвимостей программных, программно-аппаратных средств», «Методика тестирования обновлений безопасности программных, программно-аппаратных средств», «Методика выявления уязвимостей и недекларированных возможностей в программном обеспечении» и др.).
Зарубежные эксперты также понимают значимость безопасной разработки: требования к ней можно найти в ISO/IEC 27001, ISO/IEC 27034, специальной публикации NIST SP 800-53 (Security and Privacy Controls for Information Systems and Organizations), материалах организаций OWASP и SAFECode. Описаны различные методологии обеспечения безопасности ПО: OWASP SAMM, DSOMM, OpenSAMM, Microsoft SDL, BSIMM.
Однако до ГОСТ Р 56939 не было единого российского стандарта, комплексно охватывающего все аспекты безопасной разработки. Различные стандарты и руководства затрагивали отдельные аспекты безопасности, больше фокусировались на оценке безопасности и зачастую были ориентированы только на конкретные отрасли (такие как финансовая).
Помните: отставать от актуальных тенденций в сфере защиты информации опасно для репутации разработчика.
Отличия новой редакции национального стандарта от старой
Новый стандарт расширяет и конкретизирует требования к разработчикам ПО, охватывая широкий спектр процессов и мер: от проработки безопасной архитектуры, определения угроз и моделирования атак до тестирования и приёмки готового программного продукта. Особенно важно, что стандарт детализирует требования к управлению уязвимостями и поддержке безопасности.
Если раньше все проверки в основном выполнялись разработчиками перед выпуском на рынок, что приводило к большим затратам на исправление ошибок, а вопросы поддержки безопасности в ходе эксплуатации в принципе мало кем рассматривались как необходимость, то теперь предусмотрены одновременно и сдвиг влево, т. к. большая часть тестирования приходится на этап разработки, и сдвиг вправо с признанием необходимости поддерживать безопасность и искать уязвимости после продажи продукта.
По сути, новый стандарт — это сближение «бумажной» и практической безопасности, регуляторика на языке безопасников-практиков с учётом лучших современных методик.
Новый стандарт — это сближение «бумажной» и практической безопасности.
Обзор ГОСТа
Основные положения стандарта включают:
- Интеграция безопасности в жизненный цикл разработки: ГОСТ подчёркивает необходимость включения мер защиты на каждом этапе жизненного цикла продукта, от планирования и проектирования до тестирования, эксплуатации и сопровождения.
- Анализ рисков и угроз, закладывание безопасности на этапе проектирования: необходимо проводить тщательный анализ рисков и моделировать потенциальные атаки, чтобы определить наиболее критичные области для защиты ещё на ранних стадиях разработки.
- Статический, динамический, композиционный анализ: ГОСТ требует применения различных инструментов статического, динамического, композиционного анализа кода для выявления потенциальных уязвимостей и ошибок.
- Тестирование на проникновение и анализ защищённости: регулярное проведение тестирования на проникновение и анализа защищённости позволяет выявлять слабости в ПО и защищаемой системе и оперативно устранять их.
- Управление уязвимостями: важно иметь чёткий процесс управления уязвимостями, который включает в себя выявление, приоритизацию, устранение и мониторинг уязвимостей.
- Обучение и повышение квалификации разработчиков: разработчики должны обладать необходимыми знаниями и навыками в области безопасной разработки ПО.
Нанимая сотрудников, сразу сообщайте им, что стремитесь к парадигме безопасной разработки.
Как применять ГОСТ Р 56939-2024 на практике?
Внедрение практик ГОСТ Р 56939-2024 может показаться сложной и дорогостоящей задачей, но на самом деле это инвестиция в будущее вашего бизнеса. Да, на начальном этапе она потребует ресурсов, но в долгосрочном периоде позволит сэкономить много сил и средств, особенно за счёт автоматизации и исправления ошибок на ранних сроках разработки, повышения доверия со стороны пользователей и интеграторов, упрощения процессов сертификации, оценки и приёмки.
Рекомендации
- Оценить текущее состояние разработки: проведите аудит существующих процессов разработки ПО, чтобы определить, какие области требуют улучшения.
- Разработать план внедрения: составьте детальный план внедрения ГОСТ Р 56939-2024, определив конкретные шаги, сроки, ресурсы и ответственных лиц.
- Выбрать и внедрить инструменты и технологии: инвестируйте в необходимые инструменты статического и динамического анализа, тестирования на проникновение, в сборочные процессы и автоматизацию.
- Повысить квалификацию сотрудников: организуйте обучение разработчиков по вопросам безопасной разработки.
- Организовать регулярный аудит и мониторинг процессов: проводите внутренний и внешний аудит и мониторинг процессов, чтобы убедиться, что меры защиты работают эффективно.
- Обеспечить должный уровень документирования и, по возможности, автоматизации.
Подтвердить зрелость процессов безопасной разработки можно, получив сертификат соответствия требованиям ГОСТ Р 56939.
Как понять, что вашей команде нужна поддержка в вопросах безопасной разработки?
Привлекать аутсорс целесообразно, если:
- У вас нет собственных специалистов по безопасности или их недостаточно.
- Вам необходимо разработать программный продукт, который соответствует строгим современным требованиям безопасности, у вас есть требования ТЗ, тендера либо иные обязательства перед внешним заказчиком.
- Вы хотите минимизировать риски и избежать дорогостоящих последствий, связанных с уязвимостями и инцидентами безопасности.
- Вы хотите получить сертификат соответствия процессов безопасной разработки требованиям ГОСТ Р 56939, но ещё не готовы к полноценному аудиту в аккредитованном органе по сертификации.
Что даёт сотрудничество со специалистами
Квалифицированные эксперты проведут независимый аудит, предложат конкретные рекомендации по инструментам и улучшению процессов с учётом бюджета, проконсультируют разработчиков и помогут с подготовкой к сертификации процессов, в том числе в части документирования. Различные варианты услуги позволят подобрать именно нужную вам конфигурацию с учётом цены и объёма требуемых работ.
В заключение
Внедрение ГОСТ Р 56939-2024 – это не просто формальное выполнение требований, а долгосрочная инвестиция в безопасность ваших продуктов, репутацию и успешность вашего бизнеса. Применение стандарта позволяет создавать более надёжные и защищённые программные продукты, минимизировать риски, связанные с уязвимостями, повысить доверие клиентов и расширить область применения ваших продуктов.
А использование специализированных консалтинговых и аудиторских услуг в сфере информационной безопасности, доступных в Москве и других городах, может значительно упростить этот процесс и обеспечить соответствие самым высоким стандартам и лучшим практикам безопасности.