В рамках рассматриваемой модели АС как совокупности субъектов и объектов разграничение доступа субъектов к объектам может быть реализовано на основе таблицы, содержащей разрешенные типы доступа и называемой матрицей доступа. Как правило, матрица доступа ( показана в таблаблице 3.2 ) имеет большие размеры ( в системе присутствует множество различных субъектов и объектов ) и является разреженной ( субъектам необходим доступ только к неболыиим подмножествам объектов ).
Объекты | |||||
---|---|---|---|---|---|
1 | 2 | m | |||
Субъекты | 1 | Чтение | Чтение | Исполнение | |
2 | Чтение | Чтение/Запись | Чтение/Запись | ||
n | Запись | Исполнение | Нет доступа |
Таблица 3.2 - Матрица доступа
Под доменом безопасности понимается совокупность объектов, к которым разрешен доступ конкретному субъекту.
В таблице 3.2 домены безопасности представлены отдельными строками. В соответствии с обсуждаемым ниже принципом минимизации привилегий домен безопасности данного субъекта должен включать минимально возможный набор объектов и связанных с ними прав доступа, необходимый для работы субъекта. Тем самым снижается риск злоупотребления правами доступа со стороны субъекта и уменьшается разрушительный эффект от потенциального злоупотребления. Для реализации этого принципа необходимо, чтобы субъекты, которым необходимо выполнять множество различных операций, могли поочередно работать в нескольких небольших ( в смысле числа составляющих их объектов и назначенных прав доступа к этим объектам ) доменах, переключаемых при необходимости. Следующие факторы определяют минимально возможные по практическим соображениям размеры доменов:
В АС переключение доменов безопасности может происходить, в частности, при вызове из основной программы некоторой процедуры или функции, или, говоря в терминах рассмотренной выше субъектно-объектной модели, в момент порождения одним субъектом ( выполняющейся программы ) нового субъекта ( вызываемой процедуры ) из некоторого объекта ( области памяти, содержащей код процедуры ). По завершению выполнения вызванной процедуры происходит обратное переключение домена безопасности.
Если с вызовом процедуры связано переключение доменов безопасности, процедура называется защищенной. Такая процедура фигурирует в матрице доступа и в качестве субъекта, и в качестве объекта. Первое объясняется тем, что процедура функционирует в собственном домене безопасности. Второе - тем, что по отношению к данной процедуре могут быть назначены права достула, в частности право "исполнить".
Рассмотрим пример, где права доступа заданы согласно таблbwt 3.3.
Объекты | ||||
---|---|---|---|---|
Файл программы редактора текстов |
текстовый файл |
словарь |
||
Субъекты | … |
|||
Пользователь |
Исполнить |
Чтение/Запись |
||
Программа редактор |
Чтение/Запись |
Чтение |
||
… |
Таблица 3.3
Пользователь имеет доступ к текстовому файлу как при помощи текстового редактора, так и из собственного домена безопасности. Однако доступ к словарю для пользователя становится возможен только при переключении на домен безопасности редактора ( путем запуска на исполнение программы редактора ). При таком способе переключения доменов матрица доступа после переключения остается неизменной.
Более сложный случай переключения доменов связан с передачей прав доступа в качестве параметров вызываемой процедуре и сопровождается изменением матрицы доступа. Предположим, что права доступа заданы так, как показано в таблице 3.4.
Объекты | ||||
---|---|---|---|---|
Файл программы редактора текстов |
текстовый файл |
словарь |
||
Субъекты | … |
|||
Пользователь |
Исполнить |
Чтение/Запись |
||
Программа редактор |
|
Чтение |
||
… |
Таблица 3.4
В отличие от предыдущего случая, редактор не имеет права доступа к текстовому файлу пользователя. При вызове редактора это право должно быть ему передано, и в матрице доступа будет создана новая, временная строка ( таблица 3.5 ).
Объекты | ||||
---|---|---|---|---|
Файл программы редактора текстов |
текстовый файл |
словарь |
||
Субъекты | … |
|||
Пользователь |
Исполнить |
Чтение/Запись |
||
Программа редактор |
|
Чтение |
||
Редактор, действующий от имени пользователя |
Чтение/Запись |
Чтение |
||
… |
Таблица 3.5
Созданный при этом временный домен безопасности описывает стандартное право текстового редактора на доступ к словарю и переданное ему при вызове право на доступ к файлу пользователя. Этот домен безопасности уничтожается по завершению работы редактора.
В рассмотренных примерах переключение доменов безопасности было связано либо только с потерей прав ( например, пользователь теряет доступ к словарю, завершив работу с редактором ), либо только с их приобретением ( редактор при запуске получает доступ к текстовому файлу ). Данная концепция доменов безопасности может быть расширена и на случай, когда потеря и приобретение различных прав доступа одним субъектом происходят при переключении домена безопасности одновременно, а также на случай, когда вызываемые процедуры являются рентерабельными.