ГОСТ 34673.3—2022
Выбор методов анализа осуществляет испытатель на основании сложности, объема объекта и неодно
значности результатов на каждом этапе испытаний. Для статического и динамического анализа кода ПО
предпочтительно использовать специализированные программные средства.
7.4.5 При ручном анализе кода осуществляют:
- экспертизу исходного/восстановленного кода;
- выявление архитектурных уязвимостей определением неиспользуемых в алгоритмах участков кода;
- анализ участков кода, написанного с использованием языков программирования, отличных от
заявленного в сопроводительной документации;
- проверку обоснованности применения операторов, не соответствующих алгоритмам;
- проверку осуществления контроля в устройстве точности, полноты и правильности данных, по
ступающих в программу.
Для проверки допускается использовать имитации событий в соответствии с 7.3.
7.4.6 При статическом анализе кода осуществляют выявление дополнительных возможностей по
результатам исследования программы (анализа кода) в режиме, не предусматривающем реального вы
полнения программного кода объекта оценки.
7.4.7 При динамическом анализе кода осуществляют оценку дополнительных возможностей по
результатам исследований программы (анализа кода) в режиме непосредственного исполнения (функ
ционирования) кода. Возможно применение фаззинг-тестирования, при котором на вход подают непра
вильные, неожиданные или случайные данные.
7.4.8 Наиболее распространенными инцидентами в программе, вызывающими дополнительные,
непредусмотренные в документации возможности, являются:
- переполнение буфера на стеке и куче;
- целочисленные переполнения;
-двойные освобождения памяти;
- использование памяти после ее освобождения;
- разыменовывание нулевого указателя;
- использование неинициализированных переменных;
- недостижимый код;
- утечка информации через сообщения об ошибках;
- использование присваивания вместо сравнения, функций поиска, вызова, уничтожение части
кода и т.д.
7.5 Защищенность информации от несанкционированного доступа
7.5.1 Несанкционированный доступ может быть осуществлен как при наличии подключений к
сетевым информационным ресурсам со стороны инфраструктуры, так и при использовании в протоко
лах эксплуатации, обслуживания и ремонта обращения к испытуемым объектам с помощью сервисной
аппаратуры.
7.5.2 В начале испытаний проводят проверку идентификации и аутентификации при обращениях
к программе, проверку контрольных сумм в соответствии с 7.4.3.
7.5.3 Путем анализа технической документации определяют наличие доступа к испытуемой системе
со стороны инфраструктуры или элементов среды информационного взаимодействия и обмена данными.
7.5.4 При наличии доступа необходимо проверить (в соответствии с документацией на защищен
ный канал):
- наличие доверенного (защищенного) канала между взаимодействующими объектами (субъектами)
с использованием выделенных каналов связи, защищенных линий связи и криптографических средств;
- возможность аутентификации взаимодействующих объектов (субъектов) и проверку подлинно
сти отправителя и целостности передаваемых данных;
- возможность мониторинга состояния операционной среды систем в целях выявления уязвимо
стей и обнаружения сетевых атак.
7.5.5 При наличии в протоколах эксплуатации, обслуживания и ремонта программного обращения
к испытуемым объектам:
- должно быть проверено выполнение принятых в документации протоколов доступа подключения
аппаратных средств для считывания программ и данных;
- должен быть проведен контроль (анализ) возможности ввода ошибочной информации, копиро
вания компьютерной информации или нейтрализации средств защиты информации.
14