Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Защита информации.doc
Скачиваний:
434
Добавлен:
02.05.2014
Размер:
881.66 Кб
Скачать

Модели конечных состояний

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

Модель Белла-ЛаПадула

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

  • субъекты S – активные сущности в системе;

  • объекты О – пассивные сущности в системе.

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

  1. Запрет чтения информации субъектом с уровнем безопасности меньшим, чем у объекта, из которого информация читается (NOREADUP, «не читать ниже» –NRU).

  2. Запрет записи информации субъектом с уровнем безопасности большим, чем у объекта, в который информация записывается (NOWRITEDOWN, «не записывать выше» –NWD).

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

В отличие от дискретной модели безопасности модель Белла-ЛаПадула не определяет прав доступа для каждого пользователя. Это означает, что разные субъекты могут иметь один уровень полномочий. Данная модель служит основой для мандатной (полномочной) системы

безопасности. При строгой реализации модели Белла-ЛаПадула возникает ряд проблем.

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

  2. Запись вслепую – это проблема вытекает из правила NRU. Рассмотрим ситуацию, когда субъект производит запись объекта с более высоким уровнем безопасности (эта операция не нарушает правила NWD). Однако после завершения операции субъект не может проверить правильность выполнения записи объекта с помощью контрольного чтения, так как это нарушает правило NRU.

  3. Удаленная запись – это проблема вытекает из правила NWD. Рассмотрим ситуацию, когда некоторый субъект осуществляет операцию чтения в распределенной системе. Такая операция возможна при выполнении правила NRU, так что уровень безопасности субъекта больше уровня безопасности объекта. Однако в распределенных системах операция чтения инициируется запросом с одной компоненты на другую, что можно рассматривать в данном случае как посылку сообщения от субъекта с более высоким уровнем безопасности к объекту с более низким уровнем, что является нарушением правилаNWD.

  4. Привилегированные субъекты – эта проблема связана с работой системного администратора. Функционирование системного администратора подразумевает выполнение в системе таких критических операций, как добавление и удаление пользователей, восстановление системы после аварий, установка программного обеспечения, устранение ошибок и т.п. Очевидно, что такие операции не вписываются в модель, что означает невозможность осуществления правильного администрирования без нарушения правил данной модели. Поэтому правила модели Белла-ЛаПадула нужно рассматривать для множества всех субъектов, исключая привилегированные.

Модель 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 больше либо равно грифу файла). Тем самым потоки информации от файлов с высоким грифом к файлам с низким грифом невозможны.

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

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

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

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

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

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

связаны только с одним пользователем в данный момент времени. С любой ролью связана способность выполнения определенных операций.

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

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

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

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

Идентификатор– имя сущности без ссылки на другие сущности.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Резюме по моделям состояний

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

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