summaryrefslogtreecommitdiff
path: root/security-models/lectures/lecture12.tex
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2024-08-06 23:54:54 +0400
committerAndrew Guschin <guschin@altlinux.org>2024-08-06 23:54:54 +0400
commitf9b917e3135b27caf54d4e595e30cbe7ece935ae (patch)
tree8dec46094b92e792e326e10a728abaec202f76a0 /security-models/lectures/lecture12.tex
parentcc5ac702b1f50b76103e8ba2d4fc1751c0d0238f (diff)
Лекции по моделям безопасности и методам алгебраической геометрии
Diffstat (limited to 'security-models/lectures/lecture12.tex')
-rw-r--r--security-models/lectures/lecture12.tex218
1 files changed, 218 insertions, 0 deletions
diff --git a/security-models/lectures/lecture12.tex b/security-models/lectures/lecture12.tex
new file mode 100644
index 0000000..8aad472
--- /dev/null
+++ b/security-models/lectures/lecture12.tex
@@ -0,0 +1,218 @@
+% Лекция 12 (04/08.12.23)
+
+%% NOTE: 3.1
+% \subsection{Модель Белла-ЛаПадулы}
+
+$M = \set{m_{|S| \times |O|}}$ --- множество возможных матриц доступов, где
+$m_{|S| \times |O|}$ --- матрица доступов, $m[s, o] \subseteq R$ --- права
+доступа субъекта $s$ к объекту $o$;
+
+$(f_s, f_o, f_c) \in F = L^S \times L^O \times L^S$ --- тройка функций
+%% TODO: дописать
+
+\begin{itemize}
+ \item $V = B \times M \times F$ --- множество состояний системы;
+ \item $Q$ --- множество запросов системе;
+ \item
+ $D$ --- множество ответов по запросам, например, $D = \set{yes, no, error}$;
+ \item
+ $W \subseteq Q \times D \times V \times V$ --- множество действий системы,
+ где $(q, d, v^*, v) \in W$, означает, что системы по запросу $q$ с ответом
+ $d$ перешла из состояния $v$ в состояние $v^*$;
+ \item
+ $\NN_0 = \set{0, 1, 2, \dots}$ --- множество значений времени;
+ \item
+ $X$ --- множество функций $x : \NN_0 \to Q$, задающих все возможные
+ последовательности запросов к системе;
+ \item
+ $Y$ --- множество функций $y : \NN_0 \to D$, задающих все возможные
+ последовательности ответов системы по запросам;
+ \item
+ $Z$ --- множество функций $z : \NN_0 \to V$, задающих все возможные
+ последовательности состояний системы.
+\end{itemize}
+
+$\Sigma (Q, D, W, z_0) \subseteq X \times Y \times Z$ называется \emph{системой},
+когда для каждого $(x, y, z) \in \Sigma (Q, D, W, z_0)$ выполняется условие:
+для $t \in \NN_0 \; (x_t, y_t, z_{t + 1}, z_t) \in W$, где $z_0$ --- начальное
+состояние системы.
+
+При этом каждый набор $(x, y, z) \in \Sigma (Q, D, W, z_0)$ называется
+\emph{реализацией} системы, а $(x_t, y_t, z_{t + 1}, z_t) \in W$ ---
+\emph{действием} системы в момент времени $t \in \NN_0$.
+
+В классической модели Белла-ЛаПадулы рассматриваются следующие запросы, входящие
+в множество $Q$:
+\begin{enumerate}
+ \item запросы изменения множества текущих доступов $b$;
+ \item запросы изменения функций $f$;
+ \item запросы изменения прав доступа в матрице $m$.
+\end{enumerate}
+
+Следующий список описывает изменения каждого элемента состояния системы.
+Конкретное решение по запросу включает возможность производить следующие
+изменения в состоянии системы.
+\begin{enumerate}
+ \item
+ Изменение текущих доступов:
+ \begin{enumerate}
+ \item
+ получить доступ (добавить тройку (субъект, объект, вид доступа) в
+ текущее множество доступов $b$);
+ \item
+ отменить доступ (удалить аналогично).
+ \end{enumerate}
+ \item
+ Изменение значений функций уровней конфиденциальности и доступа:
+ \begin{enumerate}
+ \item изменить уровень конфиденциальности объекта;
+ \item изменить уровень доступа субъекта.
+ \end{enumerate}
+ \item
+ Изменение прав доступа:
+ \begin{enumerate}
+ \item
+ дать разрешение на доступ (добавить право доступа в соответствующий
+ элемент матрицы доступов $m$);
+ \item
+ отменить разрешение на доступ (удалить аналогично).
+ \end{enumerate}
+\end{enumerate}
+
+Безопасность системы определяется с помощью трёх свойств:
+\begin{itemize}
+ \item
+ ss --- свойства простой безопасности (simple security, безопасность по
+ чтению);
+ \item
+ * --- свойства <<звезда>> (безопасность по записи);
+ \item
+ ds --- свойства дискреционной безопасности (discretionary security,
+ безопасность (разрешённость) по матрице доступа).
+\end{itemize}
+
+Доступ $(s, o, r) \in S \times O \times R$ обладает ss-свойством относительно
+$f = (f_s, f_o, f_c) \in F$, когда выполняется одно из условий:
+\begin{enumerate}
+ \item $r \in \set{execute, append}$;
+ \item $r \in {read, write} \land f_s(s) \geq f_o(o)$.
+\end{enumerate}
+
+Состояние системы $(b, m, f) \in V$ обладает ss-свойством, когда каждый элемент
+$(s, o, r) \in b$ обладает ss-свойством относительно $f$.
+
+Доступ $(s, o, r) \in S \times O \times R$ обладает *-свойством относительно
+$f = (f_s, f_o, f_c) \in F$, когда выполняется одно из условий:
+\begin{enumerate}
+ \item $r = execute$;
+ \item $r = append \land f_o(o) \geq f_c(s)$;
+ \item $r = read \land f_c(s) \geq f_o(o)$;
+ \item $r = write \land f_c(s) = f_o(o)$.
+\end{enumerate}
+
+Состояние системы $(b, m, f) \in V$ обладает *-свойством, когда каждый элемент
+$(s, o, r) \in b$ обладает *-свойством относительно $f$.
+
+Состояние системы $(b, m, f) \in V$ обладает *-свойством относительно
+подмножества $S' \subseteq S$, когда каждый элемент $(s, o, r) \in b$, где
+$s \in S'$, обладает *-свойством относительно $f$.
+
+При этом $S \backslash S'$ называется \emph{множеством доверенных субъектов},
+то есть субъектов, имеющих право нарушать требования *-свойства.
+
+Состояние системы $(b, m, f) \in V$ обладает ds-свойством, когда для каждого
+доступа $(s, o, r) \in b$ выполняется условие $r \in m[s, o]$.
+
+Состояние системы $(b, m, f)$ называется \emph{безопасным}, когда оно обладает
+*-свойством относительно $S'$, ss-свойством и ds-свойством.
+
+Реализация системы $(x, y, z) \in \Sigma (Q, D, W, z_0)$ обладает ss-свойством
+(*-свойством, ds-свойством), когда в последовательности $(z_0, z_1, \dots)$
+каждое состояние обладает ss-свойством (*-свойством, ds-свойством).
+
+Система $\Sigma (Q, D, W, z_0)$ обладает ss-свойством (*-свойством, ds-свойством),
+когда каждая её реализация обладает ss-свойством (*-свойством, ds-свойством).
+
+Система $\Sigma (Q, D, W, z_0)$ нащывается \emph{безопасной}, когда она обладает
+ss-свойством, *-свойством, ds-свойством одновременно.
+
+Описанные свойства можно пояснить следующим образом:
+\begin{enumerate}
+ \item
+ из обладания доступом *-свойством относительно $f$ следует обладание этим
+ доступом ss-свойством относительно $f$;
+ \item
+ из обладания ss-свойством следует, что в модели Белла-ЛаПадулы выполняется
+ запрет на чтение вверх, требуемый мандатной политикой безопасности.
+
+ Кроме того, ss-свойство не допускает модификацию с использованием доступа
+ write, когда $f_s(s) < f_o(o)$.
+
+ Таким образом, функция $f_s(s)$ задаёт для субъекта $s$ верхний уровень
+ конфиденциальности объектов, к которым он потенциально может получить доступ
+ read или write;
+ \item
+ если субъект $s$ может понизить свой текущий уровень доступа до $f_c(s) =
+ f_o(o)$, то он может получить доступ write к объекту $o$, но не доступ
+ read к объектам $o'$, чей уровень $f_o(o') > f_c(s)$.
+
+ Хотя при этом, возможно, справедливо неравенство $f_s(s) \geq f_o(o')$, и
+ в каких-то других состояниях системы субъект $s$ может получить доступ
+ read к объекту $o'$.
+
+ Таким образом, *-свойство исключает появление в системе запрещённого
+ информационного потока <<сверху вниз>> и соответствует требованиям мандатной
+ политики безопасности (см. рис. 3.1).
+
+ %% TODO: рис 1 (3.1): Иллюстрация *-свойства
+\end{enumerate}
+
+%% NOTE: 3.1
+\begin{theorem}
+ Система $\Sigma(Q, D, W, z_0)$ обладает ss-свойством для любого начального
+ состояния $z_0$, обладающего ss-свойством $\iff$ для каждого действия
+ $(q, d, (b^*, m^*, f^*), (b, m, f)) \in W$ выполняется два условия:
+ \begin{enumerate}
+ \item
+ каждый доступ $(s, o, r) \in b^* \backshash b$ обладает ss-свойством
+ относительно $f^*$;
+ \item
+ если $(s, o, r) \in b$ и не обладает ss-свойством относительно $f^*$,
+ то $(s, o, r) \not\in b^*$.
+ \end{enumerate}
+\end{theorem}
+
+\begin{theorem}
+ Система $\Sigma(Q, D, W, z_0)$ обладает *-свойством относительно $S' \subseteq S$
+ для любого начального состояния $z_0$, обладающего *-свойством относительно
+ $S'$ $\iff$ для каждого действия $(q, d, (b^*, m^*, f^*), (b, m, f)) \in W$
+ выполняются два условия:
+ \begin{enumerate}
+ \item
+ для $s \in S'$ доступ $(s, o, r) \in b^* \backslash b$ обладает *-свойством
+ относительно $f^*$;
+ \item
+ для $s \in S'$, если $(s, o, r) \in b$ и не обладает *-свойством
+ относительно $f^*$, то $(s, o, r) \not\in b^*$.
+ \end{enumerate}
+\end{theorem}
+
+\begin{theorem}
+ Система $\Sigma(Q, D, W, z_0)$ обладает ds-свойством для любого начального
+ состояния $z_0$, обладающего ds-свойством $\iff$ для каждого действия
+ $(q, d, (b^*, m^*, f^*), (b, m, f)) \in W$ выполняется два условия:
+ \begin{enumerate}
+ \item
+ для каждого $(s, o, r) \in b^* \backslash b$ выполняется условие
+ $r \in m^*[s, o]$;
+ \item
+ если доступ $(s, o, r) \in b \land r \not\in m^*[s, o] \implies (s, o, r)
+ \not\in b^*$.
+ \end{enumerate}
+\end{theorem}
+
+%% NOTE: 3.4
+\begin{theorem}[Базовая теорема безопасности]
+ Система $\Sigma(Q, D, W, z_0)$ безопасна для безопасного $z_0$ $\iff$
+ множество действий системы $W$ удовлетворяет условиям теорем 3.1 -- 3.3.
+\end{theorem}