5.4.3.4 Разработчик ПО должен обеспечить проведение фаззинг–тестирования программы с целью выявления уязвимостей программы. Тесты, выполняемые в рамках фаззинг–тестирования программы, должны быть разработаны с учетом:
- проекта архитектуры программы, в том числе информации о заимствованных у сторонних разработчиков ПО компонентах;
- результатов моделирования угроз безопасности информации (перечень выявленных потенциальных угроз безопасности информации);
- результатов статического анализа исходного кода программы (перечень выявленных потенциально уязвимых конструкций в исходном коде программы);
- результатов экспертизы исходного кода программы (перечень выявленных потенциально уязвимых конструкций в исходном коде программы).
По результатам фаззинг–тестирования программы могут проводить доработку программы.
Дпя организации работ, выполняемых в процессах жизненного цикла ПО, документация разработчика ПО должна содержать список выявленных в ходе проведения фаззинг–тестирования программы уязвимостей программы (при выявлении).
Для подтверждения соответствия требованиям настоящего стандарта документация разработчика ПО должна содержать:
- сведения о периодичности проведения фаззинг–тестирования программы;
- план тестирования, описание выполняемых тестов и инструментальных средств, используемых для фаззинг–тестирования программы;
- отчеты, содержащие список выявленных уязвимостей программы (при выявлении), описание действий, направленных на их устранение, либо обоснование невозможности или отсутствия необходимости в устранении выявленной уязвимости программы.
Разработчику ПО следует обеспечить конфиденциальность информации, связанной с выявленными в ходе фаззинг–тестирования программы уязвимостями программы [из 5.4.3.4 ГОСТ Р 56939–2016]