"РУКОВОДЯЩИЙ ДОКУМЕНТ. БЕЗОПАСНОСТЬ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ. КРИТЕРИИ ОЦЕНКИ БЕЗОПАСНОСТИ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ " (Утв. Приказом Гостехкомиссии РФ от 19.06.2002 N 187)



2. Функциональные компоненты безопасности


2.1. Краткий обзор

Этот раздел определяет содержание и форму представления функциональных требований ОК и предоставляет руководство по организации требований для новых компонентов, включаемых в ЗБ. Функциональные требования объединены в классы, семейства и компоненты.

2.1.1. Структура класса

Структура функционального класса приведена на рисунке 2.1. Каждый функциональный класс содержит имя класса, представление класса и одно или несколько функциональных семейств.

Рисунок 2.1. Структура функционального класса

2.1.1.1. Имя класса

Имя класса содержит информацию, необходимую для идентификации функционального класса и отнесения его к определенной категории. Каждый функциональный класс имеет уникальное имя. Информация о категории предоставлена кратким именем, состоящим из трех букв латинского алфавита. Краткое имя класса используют при задании кратких имен семейств этого класса.

2.1.1.2. Представление класса

Представление класса обобщает участие семейств класса в достижении целей безопасности. Определение функциональных классов не отражает никакую формальную таксономию в спецификации требований.

Представление класса содержит рисунок, показывающий все семейства этого класса и иерархию компонентов в каждом семействе, как указано в 2.2.

2.1.2. Структура семейства

Структура функционального семейства приведена на рисунке 2.2.

Рисунок 2.2. Структура функционального семейства

2.1.2.1. Имя семейства

Имя семейства содержит описательную информацию, необходимую, чтобы идентифицировать и категорировать функциональное семейство. Каждое функциональное семейство имеет уникальное имя. Информация о категории состоит из краткого имени, включающего в себя семь символов. Первые три символа идентичны краткому имени класса, далее следуют символ подчеркивания и краткое имя семейства в виде XXX_YYY. Уникальная краткая форма имени семейства предоставляет основное имя ссылки для компонентов.

2.1.2.2. Характеристика семейства

Характеристика семейства - это описание функционального семейства, в котором излагаются его цели безопасности и общее описание функциональных требований. Более детально они описаны ниже:

а) цели безопасности семейства характеризуют задачу безопасности, которая может быть решена с помощью компонентов этого семейства;

б) описание функциональных требований обобщает все требования, которые включены в компонент(ты). Описание ориентировано на разработчиков ПЗ, ЗБ и функциональных пакетов, которые хотели бы определить, соответствует ли семейство их конкретным требованиям.

2.1.2.3. Ранжирование компонентов

Функциональные семейства содержат один или несколько компонентов, каждый из которых может быть выбран для включения в ПЗ, ЗБ и функциональные пакеты. Цель ранжирования компонентов - предоставить пользователям информацию для выбора подходящего функционального компонента, если семейство идентифицировано пользователем как необходимая или полезная часть требований безопасности.

Далее перечисляются имеющиеся компоненты и приводится их логическое обоснование. Детализация компонентов производится в описании каждого компонента.

Связи между компонентами в пределах функционального семейства могут быть иерархическими и неиерархическими. Компонент иерархичен (т.е. расположен выше по иерархии) по отношению к другому компоненту, если предлагает большую безопасность.

Описания семейств содержат графическое представление иерархии компонентов, рассмотренное в 2.2.

2.1.2.4. Управление

Требования управления содержат информацию для разработчиков ПЗ/ЗБ, учитываемую при определении действий по управлению для данного компонента. Требования управления детализированы в компонентах класса "Управление безопасностью" (FMT).

Разработчик ПЗ/ЗБ может выбрать какие-либо из имеющихся требований управления или включить новые, не указанные в части 2 ОК. В последнем случае следует представить необходимую информацию.

2.1.2.5. Аудит

Требования аудита содержат события, потенциально подвергаемые аудиту, для их отбора разработчиками ПЗ/ЗБ при условии включения в ПЗ/ЗБ требований из класса FAU "Аудит безопасности". Эти требования включают в себя события, относящиеся к безопасности, применительно к различным уровням детализации, поддерживаемым компонентами семейства FAU_GEN "Генерация данных аудита безопасности". Например, запись аудита какого-либо механизма безопасности может включать в себя на разных уровнях детализации действия, которые раскрываются в следующих терминах:

- минимальный - успешное использование механизма безопасности;

- базовый - любое использование механизма безопасности, а также информация о текущих значениях атрибутов безопасности;

- детализированный - любые изменения конфигурации механизма безопасности, включая параметры конфигурации до и после изменения.

