Статус документа
Статус документа

ГОСТ ISO/IEC TS 19249-2021 Информационные технологии (ИТ). Методы и средства обеспечения безопасности. Каталог принципов построения архитектуры и проектирования безопасных продуктов, систем и приложений (с Поправкой)

     4.4 Инкапсуляция

4.4.1 Общие положения

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

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

4.4.2 Принципы реализации инкапсуляции

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

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

4.4.3 Политики безопасности, которые могут быть реализованы с помощью инкапсуляции

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

4.4.4 Примеры

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

_______________

Setuid является флагом прав доступа в операционной системе UNIX, который разрешают пользователям запускать исполняемые файлы с правами владельца или группы исполняемого файла.

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

4.4.5 Замечания по оценке эффективности инкапсуляции

Оценка эффективности инкапсуляции требует от оценщика рассмотрения следующих аспектов:

- завершена ли инкапсуляция или есть ли аспекты инкапсулированного объекта, доступные без использования явно заданных функций;

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

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