Куда я попал?
Методика выявления уязвимостей и недекларированных возможностей в программном обеспечении (Выписка)
Страна: Россия
Методическая документация ФСТЭК
4.2
Для проведения оценки соответствия по документу войдите в систему.
Список требований
-
Задачей исследования является выявление недостатков безопасности ОО самостоятельно и в результате анализа результатов выполнения процессов разработки ОО в соответствии с ГОСТ Р 56939-2024 методами и инструментами статического анализа исходного кода.Исходными данными при проведении исследования являются:
- исходные данные в соответствии с требованиями пункта 2.3 настоящей Методики, в первую очередь подпункта «б» пункта 2.3 настоящей Методики;
- сведения, полученные по результатам выполнения ПОД.1;
- испытательный стенд, полученный по результатам выполнения ПОД.2;
- план по разметке предупреждений статического анализатора по результатам предыдущих исследований ОО (если применимо).
-
При проведении статического анализа оцениваются исходные данные согласно пункту 3.1 настоящей Методики, а также проводится оценка реализации следующих требований:а) статический анализ выполняется разработчиком ОО в отношении исходного кода всех модулей, составляющих поверхность атаки ОО;
б) статический анализ выполняется разработчиком для всех высокоуровневых языков программирования, которые встречаются в исходном коде модулей<13>;в) используется статический анализатор, реализующий метод автоматизированного анализа исходного кода на уровне синтаксического дерева;г) используются конфигурации статического анализатора, учитывающие специфику используемых в ОО языков программирования и заимствуемых модулей ОО;д) выполняется статический анализ исходного кода, который штатным образом строится (генерируется) непосредственно в процессе функционирования ОО, транслируется (компилируется) и выполняется как часть ОО. Выбранные для проведения статического анализа конфигурации генератора исходного кода и средств трансляции (компиляции) обосновываются разработчиком ОО и должны соответствовать типовому сценарию функционирования ОО<14>;е) разработчиком ОО выполнена ручная разметка всех выданных анализатором предупреждений о критических ошибках в соответствии с классификацией национального стандарта Российской Федерации ГОСТ Р 71207-2024 «Защита информации. Разработка безопасного программного обеспечения. Статический анализ программного обеспечения. Общие требования»;ж) разработчиком ОО выполнена ручная разметка всех выданных анализатором предупреждений, предусмотренных планом поддержки безопасности заимствованных компонентов (в случае внесения изменения в сертифицированный ОО);з) разработчиком ОО выполнена ручная разметка всех выданных анализатором предупреждений, предусмотренных программой исследований безопасности модулей с открытым исходным кодом Центра исследований, если разработчик ОО выполняет исследование модулей ОО в рамках деятельности Центра исследований.
<13> Не требуется проведение статического анализа исходного кода, написанного на языках разметки (например, html, css3, xaml и т.п.), не требуется проведение статического анализа исходного кода, написанного на языке ассемблера.
<14> Для трансляции (компиляции) используются средства как среды функционирования ОО, так и средства, включенные в состав ОО. -
Если разработчик ОО выполняет исследование модулей ОО в рамках деятельности Центра исследований и в ходе исследования ОО выполнил статический анализ подлежащих статическому анализу модулей ОО в объеме программы исследований безопасности, то требования пункта 4.2 настоящей Методики в отношении данных модулей считаются выполненными.
В противном случае испытательная лаборатория может выполнить статический анализ кода самостоятельно в соответствии с требованиями настоящей Методики либо принять решение о невозможности проведения дальнейших исследований ОО. Если суммарный объем такого кода не превосходит 10 000 строк, допускается вместо статического анализа выполнить экспертизу участков исходного кода ОО (ЭКО). -
Испытательной лабораторией самостоятельно выполняется статический анализ исходного кода не менее чем 5 различных модулей, составляющих поверхность атаки ОО, в объеме не менее чем по 10 предупреждений для каждого высокоуровневого языка программирования в составе исходных кодов модулей. Испытательная лаборатория может использовать любой инструмент статического анализа, соответствующий требованиям Методики<15>.
<15> Инструмент статического анализа предоставляется испытательной лабораторией, встраивание инструмента в исследовательский стенд осуществляется на этапе подготовки исследовательского стенда (ПОД.2). -
3. В ходе исследований испытательной лабораторией проверяется, что для подлежащих статическому анализу модулей с открытым исходным кодом, для которых определены методики статического анализа, указанные в подпункте «л» пункта 2.3 настоящей Методики, статический анализ выполнен в соответствии с требованиями этих методик.
-
Если предоставленные разработчиком ОО результаты статического анализа исходного кода ОО, проводимого при разработке безопасного ПО, соответствуют требованиям пунктов 3.1 и 2.3 настоящей Методики, испытательной лаборатории допускается повторно использовать результаты анализа при оформлении материалов исследований.
-
Результаты исследований фиксируются в материалах исследований в объеме, соответствующем требованиям пункта 5.2 настоящей Методики. Дополнительно требуется зафиксировать в материалах исследований в формате электронных приложений:
- конфигурации инструментов статического анализа, в том числе состав выборки проверяемых предупреждений;
- машиночитаемые результаты статического анализа (база данных и иные формы представления) и результаты разметки;
- исправления (патчи) истинных предупреждений либо иные свидетельства применения исправлений (патчей);
- список модулей ОО, содержащих участки исходного кода, написанные с использованием подлежащих статическому анализу языков программирования, не поддерживаемых используемыми статическими анализаторами, либо содержащих ассемблерные вставки или целиком написанных на языке ассемблера, а также наименование неподдерживаемого языка программирования (языка ассемблера), и объем кода в строках на неподдерживаемом языке (языке ассемблера).
Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для вас с целью персонализации сервисов и предложений. Вы может прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов и соглашаетесь с Политикой обработки персональных данных.