ТК-362 приступает к рассмотрению первой редакции проекта национального стандарта о технологиях динамического анализа программного обеспечения

ТК-362 приступает к рассмотрению первой редакции проекта национального стандарта о технологиях динамического анализа программного обеспечения

Подготовлена первая редакция проекта национального стандарта ГОСТ Р «Защита информации. Разработка безопасного программного обеспечения. Технологии динамического анализа программного обеспечения. Общие требования».

Документ, подготовленный ведущими экспертами в области технической защиты информации — ФСТЭК России и ИСП РАН — предназначен для детализации процессов тестирования программного обеспечения в режиме функционирования, то есть в динамике, в составе и процессах разработки безопасного ПО.

Безопасность программного обеспечения достигается путем реализации совокупности процессов, среди которых особое значение имеют процессы тестирования программного обеспечения в режиме функционирования, то есть в динамике. Технологии динамического анализа (далее — DAST) позволяют выявлять недостатки программного обеспечения, которые могут привести к реализации угроз информационной безопасности, некорректному функционированию, ошибкам в поведении и отказам в обслуживании информационных систем.

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

Новый стандарт дополняет следующие процессы:

  • Динамический анализ, в том числе фаззинг-тестирование
  • Функциональное тестирование
  • Нефункциональное тестирование
  • Поиск уязвимостей в ПО при эксплуатации

Новый стандарт также закрепляет несколько новых понятий в области DAST:

  • Автоматизированное (с участием человека) и автоматическое (чисто инструментальное) тестирование
  • Датчик срабатывания ошибок (по аналогии с security gate в цепочках поставки)
  • Наблюдаемое поведение программы
  • Объект анализа (ПО или отдельная его часть)
  • Ожидаемый результат
  • Критерий полноты тестового покрытия (условия завершения тестирования)

Помимо этого, новый стандарт разделяет понятия программного модуля и компонента: компонент состоит из модулей.
Затронутые стандартом процессы выполняются за счёт закрепления требований:

  • К организации проведения DAST в процессах разработки
  • К внедрению технологий анализа
  • К регулярному выполнению DAST
  • К инструментальным средствам (приоритет у средств российских разработчиков)
  • К участникам процессов разработки, в частности ответственных за тестирование ПО

Также выдвигаются требования к применению тестирования на проникновение (пентест) как ручным, так и автоматизированным способом. Пентест и тестирование на отказ должны реализовываться в рамках нефункционального тестирования в соответствии с ГОСТ Р 56939-2024, а сам пентест проводится в соответствии с ГОСТ Р 58143-2018.
Одной из важных деталей стандарта является рекомендуемое Приложение А, схематично демонстрирующее применение технологий DAST на разных уровнях тестирования:

  1. Модульный (в отношении программных модулей)
  2. Интеграционный (в отношении нескольких взаимосвязанных частей ПО)
  3. Системный (в отношении всего ПО в целом)

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

Стандарт предназначен для организаций-разработчиков безопасного программного обеспечения, организаций-разработчиков инструментальных средств, реализующих технологии динамического анализа, а также организаций, выполняющих оценку соответствия процессов разработки безопасного программного обеспечения.

После официального утверждения и введения в действие применение стандарта позволит обеспечить соответствие программного обеспечения предъявляемым к нему требованиям, в том числе требованиям по безопасности, повысить надежность программного обеспечения, снизить риски реализации угроз безопасности и некорректного функционирования и, как следствие, повысить защищенность разрабатываемого программного обеспечения.