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