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