2.4.5 Контроль доступа

iDevice ikoon 2.4.5 Контроль доступа

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

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

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

Важным вопросом является то, как представить в системе, к какому домены безопасности какой объект относится. В принципе, домен безопасности можно организовать помощью матрицы безопасности. Ряды этой матрицы представляют домены безопасности, а колонки представляют ресурсы. В каждой клетке содержится набор прав, которые данный домен безопасности может совершать с конкретным объектом.

Домен

Файл A

Файл B

Файл C

Принтер D

Домен 1

Домен 2

Домен 3

1

Чтение

 

Чтение Исполнение

Запись

 

Переключение

 

2

 

Чтение

 

 

Переключение

 

 

3

Чтение Запись

 

 

Запись

 

 

 

Рисунок 2‑15. Матрица безопасности (Источник: Learning Materials for Information Technology Professionals (EUCIP-Mat))

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

В реальной системе матрица безопасности в таком виде не используется, поскольку она была бы слишком большой. У большинства доменов безопасности нет прав на большинство объектов, поэтому нет смысла хранить большую и преимущественно пустую матрицу. На практике матрицу сохраняют по рядам или колонкам и сохраняя лишь cодержащие информацию элементы. Если сохранять по колонкам, то для каждого объекта получим список, все домены безопасности, у которых есть права доступа к этому объекту. Такой список называется списком контроля доступа (ACL - Access Control List). Он содержит перечисление всех процессов (или в общем активных единиц), которым разрешён доступ к ресурсу, и для каждого процесса список операций, которые этому процессу можно совершать.

Рисунок 2‑16. Применение списка контроля доступа к ресурсам (Источник: Learning Materials for Information Technology Professionals (EUCIP-Mat))

На рисунке приведены 3 процесса, относящиеся к разным доменом безопасности. У каждого ресурса есть свой список контроля доступа. список контроля доступа ресурса R1 говорит, что процесс Р1 может читать и писать этот ресурс, а процесс Р2 только читать, итд.

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

Рисунок 2‑17. Примемение списка возможностей к процессам (Источник: Learning Materials for Information Technology Professionals (EUCIP-Mat))

Список возможностей связан с процессом (или в общем с активной единицей), и в нём перечислены процессы, к которым процессам разрешён доступ, у каждого ресурса перечислен список операций, которые этому процессу можно совершать.

Следует отметить, что список контроля доступа и список возможностей управляются в режиме ядра операционной системы.

Ниже перечислены распространённые политики назначения прав доступа:

  • Избирательное управление доступом (Discretionary Access Control) - управление доступом субъектов к объектам на основе списков управления доступом или матрицы доступа. Позволяет объектам назначать определённым личностям права доступа к некоторым ресурсам.
  • Мандатное управление доступом (Mandatory Access Control) - назначаемые операционной системой набор прав доступа субъектов, которыми на практике как правило выступают процесс или поток. Субъект не может назначать права.
  • Управление доступом на основе ролей (Role-based Access Control) - права доступа в системе назначаются пользователю на основании его роли.