summaryrefslogtreecommitdiff
path: root/security-models
diff options
context:
space:
mode:
authorAndrew Guschin <guschin.drew@gmail.com>2023-09-15 15:47:29 +0400
committerAndrew Guschin <guschin.drew@gmail.com>2023-09-15 15:47:29 +0400
commitcc5ac702b1f50b76103e8ba2d4fc1751c0d0238f (patch)
tree4cd8625c34c21ab3b3749ad6693a79d1616382e8 /security-models
parent1b17ea5691dc3921da664cdf898786352cd10f24 (diff)
Вторая лекция по Моделям безопасности компьютерных систем
Diffstat (limited to 'security-models')
-rw-r--r--security-models/lectures/lecture2.tex181
-rwxr-xr-xsecurity-models/maker.sh35
-rw-r--r--security-models/security-models.pdfbin0 -> 186791 bytes
-rw-r--r--security-models/security-models.tex21
4 files changed, 237 insertions, 0 deletions
diff --git a/security-models/lectures/lecture2.tex b/security-models/lectures/lecture2.tex
new file mode 100644
index 0000000..9ccde65
--- /dev/null
+++ b/security-models/lectures/lecture2.tex
@@ -0,0 +1,181 @@
+% Лекция 2? (15.09.23)
+
+\subsection{Виды политик} % 1.4
+
+Известны три основных вида политик управления доступом, определяющих способ
+задания разрешённых прав доступа субъектов к сущностям.
+
+\begin{enumerate}
+ \item
+ \emph{Дискреционная политика управления доступом} --- политика,
+ соответствующая следующим требованиям управления доступом в компьютерной
+ системе:
+ \begin{enumerate}
+ \item
+ все сущности должны быть идентифицированы, то есть каждой сущности
+ должен быть присвоен уникальный идентификатор;
+ \item
+ задана матрица доступов, каждая строка которой соответствует субъекту
+ компьютерной системы, столбец --- сущности компьютерной системы, ячейка
+ содержит список прав доступа субъекта к сущности, представляющий собой
+ подмножество прав доступа, реализованных в компьютерной системе;
+ \item
+ субъект обладает правом доступа к сущности компьютерной системы в том
+ и только том случае, когда в ячейке матрицы доступов, соответствующей
+ субъекту и сущности, содержится данное право доступа.
+ \end{enumerate}
+
+ Достоинства: относительно простая реализация системы управления доступом.
+
+ Недостатки: статичность установленных правил управления доступом.
+
+ Примеры: модель Take-Grant, ДП-модель.
+
+ В общем случае дискреционная политика управления доступом не позволяет
+ реализовывать ясную и чёткую систему защиты информации в компьютерной
+ системе.
+
+ \item
+ \emph{Мандатная (полномочная) политика управления доступом} --- политика,
+ соответствующая следующим требованиям управления доступом в компьютерной
+ системе:
+ \begin{enumerate}
+ \item
+ все сущности компьютерной системы должны быть идентифицированы;
+ \item
+ задана решётка уровней конфиденциальности информации;
+ \item
+ каждой сущности компьютерной системы присвоен уровень
+ конфиденциальности, задающий установленные ограничения на доступ к
+ данной сущности;
+ \item
+ каждому субъекту системы присвоен уровень доступа, задающий уровень
+ полномочий данного субъекта в компьютерной системе;
+ \item
+ субъект может получить доступ к сущности компьютерной системы только в
+ случае, когда уровень доступа субъекта позволяет предоставить ему
+ данный доступ к сущности с заданным уровнем конфиденциальности, и
+ реализация доступа не приведёт к возникновению информационных потоков
+ от сущностей с высоким уровнем конфиденциальности к сущностям с низким
+ уровнем конфиденциальности.
+ \end{enumerate}
+
+ Пример: модель Белла-ЛаПадулы.
+
+ Достоинства: задача проверки безопасности является алгоритмически
+ разрешимой; правила данной политики более ясны и просты для понимания
+ разработчиками и пользователями компьютерной системы.
+
+ Недостатки: реализация достаточно сложна и требует значительных ресурсов
+ компьютерной системы.
+
+ \item
+ \emph{Политика ролевого управления доступом} --- политика, соответствующая
+ следующим требования управления доступом в компьютерной системе:
+ \begin{enumerate}
+ \item все сущности должны быть идентифицированы;
+ \item
+ задано множество ролей, каждой из который ставится в соответствие
+ некоторое множество прав доступа к сущностям;
+ \item
+ каждый субъект обладает некоторым множеством разрешённых
+ (авторизованных) для данного субъекта ролей;
+ \item
+ субъект обладает правом доступа к сущности компьютерной системы в
+ случае, когда субъект обладает ролью, которой соответствует множество
+ прав доступа, содержащее данное право доступа к данной сущности.
+ \end{enumerate}
+
+ Ролевое управление доступом является развитием политики дискреционного
+ управления доступом, при этом права доступа субъектов системы к сущностям
+ группируется с учётом специфики их применения, образуя роли.
+
+ Задание ролей позволяет определить более чёткие и понятные для пользователей
+ компьютерной системы правила управления доступом.
+
+ Ролевое управление доступом позволяет реализовать гибкие, изменяющиеся
+ динамически в процессе функционирования компьютерной системы правила
+ управления доступом.
+
+ В том числе на основе ролевого управления доступом могут быть реализованы
+ дискреционное или мандатное управление доступом.
+
+ Кроме данных трёх политик в формальных моделях также анализируются следующие
+ две политики.
+
+ \item
+ \emph{Политика безопасности информационных потоков} основана на разделении
+ всех возможных информационных потоков между сущностями компьютерной системы
+ на два непересекающихся множества: множество разрешённых информационных
+ потоков и множество запрещённых информационных потоков.
+
+ Цель реализации данной политики состоит в том, чтобы обеспечить
+ невозможность возникновения в компьютерной системе запрещённых
+ информационных потоков.
+
+ Данная политика в большинстве случаев реализуется в сочетании с политикой
+ другого вида, например, с дискреционной, мандатной или ролевой политикой
+ управления доступом.
+
+ Реализация данной политики на практике, как правило, является трудной
+ для решения задачей, особенно, когда необходимо обеспечить защиту от
+ возникновения запрещённых информационных потоков по времени.
+
+ \item
+ \emph{Политика изолированной программной среды}.
+
+ Целью данной политики является задание порядка безопасного взаимодействия
+ субъектов компьютерной системы, обеспечивающего невозможность воздействия
+ на систему защиты компьютерной системы и модификации её параметров или
+ конфигурации, результатом которого могло бы стать изменение заданной для
+ компьютерной системы политики управления доступом.
+
+ Данная политика реализуется путём изоляции субъектов компьютерной системы
+ друг от друга и путём контроля порождения новых субъектов таким образом,
+ чтобы в системе могли активизироваться только субъекты из предопределённого
+ списка.
+
+ При этом должна контролироваться целостность сущностей компьютерной системы,
+ влияющих на функциональность активизируемых субъектов.
+\end{enumerate}
+
+
+\subsection{Математические основы}
+
+\paragraph{Алгоритмически разрешимые и алгоритмически неразрешимые проблемы.}
+
+\emph{Массовая проблема} представляет собой бесконечную серию индивидуальных
+задач. Без ограничения общности рассмотрим массовые задачи, все индивидуальные
+задачи которых имеют двузначный ответ (<<да>> и <<нет>>).
+
+\emph{Характеристической функцией} для массовой проблемы $P$ называется функция
+$f : P \to \set{0, 1}$, где для индивидуальной задачи $p \in P$ выполняются
+условия:
+\begin{equation*}
+ \begin{cases}
+ f(p) = 1, &\text{когда } p \text{ имеет ответ <<да>>}; \\
+ f(p) = 0, &\text{когда } p \text{ имеет ответ <<нет>>};
+ \end{cases}
+\end{equation*}
+
+Массовая проблема является \emph{алгоритмически разрешимой}, когда существует
+алгоритм, вычисляющий её характеристическую функцию.
+
+В противном случае массовая проблема является \emph{алгоритмически
+неразрешимой}.
+
+Основной метод, применяемый для доказательства алгоритмической неразрешимости,
+базируется на следующем рассуждении:
+\begin{enumerate}
+ \item Пусть имеются две массовые проблемы $P_1$ и $P_2$.
+ \item
+ Пусть имеется алгоритм $A$, который по всякой индивидуальной задаче $p_1 \in
+ P_1$ строит индивидуальную задачу $p_2 \in P_2$ такую, что $p_1$ имеет ответ
+ <<да>> тогда и только тогда, когда $p_2$ имеет ответ <<да>>.
+ \item
+ В этом случае говорят, что проблема $P_1$ сводится к проблеме $P_2$.
+ \item Если проблема $P_1$ неразрешима, то проблема $P_2$ также неразрешима.
+\end{enumerate}
+
+Пример алгоритмически неразрешимой проблемы --- проблема останова машины
+Тьюринга.
diff --git a/security-models/maker.sh b/security-models/maker.sh
new file mode 100755
index 0000000..e847acf
--- /dev/null
+++ b/security-models/maker.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+watch() {
+ [ -z "$1" ] && echo "Необходимо указать название основного документа" && help
+ set -o xtrace
+ latexmk -pdf -f -shell-escape -interaction=nonstopmode -pvc $1
+}
+
+doc() {
+ [ -z "$1" ] && echo "Необходимо указать название основного документа" && help
+ set -o xtrace
+ latexmk -pdf -f -shell-escape -interaction=nonstopmode $1
+}
+
+clean() {
+ set -o xtrace
+ rm -rf _minted-*
+ find . -name "*.aux" -exec rm {} \;
+ rm -f *.dvi *.fdb_latexmk *.fls *.log *.out *.toc
+}
+
+help() {
+ echo "Использование:"
+ echo "./maker.sh watch <main-doc>.tex -> Запуск процесса, пересобирающего документ при изменениях"
+ echo "./maker.sh doc <main-doc>.tex -> Пересобрать документ"
+ echo "./maker.sh clean -> Удаление сгенерированных файлов"
+ exit 1
+}
+
+case "$1" in
+ watch) watch $2 ;;
+ doc) doc $2 ;;
+ clean) clean ;;
+ *) help ;;
+esac
diff --git a/security-models/security-models.pdf b/security-models/security-models.pdf
new file mode 100644
index 0000000..91b4dc6
--- /dev/null
+++ b/security-models/security-models.pdf
Binary files differ
diff --git a/security-models/security-models.tex b/security-models/security-models.tex
new file mode 100644
index 0000000..7d25199
--- /dev/null
+++ b/security-models/security-models.tex
@@ -0,0 +1,21 @@
+\documentclass{../Lecture}
+
+\usepackage{../preamble}
+\newtheorem{theorem}{Теорема}
+\newtheorem{statement}{Утверждение}
+
+\title{Модели безопасности компьютерных систем}
+\author{Андрей Гущин}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+\tableofcontents
+\thispagestyle{empty}
+\newpage
+
+% Семестр 1
+\input{lectures/lecture2.tex}
+
+\end{document}