ГОСТ Р 56939—2016
П р и м е ч а н и е - Проекг архитектуры программы может быть представлен в описании программы
(ГОСТ 19.402) и пояснительной записке (ГОСТ 19.404). При наличии в программе функциональных возможностей,
обеспечивающих реализацию мер защиты информации, проект архитектуры программы следует документировать
в соответствии с требованиями семейств ADV_FSP «Функциональная спецификация», ADV_TDS «Проект ОО» и
ADV_ARC «Архитектура безопасности» по ГОСТ Р ИСО/МЭК 15408-3.
5.3 Моры по разработке безопасного программного обеспечения, реализуемые при
выполнении конструирования и комплексирования программного обеспечения
5.3.1 Мерыпо разработке безопасного программногообеспечения, подлежащие
реализации
При выполнении конструирования и комплексирования ПО разработчик ПО должен реализовать
следующие меры:
- использование при разработке ПО идентифицированных инструментальных средств;
- создание программы наоснове уточненного проекта архитектуры программы;
- создание (выбор) и использование при создании программы порядка оформления исходного
кода программы;
- статический анализ исходного кода программы;
- экспертиза исходного кода программы.
5.3.2 Цели и результаты реализации мер по разработке безопасного программного
обеспечения
Реализация мер способствуетдостижению следующихцелей:
- создание программы на основе уточненного проекта архитектуры программы с использованием
идентифицированных инструментальных средств сопределенными опциями (настройками);
- выявление и удаление недостатков программы (потенциально уязвимых конструкций) в исход
ном коде программы;
- формирование исходных данных для выполнения динамического анализа кода программы,
фаззинг-тестирования программы и тестирования на проникновение в рамках процесса квалифика
ционного тестирования ПО.
В результате успешной реализации мер:
- программа должна быть создана с учетом требований по безопасности, установленных в про
цессе анализа требований к ПО;
- при создании программы должны быть использованы только идентифицированные разработ
чиком ПО инструментальныесредства с определенными опциями (настройками);
- в исходном коде программы должны быть выявлены и устранены недостатки программы (потен
циально уязвимые конструкции);
- необходимо сформировать исходные данные (перечень выявленных потенциально уязвимых
конструкций в исходном коде программы), используемые при проведении динамического анализа кода
программы, фаззинг-тестирования программы итестирования на проникновение.
5.3.3 Требования к реализации мер по разработке безопасного программного обеспечения
5.3.3.1 Разработчик ПО должен идентифицировать каждое инструментальное средство, исполь
зуемое при разработке ПО. иопределитьего настройки(опции), применяемыепри создании программы.
При разработке ПО должны применять только идентифицированные инструментальные средства.
Разработчику ПО следует использовать последние доступные версии инструментальных средств и их
возможности по проверке создаваемой программы на наличие проблем, имеющих отношение к
разработке безопасного ПО.
Для организации работ, выполняемых в процессах жизненного цикла ПО. и подтверждения соот
ветствия требованиям настоящего стандарта документация разработчика ПО для каждого идентифи
цированного инструментальногосредствадолжна содержать:
- наименование и идентификационные признаки инструментальногосредства;
- наименование разработчика инструментальногосредства.
- ссылку на эксплуатационныедокументы инструментальногосредства;
- значенияприменяемыхприсоздании программыопций(настроек)инструментальногосредства.
П р и м е ч а н и е — К инструментальным средствам относятся, например, трансляторы, компиляторы, при
кладные программы, используемыедля проектирования идокументирования, редакторы исходного кода программ,
отладчики, интегрированные среды разработки.
5.3.3.2 Разработчик ПО должен создаватьпрограмму на основе проекта архитектуры программы,
определенного в ходе выполнения процессов проектирования архитектуры программы.
8