Избирательное разграничение доступа
Система правил избирательного разграничения доступа формулируется следующим образом.
1. Для любого объекта ОС существует владелец.
2. Владелец объекта может произвольно ограничивать доступ других субъектов к данному объекту.
3. Для каждой тройки субъект—объект—метод возможность доступа определена однозначно.
4. Существует хотя бы один привилегированный пользователь (администратор), имеющий возможность обратиться к любому объекту по любому методу доступа(изначально объявив себя владельцем изменяемого объекта).
При создании объекта его владельцем назначается субъект, создавший данный объект. В дальнейшем субъект, обладающий необходимыми правами, может назначить объекту нового владельца. При этом субъект, изменяющий владельца объекта, может назначить новым владельцем объекта только себя.
Для определения прав доступа субъектов к объектам используются понятия матрица доступаи домен безопасности.
С концептуальной точки зрения текущее состояние прав доступа при избирательном разграничении доступа описывается матрицей, в строках которой перечислены субъекты доступа, в столбцах — объекты доступа, а в ячейках — операции, которые субъект может выполнить над объектом.
Домен безопасности(protection domain) определяет набор объектов и типов операций, которые могут производиться над каждым объектом ОС.
Возможность выполнять операции над объектом есть право доступа, каждое из которых есть упорядоченная пара <object-name, rights-set>. Таким образом, домен есть набор прав доступа. Например, если домен D имеет право доступа <file F, (read, write)>, это означает, что процесс, выполняемый в домене D, может читать или писать в файл F, но не может выполнять других операций над этим объектом (рис. 8.1).
Объект / Домен | F1 | F2 | F3 | Printer |
D1 | read | execute | ||
D2 | read | |||
D3 | ||||
D4 | read write | read write |
Рис. 8.1. Специфицирование прав доступа к ресурсам
Связь конкретных субъектов, функционирующих в ОС, может быть организована следующим образом:
• каждый пользователь может быть доменом. В этом случае набор объектов, к которым может быть организован доступ, зависит от идентификации пользователя;
• каждый процесс может быть доменом. В этом случае набор доступных объектов определяется идентификацией процесса;
• каждая процедура может быть доменом. В этом случае набор доступных объектов соответствует локальным переменным, определенным внутри процедуры.
Модель безопасности, специфицированная выше (см. рис. 8.1), имеет вид матрицы и называется матрицей доступа. Столбцы этой матрицы представляют собой объекты, строки — субъекты. В каждой ячейке матрицы хранится совокупность прав доступа, предоставленных данному субъекту на данный объект.
Поскольку реальная матрица доступа очень велика (типичный объем для современной ОС составляет несколько десятков мегабайтов), матрицу доступа никогда не хранят в системе в явном виде. В общем случае эта матрица будет разреженной, т. е. большинство ее клеток будут пустыми. Матрицу доступа можно разложить по столбцам, в результате чего получаются списки прав оступаACL (access control list). В результате разложения матрицы по строкам получаются мандаты возможностей (capability list, или capability tickets).
Список прав доступаACL. Каждая колонка в матрице может быть реализована как список доступа для одного объекта. В результате для каждого объекта имеем список упорядоченных пар <domain, rights-set>, который определяет все домены с непустыми наборами прав для данного объекта.
Мандаты возможностей. Если матрицу доступа хранить по строкам, т. е. если каждый субъект хранит список объектов и для каждого объекта — список допустимых операций, то такой способ хранения называется «мандаты возможностей» или «перечни возможностей» (capability list). Каждый пользователь обладает несколькими мандатами и может иметь право передавать их другим. Мандаты могут быть рассеяны по системе и вследствие этого представлять большую угрозу для безопасности, чем списки контроля доступа.
Избирательное разграничение доступа —Главное достоинство избирательного разграничения доступа — гибкость; основные недостатки — рассредоточенность управления и сложность централизованного контроля.
Расширением модели избирательного разграничения доступа является изолированная (или замкнутая) программная среда.
При использовании изолированной программной среды права субъекта на доступ к объекту определяются не только правами и привилегиями субъекта, но и процессом, с помощью которого субъект обращается к объекту. Можно, например, разрешить обращаться к файлам с расширением .doc только программам Word, Word Viewer и WPview.