Следует учесть, что категорирование событий, потенциально подвергаемых аудиту, всегда иерархично. Например, если выбрана базовая генерация данных аудита, то все события, идентифицированные как потенциально подвергаемые аудиту и поэтому входящие как в "минимальную", так и в "базовую" запись, следует включить в ПЗ/ЗБ с помощью соответствующей операции назначения, за исключением случая, когда событие более высокого уровня имеет более высокий уровень детализации, чем событие более низкого уровня, и может просто заменить его. Когда желательна детализированная генерация данных аудита, все идентифицированные события, потенциально подвергаемые аудиту (для минимального, базового и детализированного уровней), следует включить в ПЗ/ЗБ.

Правила управления аудитом более подробно объяснены в классе FAU.

2.1.3. Структура компонента

Структура функционального компонента показана на рисунке 2.3.

Рисунок 2.3. Структура функционального компонента

2.1.3.1. Идентификация компонента

Идентификация компонента включает в себя описательную информацию, необходимую для идентификации, категорирования, записи и реализации перекрестных ссылок компонента. Для каждого функционального компонента представляется следующее:

- уникальное имя, отражающее предназначение компонента;

- краткое имя, применяемое как основное имя ссылки для категорирования, записи и реализации перекрестных ссылок компонента и уникально отражающее класс и семейство, которым компонент принадлежит, а также номер компонента в семействе;

- список иерархических связей, содержащий имена других компонентов, для которых этот компонент иерархичен и вместо которых может использоваться при удовлетворении зависимостей от перечисленных компонентов.

2.1.3.2. Функциональные элементы

Каждый компонент включает в себя набор элементов. Каждый элемент определяется отдельно и является самодостаточным.

Функциональный элемент - это функциональное требование безопасности, дальнейшее разделение которого не меняет значимо результат оценки. Является наименьшим функциональным требованием безопасности, идентифицируемым и признаваемым в ОК.

При формировании ПЗ, ЗБ и/или пакетов не разрешается выбирать только часть элементов компонента. Для включения в ПЗ, ЗБ или пакет необходимо выбирать всю совокупность элементов компонента.

Вводится уникальная краткая форма имени функционального элемента. Например, имя FDP_IFF.4.2 читается следующим образом: F - функциональное требование, DP - класс "Защита данных пользователя", _IFF - семейство "Функции управления информационными потоками", .4 - четвертый компонент "Частичное устранение неразрешенных информационных потоков", .2 - второй элемент компонента.

2.1.3.3. Зависимости

Зависимости среди функциональных компонентов возникают, когда компонент не самодостаточен и нуждается либо в функциональных возможностях другого компонента, либо во взаимодействии с ним для поддержки собственного выполнения.

Каждый функциональный компонент содержит полный список зависимостей от других функциональных компонентов и компонентов доверия. Для некоторых компонентов указано, что зависимости отсутствуют. Компоненты из списка могут, в свою очередь, иметь зависимости от других компонентов. Список, приведенный в компоненте, показывает прямые зависимости, т.е. содержит ссылки только на функциональные компоненты, заведомо необходимые для обеспечения выполнения рассматриваемого компонента. Косвенные зависимости, определяемые собственными зависимостями компонентов из списка, показаны в Приложении А. В некоторых случаях зависимость выбирают из нескольких предлагаемых функциональных компонентов, причем каждый из них достаточен для удовлетворения зависимости (см., например, FDP_UIT.1).

Список зависимостей идентифицирует минимум функциональных компонентов или компонентов доверия, необходимых для удовлетворения требований безопасности, ассоциированных с данным компонентом. Компоненты, которые иерархичны по отношению к компоненту из списка, также могут быть использованы для удовлетворения зависимости.

Зависимости между компонентами, указанные в ОК, обязательны. Их необходимо удовлетворить в ПЗ/ЗБ. В некоторых, особых случаях эти зависимости удовлетворить невозможно. Разработчик ПЗ/ЗБ, обязательно обосновав, почему данная зависимость неприменима, может не включать соответствующий компонент в пакет, ПЗ или ЗБ.

2.1.4. Разрешенные операции с функциональными компонентами

При определении требований в ПЗ, ЗБ или функциональном пакете функциональные компоненты могут либо использоваться полностью в соответствии с разделами 3 - 13 данной части ОК, либо быть дополнительно конкретизированы для достижения специфической цели безопасности. Однако отбор и конкретизация этих функциональных компонентов усложнены тем обстоятельством, что необходимо учитывать имеющиеся зависимости между компонентами. Поэтому такая конкретизация строго ограничена принятым набором операций.

К каждому функциональному компоненту могут быть применены разрешенные операции. Не все операции разрешены на всех функциональных компонентах.

К разрешенным операциям относятся:

- итерация - позволяет несколько раз использовать компонент с различным выполнением операций;

- назначение - позволяет специфицировать заданный параметр;

