% Лекция 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}