Модель low-water-mark (LWM)

 

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

 все компоненты ИС классифицированы по уровню конфиденциаль­ности, fs(S) – уровень доступа субъекта, fc(S) – текущий уровень доступа субъектов, fo(O) – гриф (уровень) конфиденциальности объекта;

 поток информации (в данном случае рассматриваются потоки от объ­ектов к ассоциированным объектам некоторого субъекта) разрешен только “снизу вверх” (в смысле повышения уровня конфиденциальности).

В рассматриваемой системе – один объект, три операции с объек­том, включающие запросы на доступ: read, write, reset. Эти операции используются несколькими субъектами (процесса­ми), имеющими фиксированные уровни секретности. Напомним фор­мальное требование политики о том, что информация может двигаться только “снизу вверх”. Поток информации возможен тогда и только то­гда, когда реализуется доступ субъекта к объекту вида w или r.

Уровень объекта О в LWM может меняться: при команде write мо­жет снизиться, а при команде reset подняться следующим образом. По команде reset класс объекта поднимается и становится максимальным в линейном порядке. После этого все субъекты приобретают право w, но право read имеют только субъекты, находящиеся на максимальном уровне. При команде write гриф объекта снижается до уровня субъек­та, давшего команду w. При снижении уровня секретности объекта вся прежняя информация в объекте стирается и записывается информация процессом, вызвавшим команду write. Право write имеет любой субъ­ект, у которого fs(S) не больше fo(O), где fo(O) – текущий уровень объ­екта. Право reset имеет только тот субъект, который не имеет право write. Право read имеет любой субъект, для которого fs(S) больше либо равно fo(O).

Откажемся от условия, что при команде write в случае снижения уровня объекта его содержимое стирается (например, оно становится равным нулевому слову). Ясно, что в этом случае возможна утечка информации. В самом деле, любой процесс нижнего уровня, запросив объект для записи, снижает гриф объекта, а получив доступ w, получа­ет возможность r. Возникает канал утечки с понижением грифа. Дан­ный пример показывает, что определение безопасного состояния в мо­дели Белла-ЛаПадула неполное и смысл этой модели только в пере­крытии каналов указанных видов. Если процесс снижения грифа объ­екта работает неправильно, то система перестает быть безопасной.

Рассмотрим пример, поясняющий политику безопасности в модели LWM.

Пусть в системе имеется три файла – F1, F2 и F3. Гриф секретности их соответственно 1, 2, 3 (считаем, что конфиденциальность растет с ростом грифа). Субъект имеет категорию доступа 2. Зададим объект отображения текущего грифа m. При открытии файла (если операция возможна) в момент времени t + 1 для выполнения операций Read или Write ему присваивается значение максимума из текущего его значе­ния и грифа открываемого файла. Mt +1 = MAX(mt, Fit +1). Правила чтения и записи остаются без изменений.

Далее разрешение или запрещение операций происходит с учетом измененного грифа объекта m согласно правилам чтения и записи “вверх” и “вниз”.

Пусть в нулевой момент времени m = 1. Открывается файл F3 (гриф 3), открытие невозможно – категория субъекта равна 2 (ниже грифа файла) – m не меняется.

Пусть открыт файл F2, следовательно m = 2. Чтение из файлов F1 и F2 возможно (их гриф не превосходит m). Запись возможна только в файл F2 (m больше либо равно грифу файла). Тем самым потоки ин­формации от файлов с высоким грифом к файлам с низким грифом не­возможны.

 

Модель Лендвера

 

Для понимания правил и ограничений безопасности в модели Лендвера приведем необходимые описания понятий.

Классификация – обозначение, накладываемое на информацию, отражающее ущерб, который может быть причинен несанкциони­рованным доступом; включает уровни: TOP SECRET, SECRET и т.д.

Степень доверия пользователю – уровень благонадежности пользователя (априорно заданная характеристика).

Пользовательский идентификатор – строка символов, используемая для того, чтобы отметить пользователя системы.

Роль – работа пользователя в ИС. Пользователь в данный момент всегда ассоциирован как минимум с одной ролью из нескольких, и он может менять роль в течение сессии. Для действий в данной роли пользователь должен быть уполномочен. Некоторые роли могут быть связаны только с одним пользователем в данный момент времени. С любой ролью связана способность выполнения определенных опера­ций.

Объект – одноуровневый блок информации. Это минимальный блок информации в системе, который имеет классификацию (может быть раздельно поименован).

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

Сущность – объект или контейнер.

Требование степени доверия объектов – атрибут некоторых кон­тейнеров, для которых важно требовать минимум степени доверия, т.е. пользователь, не имеющий соответствующего уров­ня благонадежности, не может просматривать содержимое контейнера. Такие контейнеры помечаются соответствующим атрибутом.

Идентификатор – имя сущности без ссылки на другие сущности. Ссылка на сущность прямая, если это идентификатор сущности. Ссылка на сущность косвенная, если это последовательность двух или более имен сущностей (из которых только первая – идентификатор). Пример: “текущее сообщение, первый абзац, вторая строка”.

Операция – функция, которая может быть применена к сущности. Некоторые операции могут использовать более одной сущности (при­мер: операция копирования).

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

Система, реализующая модель безопасности Лендвера, должна реализовывать приводимые ниже ограничения (ограничения запреща­ют пользователю операции, нарушающие эти ограничения). Часть этих ограничений должна реализовываться пользователями системы (пра­вила безопасности), а часть – системой (ограничения безопасности).

Правила безопасности

 

А1. Администратор безопасности системы присваивает уровни до­верия, классификацию устройств и правильные множества ролей.

А2. Пользователь вводит корректную классификацию, когда изме­няет или вводит информацию.

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

А4. Пользователь должным образом контролирует информацию объектов, требующих благонадежности.

Ограничения безопасности

 

В1. Авторизация – пользователь может запрашивать операции над сущностями, только если пользовательский идентификатор или теку­щая роль присутствует в множестве доступа сущности вместе с этой операцией и с этим значением индекса, соответствующим позиции операнда, в которой сущность относят к требуемой операции.

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

В3. Изменения в объектах – информация, переносимая из объекта все­гда содержит классификацию объекта. Информация, вставляемая в объект, должна иметь классификацию ниже классификации этого объекта.

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

В5. Доступ к объектам, требующим степени доверия, – пользова­тель может получить доступ к косвенно адресованной сущности внут­ри объекта, требующего степени доверия, только если его степень до­верия не ниже классификации контейнера.

В6. Преобразование косвенных ссылок – пользовательский иден­тификатор признается законным для сущности, к которой он обратился косвенно, только если он авторизован для просмотра этой сущности через ссылку.

В7. Требование меток – сущности, просмотренные пользователем, должны быть помечены его степенью доверия.

В8. Установка степеней доверия, ролей, классификации устройств – только пользователь с ролью администратора безопасности системы может устанавливать данные значения. Текущее множество ролей пользователя может быть изменено только администратором безопас­ности системы или этим пользователем.

В9. Понижение классификации информации – никакая классифи­цированная информация не может быть понижена в уровне своей клас­сификации, за исключением случая, когда эту операцию выполняет пользователь с ролью “пользователь, уменьшающий классификацию информации”.

В10. Уничтожение информации – операция уничтожения инфор­мации проводится только пользователем с ролью “пользователь, унич­тожающий информацию”.

Модель Лендвера достаточно близка категориям объектно-ориентированного программирования и описывает иерархические объ­екты в ИС. Однако полная реализация данной модели представляется достаточно сложной.