Основные положения РД Гостехкомисии России «Защита от НСД к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей».
Руководящий документ устанавливает классификацию программного обеспечения по уровню контроля отсутствия в нём недекларированных возможностей. Под недекларированными возможностями понимаются возможности программного обеспечения, не описанные или не соответствующие описанным в документации, при использовании которых возможно нарушение конфиденциальности, доступности или целостности обрабатываемой информации.
Одной из возможных реализаций недекларированных возможностей являются программные закладки – преднамеренно внесённые в программное обеспечение (ПО) функциональные объекты, которые при определённых условиях инициируют выполнение не описанных в документации функций ПО, приводящих к нарушению конфиденциальности, доступности или целостности обрабатываемой информации. Устанавливаются 4 уровня контроля, каждый из которых характеризуется определённой совокупностью минимальных требований. В общем случае к ПО предъявляются следующие требования:
- Требования к документации
1. Контроль состава и содержания документации
1.1. Спецификация.
1.2. Описание программы.
1.3. Описание применения.
1.4. Пояснительная записка.
1.5. Тексты программ, входящих в состав программного обеспечения.
- Требования к содержанию испытаний
2. Контроль исходного состояния программного обеспечения.
3. Статический анализ исходных текстов программ.
3.1. Контроль полноты и отсутствия избыточности исходных текстов.
3.2. Контроль соответствия исходных текстов ПО его объектному (загрузочному) коду.
3.3. Контроль связей функциональных объектов по управлению.
3.4. Контроль связей функциональных объектов по информации.
3.5. Контроль информационных объектов.
3.6. Контроль наличия заданных конструкций в исходных текстах.
Теоретические основы информационной безопасности автоматизированных систем 66
3.7. Формирование перечня маршрутов выполнения функциональных объектов.
3.8. Анализ критических маршрутов выполнения функциональных объектов (критическим считается маршрут, при выполнении которого существует возможность неконтролируемого нарушения установленных правил обработки информационных объектов).
3.9. Анализ алгоритма работы функциональных объектов на основе блок-схем, построенных по исходным текстам контролируемого программного обеспечения.
4. Динамический анализ исходных текстов программ
4.1. Контроль выполнения функциональных объектов.
4.2. Сопоставление фактических маршрутов выполнения функциональных объектов и маршрутов, построенных в процессе проведения статического анализа.
5. Отчётность
Предъявляются требования к документам, разрабатываемым в ходе и по результатам проведённых испытаний. Испытания, проводимые в соответствии с данным документом, должны содержать проверки, относящиеся к двум основным категориям – статическому и динамическому анализу. Статический анализ исходных текстов программ – это совокупность методов контроля соответствия реализованных и декларированных в документации функциональных возможностей ПО, основанных на структурном анализе и декомпозиции исходных текстов программ. В свою очередь, динамический анализ основывается на идентификации фактических маршрутов выполнения функциональных объектов с последующим сопоставлением маршрутам, построенным в процессе проведения статического анализа. Статически и динамический методы анализа дополняют друг друга: результаты статического анализа используются при проведении динамического анализа.