diff options
| author | Andrew Guschin <guschin.drew@gmail.com> | 2023-09-15 15:47:29 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin.drew@gmail.com> | 2023-09-15 15:47:29 +0400 |
| commit | cc5ac702b1f50b76103e8ba2d4fc1751c0d0238f (patch) | |
| tree | 4cd8625c34c21ab3b3749ad6693a79d1616382e8 | |
| parent | 1b17ea5691dc3921da664cdf898786352cd10f24 (diff) | |
Вторая лекция по Моделям безопасности компьютерных систем
| -rw-r--r-- | security-models/lectures/lecture2.tex | 181 | ||||
| -rwxr-xr-x | security-models/maker.sh | 35 | ||||
| -rw-r--r-- | security-models/security-models.pdf | bin | 0 -> 186791 bytes | |||
| -rw-r--r-- | security-models/security-models.tex | 21 |
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 Binary files differnew file mode 100644 index 0000000..91b4dc6 --- /dev/null +++ b/security-models/security-models.pdf 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} |