forked from vlsergey/infosec
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsecurity_models.tex
53 lines (35 loc) · 11.7 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
50
51
52
53
\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{объектами}. В операционных системах под субъектами почти всегда понимаются процессы, под объектами -- процессы, разделяемая память, объекты файловой системы, порты ввода-вывода и~т.\,д., под действием -- чтение (файла или содержимого директории), запись (создание, добавление, изменение, удаление, переименование файла или директории) и исполнение (файла-программы). Система контроля доступа в информационной системе (операционной системе, базе данных и~т.\,д.) определяет множество субъектов, объектов и действий.
Применение контроля доступа создаётся:
\begin{enumerate}
\item \emph{аутентификацией} субъектов и объектов,
\item \emph{авторизацией} допустимости действия,
\item \emph{аудитом} (проверкой и хранением) ранее совершённых действий.
\end{enumerate}
Различают три основные модели контроля доступа: дискреционная\index{управление доступом!дискреционное} (\langen{discretionary access control, DAC}), мандатная\index{управление доступом!мандатное} (\langen{mandatory access control, MAC}) и ролевая\index{управление доступом!ролевое} (\langen{role-based access control, RBAC}) модели. Современные операционные системы используют \emph{комбинации} двух или трёх моделей доступа, причём решения о доступе принимаются в порядке убывания приоритета: ролевая, мандатная, дискреционная модели.
Системы контроля доступа и защиты информации в операционных системах используются не только для защиты от злоумышленника, но и для повышения устойчивости системы в целом. Однако появление новых механизмов в новых версиях ОС может привести к проблемам совместимости с уже существующим программным обеспечением.
\subsection{Дискреционная модель}
Классическое определение из так называемой Оранжевой книги (\langen{Trusted Computer System Evaluation Criteria}, устаревший стандарт министерства обороны США 5200.28-STD, 1985 г.~\cite{DOD-5200.28-STD}) следующее: дискреционная модель\index{контроль доступа!дискреционный} -- средства ограничения доступа к объектам, основанные на сущности (\langen{identity}) субъекта и/или группы, к которой они принадлежат. Субъект, имеющий определённый доступ к объекту, имеет возможность полностью или частично передать право доступа другому субъекту.
На практике дискреционная модель доступа предполагает, что для каждого объекта в системе определён субъект-владелец. Этот субъект может самостоятельно устанавливать необходимые, по его мнению, права доступа к любому из своих объектов для остальных субъектов, в том числе и для себя самого. Логически владелец объекта является владельцем информации, находящейся в этом объекте. При доступе некоторого субъекта к какому-либо объекту система контроля доступа лишь считывает установленные для объекта права доступа и сравнивает их с правами доступа субъекта. Кроме того, предполагается наличие в ОС некоторого выделенного субъекта -- администратора дискреционного управления доступом, который имеет привилегию устанавливать дискреционные права доступа для любых, даже ему не принадлежащих объектов в системе.
Дискреционную модель реализуют почти все популярные ОС, в частности Windows и Unix. У каждого субъекта (процесса, пользователя или системы) и объекта (файла, другого процесса и~т.\,д.) есть владелец, который может делегировать доступ другим субъектам, изменяя атрибуты на чтение, запись файлов для других пользователей и групп пользователей. Администратор системы имеет возможность назначить нового владельца и другие права доступа к объектам.
\subsection{Мандатная модель}
Классическое определение мандатной модели\index{контроль доступа!мандатный} из Оранжевой книги -- средства ограничения доступа к объектам, основанные на важности (секретности) информации, содержащейся в объектах, и обязательная авторизация действий субъектов для доступа к информации с присвоенным уровнем важности. Важность информации определяется уровнем доступа, приписываемым всем объектам и субъектам. Исторически мандатная модель определяла важность информации в виде иерархии, например, совершенно секретно (СС), секретно (С), конфиденциально (К) и рассекречено (Р). При этом верно следующее: СС $\supset$ C $\supset$ K $\supset$ P, то есть каждый уровень включает сам себя и все уровни, находящиеся ниже в иерархии.
Современное определение мандатной модели -- применение явно указанных правил доступа субъектов к объектам, определяемых только администратором системы. Сами субъекты (пользователи) не имеют возможности для изменения прав доступа. Правила доступа описаны матрицей, в которой столбцы соответствуют субъектам, строки -- объектам, а в ячейках содержатся допустимые действия субъекта над объектом. Матрица покрывает всё пространство субъектов и объектов. Также определены правила наследования доступа для новых создаваемых объектов. В мандатной модели матрица может быть изменена только администратором системы.
Модель Белла --- Ла Падулы\index{модель!Белла --- Ла Падулы} (\langen{Bell --- LaPadula Model},~\cite{Bell:LaPadula:1973, Bell:LaPadula:1976}) использует два мандатных и одно дискреционное правила политики безопасности.
\begin{enumerate}
\item Субъект с определённым уровнем секретности не может иметь доступ на \emph{чтение} объектов с более \emph{высоким} уровнем секретности (\langen{no read-up}).
\item Субъект с определённым уровнем секретности не может иметь доступ на \emph{запись} объектов с более \emph{низким} уровнем секретности (\langen{no write-down}).
\item Использование матрицы доступа субъектов к объектам для описания дискреционного доступа.
\end{enumerate}
\subsection{Ролевая модель}
Ролевая модель доступа основана на определении ролей в системе\index{контроль доступа!ролевой}. Понятие <<роль>> в этой модели -- это совокупность действий и обязанностей, связанных с определённым видом деятельности. Таким образом, достаточно указать тип доступа к объектам для определённой роли и определить группу субъектов, для которых она действует.
Одна и та же роль может использоваться несколькими различными субъектами (пользователями). В некоторых системах пользователю разрешается выполнять несколько ролей одновременно, в других есть ограничение на одну или несколько непротиворечащих друг другу ролей в каждый момент времени.
Ролевая модель, в отличие от дискреционной и мандатной, позволяет реализовать разграничение полномочий пользователей, в частности на системного администратора и офицера безопасности, что повышает защиту от человеческого фактора.