Критерии оценки безопасности информационных технологий
Структура ОК
ОК состоят из нескольких отдельных, но взаимосвязанных частей, перечисленных ниже. Термины, используемые при описании отдельных частей ОК, приведены в разделе 4.
а) Часть 1 "Введение и общая модель" является введением в ОК. В ней определяются общие принципы и концепции оценки безопасности ИТ и приводится общая модель оценки. Представлены конструкции для выражения целей безопасности ИТ, выбора и определения требований безопасности ИТ и написания высокоуровневых спецификаций для продуктов и систем. Кроме того, в этой части указано, в чем заключается полезность каждой из частей ОК применительно к каждой из основных групп пользователей ОК.
б) Часть 2 "Функциональные требования безопасности" устанавливает совокупность функциональных компонентов как стандартный способ выражения функциональных требований к ОО. Содержит каталог всех функциональных компонентов, семейств и классов.
в) Часть 3 "Требования доверия к безопасности" устанавливает совокупность компонентов доверия как стандартный способ выражения требований доверия к ОО. Содержит каталог всех компонентов, семейств и классов доверия. Кроме того, в этой части определены критерии оценки профилей защиты и заданий по безопасности и представлены оценочные уровни доверия (ОУД), которые определяют предопределенную ОК шкалу ранжирования доверия к ОО.
Предполагается, что в поддержку частей ОК, перечисленных выше, будут опубликованы и документы других типов, включая нормативно-методические материалы и руководства.
В таблице 3.1 показано, в каком качестве различные части ОК будут представлять интерес для каждой из трех основных групп пользователей ОК.
|
Потребитель |
Разработчик |
Оценщик |
Часть 1 |
Общие сведения по применению. Руководство по структуре профилей защиты |
Общие сведения и справочное руководство по разработке требований и формулированию спецификаций безопасности для объектов оценки |
Общие сведения по применению. Руководство по структуре профилей защиты и заданий по безопасности |
Часть 2 |
Руководство и справочник при формулировании требований к функциям безопасности |
Справочник по интерпретации функциональных требований и формулированию функциональных спецификаций для объектов оценки |
Обязательное изложение критериев оценки, используемых при определении эффективности выполнения объектом оценки заявленных функций безопасности |
Часть 3 |
Руководство по определению требуемого уровня доверия |
Справочник по интерпретации требований доверия и определению подходов к установлению доверия к объектам оценки |
Обязательное изложение критериев оценки, используемых при определении доверия к объектам оценки и оценке профилей защиты и заданий по безопасности |
Мы видим, что "Общие критерии" - очень продуманный и полный документ с точки зрения функциональных требований. В то же время, хотелось бы обратить внимание и на некоторые недостатки.
Первый мы уже отмечали - это отсутствие объектного подхода. Функциональные требования не сгруппированы в осмысленные наборы (объектные интерфейсы), к которым могло бы применяться наследование. Подобное положение, как известно из технологии программирования, чревато появлением слишком большого числа комбинаций функциональных компонентов, несопоставимых между собой. В современном программировании ключевым является вопрос накопления и многократного использования знаний. Стандарты - одна из форм накопления знаний. Следование в ОК "библиотечному", а не объектному подходу сужает круг фиксируемых знаний, усложняет их корректное использование.
К сожалению, в "Общих критериях" отсутствуют архитектурные требования, что является естественным следствием избранного старомодного программистского подхода "снизу вверх". На наш взгляд, это серьезное упущение. Технологичность средств безопасности, следование общепризнанным рекомендациям по протоколам и программным интерфейсам, а также апробированным архитектурным решениям, таким как менеджер/агент, - необходимые качества изделий информационных технологий, предназначенных для поддержки критически важных функций, к числу которых, безусловно, относятся функции безопасности. Без рассмотрения интерфейсных аспектов системы оказываются нерасширяемыми и изолированными. Очевидно, с практической точки зрения это недопустимо. В то же время, обеспечение безопасности интерфейсов - важная задача, которую желательно решать единообразно.