Система обязательного контроля доступа вызывает множество проблем у начинающих разработчиков под МСВС.
Типичная проблема — невозможность работы с файлами, доступ к которым заблокирован обязательными тегами.
Эту проблему обычно объясняют глючной природой МСВС.
Хотя речь идет вовсе не о МСВС.
Все дело в неправильном использовании мандатных ярлыков.
А неправильное использование меток связано с непониманием основных принципов обязательного контроля доступа.
В этой статье я изложу основные принципы мандатной модели — основу безопасного доступа к файлам в этой операционной системе.
Я намеренно не стал описывать практическую сторону вопроса, чтобы акцентировать внимание именно на основах модели.
Ни для кого не секрет, что WSWS на самом деле — это старый добрый RedHat (скорее старый, чем хороший).
Две операционные системы мало чем отличаются.
Помимо измененных картинок рабочего стола и российского флага в диалоге входа пользователя, есть несколько отличий, связанных с ограничениями доступа к конфиденциальной информации.
Одним из таких отличий является наличие в МСВС помимо дискреционного, еще и обязательного контроля доступа.
Помимо повышенного уровня безопасности, это также вызывает проблемы при разработке программ.
Помимо описанных выше проблем, есть и более интересные случаи.
На сервере хранится база данных.
Работать с этой базой данных с компьютера, на котором не установлен нулевой уровень доступа, невозможно.
Но дело в том, что MSVS добавляет во все отправляемые пакеты информацию о текущем уровне секретности, что делает эти пакеты нечитаемыми.
Когда вы бездумно присваиваете файлам обязательные метки, общие для всех пользователей, они становятся недоступными для части пользователей.
В результате вход в систему невозможен.
Есть еще много проблем.
Все эти проблемы не так сложны, если знать, что их вызывает и как их решить.
Но на практике не всегда понятно, что стало причиной сбоя.
А как решить проблему, еще более непонятно.
Кроме того, в библиотеке Qt 4.2 (насколько мне известно, 4.2 — это текущая WSBC-сертифицированная версия библиотек) по понятным причинам нет классов для работы с обязательными метками.
Все это вместе усложняет жизнь разработчику.
Мандатный контроль доступа в ОС МСВС основан на обязательной модели безопасности Белла – ЛаПадулы.
Эта модель основана на правилах секретного документооборота, используемых во многих странах.
В отличие от дискреционного контроля, при котором пользователям напрямую назначаются права на чтение, запись и выполнение, в мандатной модели контроль доступа происходит неявно.
Всем пользователям (субъектам) и файлам (объектам) назначаются уровни доступа.
Например, «секретно», «совершенно секретно».
Пример иерархии уровней доступа:
Уровни доступа упорядочены по доминированию одного уровня над другим.
Тогда доступ к защищенным файлам осуществляется по двум простым правилам: 1. Пользователь имеет право читать только те документы, уровень безопасности которых не превышает его собственный уровень безопасности.
Это правило гарантирует, что информация, обрабатываемая пользователями более высокого уровня, защищена от доступа пользователей более низкого уровня.
2. Пользователь имеет право вносить информацию только в те документы, уровень безопасности которых не ниже его собственного уровня безопасности.
Данное правило не позволяет высокоуровневым участникам процесса обработки информации нарушать доступ пользователей низкого уровня.
Проиллюстрируем оба правила картинкой:
На рисунке показаны отношения пользователя с «секретным» уровнем с субъектами в трехуровневой модели мандата.
Причем «совершенно секретно» > «секретно» > «не секретно» Таким образом, назначая уровни доступа всем объектам и субъектам, мы определяем все допустимые взаимодействия внутри системы.
Из описанных выше правил видно, что мандатный контроль доступа не ограничивает взаимодействие объектов и субъектов, находящихся на одном уровне доступа.
Поэтому для эффективного контроля доступа используется обязательная модель в сочетании с дискреционной, описывающей взаимодействие объектов и субъектов, находящихся на одном уровне.
В модели Белла-ЛаПадулы есть только два типа доступа: чтение и запись.
Если нужны другие виды доступа: например, исполнение, то они все равно будут сводиться к чтению и записи.
Это связано с тем, что модель записывает не действия пользователя над файлами, а потоки информации.
Которая может быть двух типов: от пользователя к файлу (запись) и от файла к пользователю (чтение).
Дальнейшее развитие модели Белла-ЛаПадулы привело к появлению множества моделей мандатов.
Однако модель Белла-ЛаПадулы представляет собой классическую модель обязательного контроля доступа.
Понимание этих основных принципов модели позволит вам избежать многих проблем, связанных с обязательным доступом к файлам, а возможно, даже поможет правильно настроить доступ в системе.
Теги: #настройка Linux #работа с файлами #обязательная модель #msvs 3.0 #msvs 3.0
-
Обзор Шпионских Часов От Lg
19 Oct, 24 -
Баг В Ntfs, Или Как Заморозить Всю Систему
19 Oct, 24 -
Личкрафт 0.3.0
19 Oct, 24