10.2.1 Выбор функциональных требований безопасности
Определив цели безопасности, необходимо уточнить, как эти цели безопасности будут достигаться. Для этого осуществляется спецификация ФТБ, например, путем выбора подходящих ФТБ, сгруппированных в компоненты. При этом процесс выбора ФТБ значительно упрощается, если используются предопределенные функциональные пакеты, соответствующие конкретным целям безопасности для ОО (см. раздел 15).
В процессе формирования ФТБ выделяют несколько этапов. Исходя из них, различают следующие два типа ФТБ:
a) основные ФТБ, непосредственно удовлетворяющие конкретные цели безопасности для ОО;
b) поддерживающие ФТБ, не предназначенные для непосредственного удовлетворения целей безопасности для ОО, но способствующие выполнению основных ФТБ и, тем самым, косвенным образом способствующие удовлетворению целей безопасности для ОО.
Хотя в ПЗ не обязательно делить ФТБ на основные и поддерживающие, такое деление может оказаться полезным при формировании раздела ПЗ "Обоснование".
Первой стадией в процессе выбора ФТБ, соответствующего конкретным целям безопасности для ОО, является идентификация основных ФТБ, непосредственно соответствующих данным целям безопасности. После формирования полной совокупности основных ФТБ начинается итерационный процесс формирования полной совокупности поддерживающих ФТБ. Все ФТБ (основные и поддерживающие) целесообразно, где это возможно, формировать на основе функциональных компонентов, определенных в ИСО/МЭК 15408-2. При выборе функциональных компонентов, определенных в ИСО/МЭК 15408, целесообразно учитывать рекомендации, содержащиеся в приложениях к ИСО/МЭК 15408-2 и связанные с интерпретацией данных компонентов.
Взаимосвязь между основными и поддерживающими ФТБ показана на рисунке 4. Данную взаимосвязь учитывают при формировании раздела ПЗ "Обоснование", в котором требуется показать взаимную поддержку ФТБ (см. 12.2.4). При этом требуется раскрыть характер поддержки, выполняемой поддерживающими ФТБ для достижения целей безопасности ОО.
Рисунок 4 - Взаимосвязь основных и дополнительных функциональных требований безопасности
Формирование полной совокупности поддерживающих ФТБ подразделяют на следующие стадии:
1) идентификация дополнительных ФТБ, необходимых (с точки зрения разработчика ПЗ) для удовлетворения зависимостей всех основных ФТБ;
2) идентификация дополнительных ФТБ, необходимых для достижения целей безопасности для ОО, включая ФТБ, необходимые для защиты основных ФТБ от многоходовых атак (многоходовые атаки направлены на преодоление защитных механизмов, реализующих определенную функцию безопасности, затем - на реализацию угрозы, для противостояния которой данная функция безопасности предназначена);
3) идентификация дополнительных ФТБ, необходимых для удовлетворения зависимостей техподдерживающих ФТБ, которые были выбраны на предыдущих стадиях.
Идентификация поддерживающих ФТБ представляет собой итерационный процесс, например:
a) предположим, что ПЗ включает в себя цель безопасности, требующую, чтобы ОО определенным образом реагировал на события, являющиеся показателем предстоящего нарушения безопасности. Наличие в ПЗ подобной цели предполагает идентификацию основного ФТБ на базе компонента FAU_ARP.1 "Сигналы нарушения безопасности";
b) компонент FAU_ARP.1 имеет зависимость от компонента FAU_SAA.1 "Анализ потенциальных нарушений", который также должен быть включен в ПЗ в качестве поддерживающего ФТБ;
c) компонент FAU_SAA.1 имеет зависимость от FAU_GEN.1 "Генерация данных аудита";
d) компонент FAU_GEN.1 имеет зависимость от FPT_STM.1 "Надежные метки времени";
e) компонент FPT_STM.1 не требует ввода дополнительных функциональных компонентов.
Некоторые зависимости могут быть оставлены неудовлетворенными. При этом необходимо пояснить, почему соответствующие ФТБ не требуются для удовлетворения целей безопасности.
При удовлетворении зависимостей необходимо обеспечить согласованность соответствующих компонентов. Например, в случае FAU_ARP.1 согласованность достигается характером требований (FAU_ARP.1 зависит от ожидания потенциального нарушения безопасности, которое определено применением FAU_SAA.1.2).
Для других компонентов согласованность может быть более проблематичной. Например, при включении в ПЗ компонента FDP_ACC.1 одновременно идентифицируется конкретная политика управления доступом. При удовлетворении зависимости FDP_ACC.1 от компонента FDP_ACF.1 необходимо обеспечить применение FDP_ACF.1 к той же политике управления доступом, которая идентифицировалась при включении в ПЗ компонента FDP_ACC.1. Если к компоненту FDP_ACC.1 применяется операция "итерация" для различных политик управления доступом, то зависимость от компонента FDP_ACF.1 должна быть удовлетворена несколько раз, принимая во внимание каждую политику управления доступом.
Идентификация дополнительных поддерживающих ФТБ (то есть тех, которые не требуются для удовлетворения зависимостей) включает в себя идентификацию любых других ФТБ, которые считаются необходимыми для содействия достижению целей безопасности для ОО. Такие ФТБ должны способствовать достижению целей безопасности для ОО путем уменьшения доступных нарушителю возможностей для атак. Кроме того, реализация дополнительных поддерживающих ФТБ может потребовать от нарушителя более высокого уровня подготовки и значительных ресурсов для проведения результативной атаки. В качестве дополнительных ФТБ могут выступать:
a) ФТБ, основанные на соответствующих компонентах того же класса, что и основные ФТБ. Например, если компонент FAU_GEN.1 "Генерация данных аудита" включен в ПЗ, то может возникнуть необходимость в создании и ведении журнала аудита безопасности для хранения сгенерированных данных (для формулирования подобного требования необходим один или более функциональных компонентов из семейства FAU_STG), а также потребность в средствах просмотра сгенерированных данных аудита (для формулирования подобного требования необходим один или более функциональных компонентов из семейства FAU_SAR). В качестве альтернативы включению поддерживающих ФТБ, сгенерированные данные аудита безопасности могут быть экспортированы для просмотра в другую систему;
b) ФТБ, основанные на соответствующих компонентах класса FPT "Защита функций безопасности ОО". Такие ФТБ обычно направлены на защиту целостности и/или доступности ФБО или данных ФБО, на которые полагаются другие ФТБ. Например, для защиты ФБО от нарушений и модификаций в ПЗ могут быть включены ФТБ на основе компонента FPT_AMT.1 "Тестирование абстрактной машины" и компонентов семейства FPT_SEP "Разделение домена";
c) ФТБ, основанные на соответствующих компонентах класса FMT "Управление безопасностью". Эти компоненты могут использоваться для спецификации поддерживающих ФТБ управления безопасностью. Так, например, в ПЗ может быть включено поддерживающее ФТБ на базе компонента FMT_REV.1, связанное с отменой атрибутов безопасности, если в ПЗ включено ФТБ, связанное с атрибутами безопасности (например, атрибутами управления доступом).