Домены безопасности

В рамках рассматриваемой модели АС как совокупности субъектов и объектов разграничение доступа субъектов к объектам может быть реализовано на основе таблицы, содержащей разрешенные типы доступа и называемой матрицей доступа. Как правило, матрица доступа ( показана в таблаблице 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

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

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