From f9b917e3135b27caf54d4e595e30cbe7ece935ae Mon Sep 17 00:00:00 2001
From: Andrew Guschin <guschin@altlinux.org>
Date: Tue, 6 Aug 2024 23:54:54 +0400
Subject: =?UTF-8?q?=D0=9B=D0=B5=D0=BA=D1=86=D0=B8=D0=B8=20=D0=BF=D0=BE=20?=
 =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D1=8F=D0=BC=20=D0=B1=D0=B5=D0=B7?=
 =?UTF-8?q?=D0=BE=D0=BF=D0=B0=D1=81=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D0=B8?=
 =?UTF-8?q?=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=B0=D0=BC=20=D0=B0=D0=BB?=
 =?UTF-8?q?=D0=B3=D0=B5=D0=B1=D1=80=D0=B0=D0=B8=D1=87=D0=B5=D1=81=D0=BA?=
 =?UTF-8?q?=D0=BE=D0=B9=20=D0=B3=D0=B5=D0=BE=D0=BC=D0=B5=D1=82=D1=80=D0=B8?=
 =?UTF-8?q?=D0=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 security-models/lectures/lecture12.tex | 218 +++++++++++++++++++++++++++++++++
 1 file changed, 218 insertions(+)
 create mode 100644 security-models/lectures/lecture12.tex

(limited to 'security-models/lectures/lecture12.tex')

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}
-- 
cgit v1.2.3

