summaryrefslogtreecommitdiff
path: root/security-models/lectures/lecture8.tex
blob: afc6c3964fb47a193bc0399a6747ac48510b2de0 (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
% Лекция 8 (10.11.23)

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

Пусть $x, y \in O_0, \, x \neq y$ --- различные объекты графа доступов $G_0 =
(S_0, O_0, E_0),\, \alpha \subseteq R$. Определим предикат $\fn{can_steal}(
\alpha, x, y, G_0)$, который будет истинным $\iff (x, y, \alpha) \cap E_0 =
\varnothing$, существуют графы $G_1 = (S_1, O_1, E_1)$, $\dots$, $G_N = (S_N,
O_N, E_N)$ и правила $op_1, \dots, op_N$, где $N \geq 1$, такие, что $G_0
\vdash_{op_1} G_1 \vdash_{op_2} \dots \vdash_{op_N} G_N$ и $(x, y, \alpha)
\subset E_N$, при этом, если существует $(s, y, \gamma) \subset E_0$, где
$\gamma \subseteq \alpha$, то справедливо неравенство $op_k \neq \fn{grant}(
\gamma, s, z, y)$, где $z \in O_{K - 1}, K = 1, \dots, N$.

Говоря иначе, согласно определению похищением прав является процесс получения
прав доступа на какой-либо объект без представления прав третьим субъектам со
стороны субъекта, обладающего в начальном состоянии требуемыми правами на
объект <<интересе>>.

%% NOTE: 2.7
\begin{theorem}
  Пусть $G_0 = (S_0, O_0, E_0)$ --- произвольный граф доступов, $x, y \in O_0$,
  $x \neq y$. Предикат $\fn{can_steal}(\alpha, x, y, G_0)$ истинен $\iff$
  выполняются следующие четыре условия:
  \begin{enumerate}
    \item $(x, y, \alpha) \cap E_0 = \varnothing$;
    \item существуют объекты $s_1, \dots, s_m \in O_0$ такие, что $(s_i, y,
      \gamma_i) \subset E_0$ для $i = 1, \dots, m$ и $\alpha = \gamma_1 \cup
      \dots \cup \gamma_m$;
    \item являются истинными предикаты $\fn{can_share}(\set{t}, x, s_i, G_0)$,
      где $i = 1, \dots, m$;
    \item
      для $i = 1, \dots, m$ граф доступов $G_0$ не является графом вида,
      приведённого на рисунке 2.7
      %% TODO: рис 1 (2.7)
      %% TODO: Условие 4 теоремы 2.5
  \end{enumerate}
\end{theorem}

Данная теорема означает, что если политика разграничения доступа в компьютерной
системе запрещает субъектам, имеющим в исходном состоянии права доступа к
определённым объектам, непосредственно предоставлять эти права другим субъектам
(то есть такие потоки, для которых в графе доступов $G_0$ нет дуг <<$g$>> от
этих субъектов), которые изначально такими правами не обладают, то тем не менее,
такие первоначально <<обделённые>> субъекты могут получить данные права при
наличии в графе доступов возможностей получения доступа с правом $t$ к первым
субъектам.

Таким образом, модель \emph{take-grant} играет важную методологическую роль,
предоставляя теоретико-графовый инструмент анализа систем разграничения доступа
с точки зрения санкционированного и несанкционированного со стороны определённых
субъектов распространения прав доступа в рамках дискреционной политики.

Правила де-юре контролируют только передачу полномочий, они ничего не говорят о
передач информации, поэтому на основе классической модели \emph{Take-Grant}
были разработаны её расширения, которые предлагают новые механизмы анализа, в
большей степени применимые к современным системам защиты информации.

Рассмотрим некоторые расширения модели.

%% NOTE: 1
\paragraph{Де-факто правила, предназначенные для поиска и анализа информационных
потоков.}

Вместо прав доступа take и grant в расширенной модели в первую очередь
рассматриваются права read и write, наличие которых у субъектов системы является
причиной возникновения информационных потоков.

Основные элементы (дополнения):
\begin{itemize}
  \item
    $R = \set{r_1, r_2, \dots, r_m} \cup \set{t, g} \cup \set{r, w}$ ---
    множество видов прав доступа информационных потоков, где r (read) --- право
    на чтение или информационный поток на чтение, w (write) --- право на запись
    или информационный поток на запись;
  \item
    $G = (S, O, E \cup F)$ --- граф доступов и информационных потоков;
  \item
    Элементы множества $E \subseteq O \times O \times R$ являются <<реальными>>
    дугами графа, соответствующими правам доступа, и в графе доступов
    обозначается сплошными линиями;
  \item
    Элементы множества $F \subseteq O \times O \times \set{r, w}$ являются
    <<мнимыми>> дугами, соответствующими информационным потокам, и в графе
    доступов обозначаются пунктирными линиями.
  \item
    Каждая <<реальная>> дуга помечена непустым подмножеством множества всех видов
    прав доступа $R$, каждая <<мнимая>> дуга помечена непустым подмножеством
    множества $\set{r, w}$;
  \item
    Порядок перехода системы расширенной модели \emph{Take-Grant} из состояния
    в состояние определяется де-юре и де-факто правилами преобразования графов
    доступов и информационных потоков;
  \item
    Преобразование графа $G$ в граф $G'$ в результате выполнения правила $op$
    обозначается $G \vdash_{op} G'$.
\end{itemize}

Определение де-юре правил take, grant, create, remove совпадает с определением
этих правил в классической модели Take-Grant.

Де-юре правила применяются только к <<реальным>> дугам (элементам множества
$E$). Де-факто правила применяются к <<реальным>> или <<мнимым>> дугам
(элементам множества $E \cup F$), помеченным $r$ или $w$.

Результатом применения де-факто правил является добавление новых <<мнимых>> дуг
в множество $F$. Рассматриваются шесть де-факто правил: два вспомогательных и
четыре основных

\begin{itemize}
  \item
    См. рисунок 2.8: субъект $x$ получает возможность записи (в себя) информации,
    осуществляя доступ $r$ к объекту $y$.
    %% TODO: рис. 2 (2.8)
    %% TODO: Применение первого де-факто правила
  \item
    См. рисунок 2.8: субъект $x$ получает возможность чтения информации,
    осуществляя доступ $w$ к объекту $y$.
    %% TODO: рис. 3 (2.9)
    %% TODO: Применение второго де-факто правила
  \item
    \emph{Spy} (шпион) (см. рисунок 2.10): субъект $x$ получает возможность
    чтения информации из объекта $z$, осуществляя доступ $r$ к субъекту $y$,
    который, в свою очередь, осуществляет доступ $r$ к объекту $z$, при этом
    также у субъекта $x$ возникает возможность записи к себе информации из
    объекта $z$.

    Получается, $x$ шпионит за $z$, используя $y$, другими словами, $x$ <<смотрит
    через плечо>> $y$, чтобы следить за $z$.
    %% TODO: рис. 4 (2.10)
    %% TODO: Применение правила spy(x, y, z)
  \item
    \emph{Find} (находить) (см. рисунок 2.11): субъект $x$ получает возможность
    чтения информации из объекта $z$, осуществляя доступ $w$ к субъекту $y$,
    который, в свою очередь, осуществляет доступ $w$ к объекту $z$, при этом
    также у субъекта $x$ возникает возможность записи к себе информации из
    объекта $z$.
    %% TODO: рис. 5 (2.11)
    %% TODO: Применение правила spy(x, y, z)
  \item
    \emph{Post} (почта) (см. рисунок 2.12): субъект $x$ получает возможность чтения
    информации от (из) другого субъекта $z$, осуществляя доступ $r$ к объекту
    $y$, к которому субъект $z$ осуществляет доступ $w$, а субъект $z$, в
    свою очередь.
\end{itemize}