diff options
Diffstat (limited to 'security-models/lectures/lecture12.tex')
| -rw-r--r-- | security-models/lectures/lecture12.tex | 218 |
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} |