Второй уровень контроля достаточен для ПО, используемого при защите информации с грифом «СС».
Третий уровень контроля достаточен для ПО, используемого при защите информации с грифом «С».
1.5 Самый низкий уровень контроля — четвертый, достаточен для ПО, используемого при защите конфиденциальной информации.
2. Термины и определения
2.1. Недекларированные возможности — функциональные возможности ПО, не описанные или не соответствующие описанным в документации, при использовании которых возможно нарушение конфиденциальности, доступности или целостности обрабатываемой информации.
Реализацией недекларированных возможностей, в частности, являются программные закладки.
2.2. Программные закладки — преднамеренно внесенные в ПО функциональные объекты, которые при определенных условиях (входных данных) инициируют выполнение не описанных в документации функций ПО, приводящих к нарушению конфиденциальности, доступности или целостности обрабатываемой информации.
2.3. Функциональный объект — элемент программы, осуществляющий выполнение действий по реализации законченного фрагмента алгоритма программы.
В качестве функциональных объектов могут выступать процедуры, функции, ветви, операторы и т. п.
2.4. Информационный объект — элемент программы, содержащий фрагменты информации, циркулирующей в программе. В зависимости от языка программирования в качестве информационных объектов могут выступать переменные, массивы, записи, таблицы, файлы, фрагменты оперативной памяти и т.п.
2.5. Маршрут выполнения функциональных объектов — определенная алгоритмом последовательность выполняемых функциональных объектов.
2.6. Фактический маршрут выполнения функциональных объектов — последовательность фактически выполняемых функциональных объектов при определ1нных условиях (входных данных).
2.7. Критический маршрут выполнения функциональных объектов — такой маршрут, при выполнении которого существует возможность неконтролируемого нарушения установленных правил обработки информационных объектов.
2.8. Статический анализ исходных текстов программ — совокупность методов контроля (не)соответствия реализованных и декларированных в документации функциональных возможностей ПО, основанных на структурном анализе и декомпозиции исходных текстов программ.
2.9. Динамический анализ исходных текстов программ — совокупность методов контроля (не)соответствия реализованных и декларированных в документации функциональных возможностей ПО, основанных на идентификации фактических маршрутов выполнения функциональных объектов с последующим сопоставлением маршрутам, построенным в процессе проведения статического анализа.
3. Требования к уровню контроля
3.1. Перечень требований
Требование /Уровень контроля
/4 /3 /2 /1
Требования к документации
I. Контроль состава и содержания документации / / / /
1.1. Спецификация (ГОСТ 19.202-78) /4- /= /= /=
1.2. Описание программы (ГОСТ 19.402-78) /+/= /= /=
1.3. Описание применения (ГОСТ 19.502-78) /+ /= /= /=
1.4. Пояснительная записка (ГОСТ 19.404-79) /- /+ /= /=
1.5. Тексты программ, входящих в состав по (ГОСТ 19.401-78) /+ /= /= /=
Требования к содержанию испытаний
2. Контроль исходного состояния ПО /+ /= /= /=
3. Статический анализ исходных текстов программ / / / /
3.1. Контроль полноты и отсутствия избыточности исходных текстов /+ /+ /+ /=
3.2. Контроль соответствия исходных текстов ПО его объектному (загрузочному) коду /+ /= /= /+
3.3. Контроль связей функциональных объектов по управлению /— /+ /=/=
3.4. Контроль связей функциональных объектов по информации /- /+ /= /=
Окончание табл.
Требование /Уровень контроля
/4 /3 /2 /1
Требования к содержанию испытаний
3.5. Контроль информационных объектов /- /+ /= /=
3.6. Контроль наличия заданных конструкций в исходных текстах /- /- /+ /+
3.7. Формирование перечня маршрутов выполнения функциональных объектов /- /+ /+ /=
3.8. Анализ критических маршрутов выполнения функциональных объектов /- /- /+ /=
3.9. Анализ алгоритма работы функциональных объектов на основе блок-схем, диаграмм и т.п., построенных по исходным текстам контролируемого ПО / / /+ /
4. Динамический анализ исходных текстов программ / / / /
4.1. Контроль выполнения функциональных объектов /- /+ /+ /=
4.2. Сопоставление фактических маршрутов выполнения функциональных объектов и маршрутов, построенных в процессе проведения статического анализа /- /+ /+ /=
5.Отчетность /+ /+ /+ /+
Обозначения:
«-» — нет требований к данному уровню;
«+» — новые или дополнительные требования;
«=» — требования совпадают с требованиями предыдущего уровня.
3.2. Требования к четвертому уровню контроля.
3.2.1. Контроль состава и содержания документации.
В состав документации, представляемой заявителем, должны входить:
>• спецификация (ГОСТ 19.202-78), содержащая сведения о составе ПО и документации на него;
>• описание программы (ГОСТ 19.402-78), содержащее основные сведения о составе (с указанием контрольных сумм файлов, входящих в состав ПО), логической структуре и среде функционирования ПО, а также описание методов, приемов и правил эксплуатации средств технологического оснащения при создании ПО;
>• описание применения (ГОСТ 19.502-78), содержащее сведения о назначении ПО, области применения, применяемых методах, классе решаемых задач, ограничениях при применении, минимальной конфигурации технических средств, среде функционирования и порядке работы;
>• исходные тексты программ (ГОСТ 19.401-78), входящих в состав ПО.
Для ПО импортного производства состав документации может отличаться от требуемого, однако содержание должно соответствовать требованиям указанных ГОСТ.
3.2.2. Контроль исходного состояния ПО.
Контроль заключается в фиксации исходного состояния ПО и сравнении полученных результатов с приведенными в документации.
Результатами контроля исходного состояния ПО должны быть рассчитанные уникальные значения контрольных сумм загрузочных модулей и исходных текстов программ, входящих в состав ПО.
Контрольные суммы должны рассчитываться для каждого файла, входящего в состав ПО.
3.2.3. Статический анализ исходных текстов программ.
Статический анализ исходных текстов программ должен включать следующие технологические операции:
>• контроль полноты и отсутствия избыточности исходных текстов ПО на уровне файлов;
>• контроль соответствия исходных текстов ПО его объектному (загрузочному) коду.
3.2.4. Отчетность.
По окончании испытаний оформляется отчет (протокол), содержащий результаты:
>• контроля исходного состояния ПО;
>• контроля полноты и отсутствия избыточности исходных текстов контролируемого ПО на уровне файлов;
>• контроля соответствия исходных текстов ПО его объектному (загрузочному) коду.
3.3. Требования к третьему уровню контроля.
3.3.1. Контроль состава и содержания документации. Требования полностью включают в себя аналогичные требования к четвертому уровню контроля.
Кроме того, должна быть представлена «Пояснительная записка» (ГОСТ 19.404-79), содержащая основные сведения о назначении компонентов, входящих в состав ПО, параметрах обрабатываемых наборов данных (подсхемах баз данных), формируемых кодах возврата, описание используемых переменных, алгоритмов функционирования и т. п.
3.3.2. Контроль исходного состояния ПО. Требования полностью включают в себя аналогичные требования к четвертому уровню контроля.
3.3.3. Статический анализ исходных текстов программ. Кроме аналогичных требований, предъявляемых к четвертому уровню контроля, дополнительно предъявляются следующие требования:
>• контроль полноты и отсутствия избыточности исходных текстов ПО на уровне функциональных объектов (процедур);
>• контроль связей функциональных объектов (модулей, процедур, функций) по управлению;
>• контроль связей функциональных объектов (модулей, процедур, функций) по информации;
>• контроль информационных объектов различных типов (например, локальных переменных, глобальных переменных, внешних переменных и т.п.);
>• формирование перечня маршрутов выполнения функциональных объектов (процедур, функций).
3.3.4. Динамический анализ исходных текстов программ. Динамический анализ исходных текстов программ должен включать следующие технологические операции:
>• контроль выполнения функциональных объектов (процедур, функций);
>• сопоставление фактических маршрутов выполнения функциональных объектов (процедур, функций) и маршрутов, построенных в процессе проведения статического анализа.
3.3.5. Отчетность.
Кроме аналогичных требований, предъявляемых к четвертому уровню контроля, дополнительно отчет (протокол) должен содержать результаты:
>• контроля полноты и отсутствия избыточности исходных текстов контролируемого ПО на уровне функциональных объектов (процедур);
>• контроля связей функциональных объектов (модулей, процедур, функций) по управлению;
>• контроля связей функциональных объектов (модулей, процедур, функций) по информации;
>• контроля информационных объектов различных типов (например, локальных переменных, глобальных переменных, внешних переменных и т.п.);
>• формирования перечня маршрутов выполнения функциональных объектов (процедур, функций);
>• контроля выполнения функциональных объектов (процедур, функций);
>• сопоставления фактических маршрутов выполнения функциональных объектов (процедур, функций) и маршрутов, построенных в процессе проведения статического анализа.
3.4. Требования ко второму уровню контроля.
3.4.1. Контроль состава и содержания документации. Требования полностью включают в себя аналогичные требования к третьему уровню контроля.