Руководящий документ Защита от несанкционированного доступа к информации Часть 1.Программное обеспечение средств защиты информации Классификация по уровню контроля отсутствия недекларированных возможностей (утв. решением Государственной технической комиссии при Президенте РФ от 4 июня 1999 г. N 114)
Настоящий Руководящий документ (РД) устанавливает классификацию программного обеспечения (ПО) (как отечественного, так и импортного производства) средств защиты информации (СЗИ), в том числе и встроенных в общесистемное и прикладное ПО, по уровню контроля отсутствия в нем недекларированных возможностей.
Действие документа не распространяется на программное обеспечение средств криптографической защиты информации.
Уровень контроля определяется выполнением заданного настоящим РД набора требований, предъявляемого:
к составу и содержанию документации, представляемой заявителем для проведения испытаний ПО СЗИ;
к содержанию испытаний.
Руководящий документ разработан в дополнение:
РД "Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации", М., Военное издательство, 1992 г.;
РД "Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации", М., Военное издательство, 1992 г.;
РД "Средства вычислительной техники. Межсетевые экраны. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации", М., 1997 г.
Документ предназначен для специалистов испытательных лабораторий, заказчиков, разработчиков ПО СЗИ при его контроле в части отсутствия недекларированных возможностей.
1. Общие положения
1.1. Классификация распространяется на ПО, предназначенное для защиты информации ограниченного доступа.
1.2. Устанавливается четыре уровня контроля отсутствия недекларированных возможностей. Каждый уровень характеризуется определенной минимальной совокупностью требований.
1.3. Для ПО, используемого при защите информации, отнесенной к государственной тайне, должен быть обеспечен уровень контроля не ниже третьего.
1.4. Самый высокий уровень контроля - первый, достаточен для ПО, используемого при защите информации с грифом "ОВ".
Второй уровень контроля достаточен для ПО, используемого при защите информации с грифом "CC".
Третий уровень контроля достаточен для ПО, используемого при защите информации с грифом "C".
1.5 Самый низкий уровень контроля - четвертый, достаточен для ПО, используемого при защите конфиденциальной информации.
2. Термины и определения
2.1. Недекларированные возможности - функциональные возможности ПО, не описанные или не соответствующие описанным в документации, при использовании которых возможно нарушение конфиденциальности, доступности или целостности обрабатываемой информации.
Реализацией недекларированных возможностей, в частности, являются программные закладки.
2.2. Программные закладки - преднамеренно внесенные в ПО функциональные объекты, которые при определенных условиях (входных данных) инициируют выполнение не описанных в документации функций ПО, приводящих к нарушению конфиденциальности, доступности или целостности обрабатываемой информации.
2.3. Функциональный объект - элемент программы, осуществляющий выполнение действий по реализации законченного фрагмента алгоритма программы.
В качестве функциональных объектов могут выступать процедуры, функции, ветви, операторы и т.п.
2.4. Информационный объект - элемент программы, содержащий фрагменты информации, циркулирующей в программе. В зависимости от языка программирования в качестве информационных объектов могут выступать переменные, массивы, записи, таблицы, файлы, фрагменты оперативной памяти и т.п.
2.5. Маршрут выполнения функциональных объектов - определенная алгоритмом последовательность выполняемых функциональных объектов.
2.6. Фактический маршрут выполнения функциональных объектов - последовательность фактически выполняемых функциональных объектов при определённых условиях (входных данных).
2.7. Критический маршрут выполнения функциональных объектов - такой маршрут, при выполнении которого существует возможность неконтролируемого нарушения установленных правил обработки информационных объектов.
2.8. Статический анализ исходных текстов программ - совокупность методов контроля (не)соответствия реализованных и декларированных в документации функциональных возможностей ПО, основанных на структурном анализе и декомпозиции исходных текстов программ.
2.9. Динамический анализ исходных текстов программ - совокупность методов контроля (не)соответствия реализованных и декларированных в документации функциональных возможностей ПО, основанных на идентификации фактических маршрутов выполнения функциональных объектов с последующим сопоставлением маршрутам, построенным в процессе проведения статического анализа.
3. Требования к уровню контроля
3.1. Перечень требований
Таблица 1
N | Наименование требования | Уровень контроля | |||
4 | 3 | 2 | 1 | ||
Требования к документации | |||||
1 | Контроль состава и содержания документации | ||||
1.1 | Спецификация (ГОСТ 19.202-78) | + | = | = | = |
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 | Контроль связей функциональных объектов по информации | - | + | = | = |
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. Контроль исходного состояния ПО
Контроль заключается в фиксации исходного состояния ПО и сравнении полученных результатов с приведенными в документации.
Результатами контроля исходного состояния ПО должны быть рассчитанные уникальные значения контрольных сумм загрузочных модулей и исходных текстов программ, входящих в состав ПО.