forked from vlsergey/infosec
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsecurity_models.tex
49 lines (30 loc) · 11.1 KB
/
security_models.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
\section[Контроль доступа в информационных системах]{Контроль доступа в \protect\\ информационных системах}
\selectlanguage{russian}
%http://www.acsac.org/2005/papers/Bell.pdf
%http://www.dranger.com/iwsec06_co.pdf
%http://csrc.nist.gov/groups/SNS/rbac/documents/design_implementation/Intro_role_based_access.htm
%http://en.wikipedia.org/wiki/Access_control#Computer_security
%http://en.wikipedia.org/wiki/Discretionary_access_control
%http://en.wikipedia.org/wiki/Mandatory_access_control
%http://en.wikipedia.org/wiki/Role-Based_Access_Control
В информационных системах контроль доступа вводится на \emph{действия} \emph{субъектов} над \emph{объектами}. В операционных системах под субъектами почти всегда понимаются процессы, под объектами -- процессы, разделяемая память, объекты файловой системы, порты ввода-вывода и т.д., под действием -- чтение (файла или содержимого директории), запись (создание, добавление, изменение, удаление, переименование файла или директории) и исполнение (файла-программы). Система контроля доступа в информационной системе (операционной системе, базе данных и т.д.) определяет множество субъектов, объектов и действий.
Применение контроля доступа создается 1) \emph{аутентификацией} субъектов и объектов, 2) \emph{авторизацией} допустимости действия, 3) \emph{аудитом} (проверкой и хранением) ранее совершенных действий.
Различают три основные модели контроля доступа -- дискреционная (discretionary access control, DAC), мандатная (mandatory access control, MAC) и ролевая (role-based access control, RBAC) модели. Современные операционные системы используют \emph{комбинации} двух или трех моделей доступа, причем решения о доступе принимаются в порядке убывания приоритета: ролевая, мандатная, дискреционная модели.
В настоящее время в операционных системах использование и развитие контроля доступа происходит в том числе для повышения стабильности системы и устойчивости к ошибкам и уязвимостям, а не только для обеспечения секретности информации.
\subsection{Дискреционная модель}
Классическое определение дискреционной модели\index{контроль доступа!дискреционный} из так называемой Оранжевой книги 1985 г. (Trusted Computer System Evaluation Criteria, устаревший стандарт министерства обороны США 5200.28-STD) следующее -- средства ограничения доступа к объектам, основанные на сущности (identity) субъекта и/или группы, к которой они принадлежат. Субъект, имеющий определенный доступ к объекту, имеет возможность полностью или частично передать право доступа другому субъекту.
На практике дискреционная модель доступа предполагает, что для каждого объекта в системе определен субъект-владелец. Этот субъект может самостоятельно устанавливать необходимые, по его мнению, права доступа к любому из своих объектов для остальных субъектов, в том числе и для себя самого. Логически владелец объекта является владельцем информации, находящейся в этом объекте. При доступе некоторого субъекта к какому-либо объекту система контроля доступа лишь считывает установленные для объекта права доступа и сравнивает их с правами доступа субъекта. Кроме того, предполагается наличие в ОС некоторого выделенного субъекта, администратора дискреционного управления доступом, который имеет привилегию устанавливать дискреционные права доступа для любых, даже ему не принадлежащих, объектов в системе.
Дискреционную модель реализуют почти все популярные ОС, в частности, Windows и Unix. У каждого субъекта (процесса пользователя или системы) и объекта (файла, другого процесса и т.д.) есть владелец, который может делегировать доступ другим субъектам, изменяя атрибуты на чтение, запись файлов для других пользователей и групп пользователей. Администратор системы имеет возможность назначить нового владельца и другие права доступа к объектам.
\subsection{Мандатная модель}
Классическое определение мандатной модели\index{контроль доступа!мандатный} из Оранжевой книги -- средства ограничения доступа к объектам, основанные на важности (секретности) информации, содержащейся в объектах, и обязательная авторизация действий субъектов для доступа к информации с присвоенным уровнем важности. Важность информации определяется уровнем доступа, приписываемым всем объектам и субъектам. Исторически мандатная модель определяла важность информации в виде иерархии, например, совершенно секретно (СС), секретно (С), конфиденциально (К) и рассекречено (Р). При этом верно следующее: СС $>$ C $>$ K $>$ P, то есть каждый уровень включает сам себя и все уровни, находящиеся ниже в иерархии.
Современное определение мандатной модели -- применение явно указанных правил доступа субъектов к объектам, определяемых только администратором системы. Сами субъекты (пользователи) не имеют возможности для изменения прав доступа. Правила доступа описаны матрицей, в которой столбцы соответствуют субъектам, строки -- объектам, а в ячейках -- допустимые действия субъекта над объектом. Матрица покрывает все пространство субъектов и объектов. Также определены правила наследования доступа для новых создаваемых объектов. В мандатной модели матрица может быть изменена только администратором системы.
Модель Белл-Ла Падулы (Bell-La Padula) использует два мандатных и одно дискреционное правила политики безопасности:
\begin{enumerate}
\item Субъект с определенным уровнем секретности не может иметь доступ на \emph{чтение} объектов с более \emph{высоким} уровнем секретности (no read-up).
\item Субъект с определенным уровнем секретности не может иметь доступ на \emph{запись} объектов с более \emph{низким} уровнем секретности (no write-down).
\item Использование матрицы доступа субъектов к объектам для описания дискреционного доступа.
\end{enumerate}
\subsection{Ролевая модель}
Ролевая модель доступа основана на определении ролей в системе\index{контроль доступа!ролевой}. Понятие <<роль>> в этой модели -- это совокупность действий и обязанностей, связанных с определенным видом деятельности. Таким образом, достаточно указать тип доступа к объектам для определенной роли и определить группу субъектов, для которых она действует.
Одна и та же роль может использоваться несколькими различными субъектами (пользователями). В некоторых системах пользователю разрешается выполнять несколько ролей одновременно, в других есть ограничение на одну или несколько не противоречащих друг другу ролей в каждый момент времени.
Ролевая модель, в отличие от дискреционной и мандатной, позволяет реализовать разграничение полномочий пользователей, в частности, на системного администратора и офицера безопасности, что повышает защиту от человеческого фактора.