- выбор - позволяет специфицировать один или несколько элементов из списка;

- уточнение - позволяет добавить детали.

2.1.4.1. Итерация

Там, где необходимо охватить различные аспекты одного и того же требования (например, идентифицировать несколько типов пользователей), разрешается повторное использование одного и того же функционального компонента, позволяющее охватить каждый аспект.

2.1.4.2. Назначение

Некоторые элементы функциональных компонентов содержат параметры или переменные, которые дают возможность разработчику ПЗ/ЗБ специфицировать политику или совокупность величин для включения в ПЗ/ЗБ, чтобы выполнить специфическую цель безопасности. Эти элементы однозначно идентифицируют каждый такой параметр и ограничения на значения, которые может принимать этот параметр.

Любой аспект элемента, допустимые значения которого могут быть однозначно описаны или перечислены, может быть представлен параметром. Параметр может быть атрибутом или правилом, сводящим требование к определенному значению или диапазону значений. Например, элемент функционального компонента, направленный на достижение определенной цели безопасности, может установить, что некоторую операцию следует выполнять неоднократно. В этом случае назначение установит число возможных повторений (или диапазон для него), которое будет использоваться для данного параметра.

2.1.4.3. Выбор

Операция заключается в ограничении области применения элемента функционального компонента посредством выбора одного или нескольких вариантов из списка, приведенного в элементе.

2.1.4.4. Уточнение

Для всех элементов функционального компонента разработчику ПЗ/ЗБ разрешается ограничить множество допустимых реализаций путем определения дополнительных деталей для достижения целей безопасности. Уточнение элемента заключается в добавлении этих специфических деталей.

Например, если для конкретного ОО требуется объяснение смысла терминов "субъект" и "объект" в рамках ЗБ, то эти термины подвергают операции уточнения.

Подобно другим операциям, уточнение не налагает абсолютно новых требований. Исходя из целей безопасности, уточнение предполагает проработку деталей, интерпретацию или развитие требований, правил, значений или условий. Уточнение должно лишь ограничивать совокупность возможных функций или механизмов для реализации требования, но никогда не расширять ее. Уточнение не позволяет создать новые требования и поэтому не увеличивает список зависимостей, связанных с компонентом. Разработчику ПЗ/ЗБ необходимо быть внимательным, чтобы существующие зависимости прочих требований от уточняемого требования были по-прежнему удовлетворены.

2.2. Каталог компонентов

Расположение компонентов в части 2 ОК не отражает какую-либо формальную таксономию.

Часть 2 ОК содержит классы, состоящие из семейств и компонентов, которые приблизительно сгруппированы на основе общей функции и предназначения. Классы и семейства представлены в алфавитном (по-латински) порядке. В начале каждого класса имеется рисунок, показывающий таксономию этого класса, перечисляя семейства в этом классе и компоненты в каждом семействе. Рисунок также иллюстрирует иерархию компонентов внутри каждого семейства.

В описании каждого функционального компонента приведены его зависимости от других компонентов.

Пример представления таксономии класса и иерархии компонентов в его семействах приведен на рисунке 2.4. Здесь первое семейство содержит три иерархических компонента, где компоненты 2 и 3 могут быть применены для выполнения зависимостей вместо компонента 1. Компонент 3 иерархичен к компоненту 2 и может применяться для выполнения зависимостей вместо компонента 2.

Имя класса
Семейство 1 1 2 3
1
Семейство 2
2 3
2
Семейство 3 1 4
3

Рисунок 2.4. Пример декомпозиции класса

В семействе 2 имеются три компонента, не все из которых иерархически связаны. Компоненты 1 и 2 не иерархичны к другим компонентам. Компонент 3 иерархичен к компоненту 2 и может применяться для удовлетворения зависимостей вместо компонента 2, но не вместо компонента 1.

В семействе 3 компоненты 2 - 4 иерархичны к компоненту 1. Компоненты 2 и 3 иерархичны к компоненту 1, но несопоставимы по иерархии между собой. Компонент 4 иерархичен к компонентам 2 и 3.

Подобные рисунки дополняют текст описания семейств и делают проще идентификацию отношений их компонентов. Они не заменяют пункт "Иерархический для" в описании каждого компонента, который устанавливает обязательные утверждения иерархии для каждого компонента.

2.2.1. Выделение изменений в компоненте

Взаимосвязь компонентов в пределах семейства показана с использованием полужирного шрифта. Все новые требования в тексте компонентов выделены полужирным шрифтом. Для иерархически связанных компонентов требования и/или зависимости выделены, когда они расширены или модифицированы по сравнению с требованиями предыдущего компонента. Кроме того, любые новые или расширенные по сравнению с предыдущим компонентом разрешенные операции также выделены полужирным шрифтом.