Как стать автором
Обновить

Мандатная модель ОС МСВС 3.0

Время на прочтение3 мин
Количество просмотров18K
Система мандатного управления доступом доставляет много проблем начинающим разработчикам под МСВС. Типичная проблема — невозможность работы с файлами, доступ к которым закрыт мандатными метками. Обычно эту проблему объясняют глючностью МСВС. Хотя дело вовсе не в МСВС. Всё дело в неправильном применении мандатных меток. А неправильное использование меток связано с непониманием основных принципов мандатного управления доступом. В этой статье я изложу основные принципы мандатной модели — основы безопасного доступа к файлам в этой операционной системе. Я специально не стал описывать практическую сторону вопроса, чтобы сфокусировать внимание именно на основах модели.

Ни для кого не секрет, что МСВС на самом деле есть старый, добрый RedHat (больше старый, чем добрый). Эти две операционные системы отличаются не многим. Кроме измененных картинок рабочего стола, и флага РФ на диалоге входа пользователей в систему, есть несколько различий, связанных с ограничениями, накладываемыми допусками к закрытым сведениям. Одним из таких отличий является присутствие в МСВС кроме дискреционного, ещё и мандатного управления доступом. Кроме повышенного уровня безопасности это доставляет ещё и проблемы, пр разработке программ.

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

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

Есть ещё много проблем. Все эти проблемы не так сложны, если знать чем они вызваны и как их решить. Но на практике, не всегда ясно, чем вызван сбой. А как решить проблему тем более не ясно. Кроме того, в библиотеке Qt 4.2 (насколько мне известно, 4.2 — текущая сертифицированная для МСВС версия библиотек) по ясным причинам отсутствуют классы для работы с мандатными метками. Всё это вместе осложняет жизнь разработчику.

В основе мандатного управления доступом в ОС МСВС лежит мандатная модель безопасности Белла–ЛаПадулы. Эта модель основывается на правилах секретного документооборота применяемых во многих странах.

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

Пример иерархии уровней доступа:

image

Уровни доступа упорядочиваются по доминированию одного уровня над другим. Затем доступ к защищённым файлам осуществляется по двум простым правилам:

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

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

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

Проиллюстрируем оба правила рисунком:

image

На рисунке изображены отношения пользователя с уровнем «секретно» с субъектами в трехуровневой мандатной модели.

Причем, «совершенно секретно» > «секретно» > «не секретно»

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

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

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

Понимание этих основных принципов модели, позволит избежать многих проблем связанных с мандатным доступом к файлам, а возможно, даже поможет правильно настроить доступ в системе.
Теги:
Хабы:
Всего голосов 36: ↑29 и ↓7+22
Комментарии27

Публикации