lab3
This commit is contained in:
BIN
report/img/lab3-acl.png
Normal file
BIN
report/img/lab3-acl.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.0 KiB |
BIN
report/img/lab3-confaccess.png
Normal file
BIN
report/img/lab3-confaccess.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 47 KiB |
BIN
report/img/lab3-labels.png
Normal file
BIN
report/img/lab3-labels.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
BIN
report/img/lab3-setup.png
Normal file
BIN
report/img/lab3-setup.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 68 KiB |
BIN
report/img/lab3-usermgr-mode.png
Normal file
BIN
report/img/lab3-usermgr-mode.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
@@ -176,6 +176,7 @@
|
||||
\begin{enumerate}
|
||||
\item Практическая работа №1. Анализ уязвимостей программного обеспечения. Данная практическая работа посвящена анализу уязвимостей программного обеспечения с использованием Банка данных угроз безопасности информации ФСТЭК России~\cite{fstec-bdu}. В ходе выполнения работы предусмотрено изучение структуры разделов «Угрозы» и «Уязвимости», а также поиск уязвимостей по заданным критериям. Особое внимание уделяется выявлению уязвимостей, соответствующих используемым версиям операционных систем личных устройств, и рассмотрению возможных мер по их устранению.
|
||||
\item Практическая работа №2. Разработка и исследование системы аутентификации и авторизации. Данная практическая работа посвящена разработке системы доступа пользователей к конфиденциальным данным и исследованию стойкости паролей к атаке методом грубой силы. В ходе выполнения работы реализованы утилита управления пользователями, утилита доступа к конфиденциальным данным и программа перебора паролей, а также проведено экспериментальное исследование зависимости времени взлома от длины пароля.
|
||||
\item Практическая работа №3. Реализация моделей дискреционного и мандатного управления доступом. Данная практическая работа посвящена расширению системы из работы №2 путём реализации моделей DAC (дискреционный доступ) и MAC (мандатный доступ) на основе модели Белла–Лападулы.
|
||||
\end{enumerate}
|
||||
|
||||
\newpage
|
||||
@@ -549,6 +550,138 @@ N(n) = 52 \cdot 72^{n-1}
|
||||
|
||||
Теоретический анализ показал, что количество итераций, необходимых для полного перебора паролей, экспоненциально возрастает с увеличением их длины. Экспериментальное исследование позволило оценить реальную скорость перебора и подтвердить теоретические оценки. Полученные результаты демонстрируют, что использование паролей длиной 6 символов и более существенно затрудняет атаку методом грубой силы.
|
||||
|
||||
\newpage
|
||||
\section{Реализация моделей дискреционного и мандатного управления доступом}
|
||||
|
||||
\subsection{Актуальность темы}
|
||||
|
||||
Модели управления доступом являются фундаментом систем защиты информации. Дискреционное управление (DAC) позволяет владельцам объектов гибко назначать права, однако не защищает от утечки информации через легитимных пользователей. Мандатное управление (MAC) на основе меток конфиденциальности обеспечивает принудительный контроль потока информации и применяется в системах с повышенными требованиями к защите. Изучение и практическая реализация обеих моделей в контексте дисциплины <<Защита информации>> позволяет закрепить понимание механизмов разграничения доступа и их ограничений.
|
||||
|
||||
\subsection{Цели и задачи работы}
|
||||
|
||||
Практическая работа №3 по дисциплине <<Защита информации>> посвящена реализации моделей дискреционного (DAC) и мандатного (MAC) управления доступом на базе системы, разработанной в практической работе №2.
|
||||
|
||||
Цель работы: изучить особенности моделей DAC и MAC и реализовать их в рамках существующей системы аутентификации и авторизации.
|
||||
|
||||
Задачи работы:
|
||||
\begin{enumerate}
|
||||
\item Изучить особенности дискреционного управления доступом и модель Харрисона–Руззо–Ульмана.
|
||||
\item Разработать систему DAC с владением объектами, произвольным назначением прав и контролем на основе матрицы (списка) доступа.
|
||||
\item Изучить особенности мандатного управления доступом и модель Белла–Лападулы.
|
||||
\item Разработать систему MAC с метками безопасности для субъектов и объектов и свойствами модели Белла–Лападулы.
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Краткие сведения о DAC и MAC}
|
||||
|
||||
\textbf{Дискреционное управление доступом (DAC)} основано на произвольном назначении прав владельцем объекта. Каждый объект имеет владельца, который может назначать и передавать права доступа другим субъектам. Контроль осуществляется на основе матрицы доступа или списков доступа (ACL), где для каждой пары (субъект, объект) указаны разрешённые операции. Модель Харрисона–Руззо–Ульмана формализует операции над матрицей доступа (создание/удаление субъектов и объектов, выдача и отзыв прав).
|
||||
|
||||
\textbf{Мандатное управление доступом (MAC)} основано на метках конфиденциальности, назначаемых суперпользователем. Субъекты и объекты получают метки (уровни), и доступ определяется правилами, не зависящими от воли пользователей. Модель Белла–Лападулы реализует два основных свойства: <<нет чтения сверху>> (субъект может читать только объекты с уровнем не выше своего) и <<нет записи вниз>> (субъект может записывать только в объекты с уровнем не ниже своего), что предотвращает утечку информации с высокого уровня на низкий.
|
||||
|
||||
\subsection{Требования к разрабатываемым системам}
|
||||
|
||||
Структура каталогов аналогична работе №2, но с базовым путём \texttt{/usr/local/practice3} (переменная \texttt{PRACTICE3\_DIR}):
|
||||
|
||||
\begin{itemize}
|
||||
\item \texttt{etc/} — файлы настроек: \texttt{passwd}, \texttt{access\_mode}, \texttt{acl}, \texttt{subject\_labels}, \texttt{object\_labels};
|
||||
\item \texttt{confdata/} — конфиденциальные файлы;
|
||||
\item \texttt{bin/} — утилиты;
|
||||
\item \texttt{log/} — журналы.
|
||||
\end{itemize}
|
||||
|
||||
\textbf{DAC:} у каждого объекта — владелец; владелец может назначать права через команду \texttt{grant}; контроль по списку доступа (ACL) в формате \\ \texttt{путь:владелец:пользователь:права,...}.
|
||||
|
||||
\textbf{MAC:} метки безопасности (0 — несекретно, 1 — ДСП, 2 — секретно) назначаются суперпользователем через \texttt{usermgr}; субъекты не могут менять метки; проверка по свойствам Белла–Лападулы.
|
||||
|
||||
Режим проверки (BOTH — DAC и MAC, DAC\_ONLY, MAC\_ONLY) задаётся администратором через \texttt{usermgr set-mode} и доступен только root.
|
||||
|
||||
\subsection{Описание реализации}
|
||||
|
||||
Система построена на базе кода из практической работы №2. Утилита \texttt{usermgr} расширена админскими подкомандами (приложение 5): \texttt{set-mode BOTH|DAC\_ONLY|MAC\_ONLY} — установка режима проверки; \texttt{show-mode} — вывод текущего режима; \texttt{edit <логин> --label <0|1|2>} — установка метки субъекта; \texttt{set-label <путь> <0|1|2>} — установка метки объекта. Все админские команды требуют прав root.
|
||||
|
||||
Утилита \texttt{confaccess} (приложение 6) полностью переработана. При \texttt{create} объект получает владельца (текущий пользователь) и запись в ACL; при операциях \texttt{read}, \texttt{append}, \texttt{remove} проверяется наличие соответствующего права в ACL. Команда \texttt{grant <пользователь> <путь> <права>} доступна только владельцу объекта. Для MAC при каждой операции проверяются свойства Белла–Лападулы: чтение разрешено при уровне субъекта $\ge$ уровня объекта; запись (append, create, remove) — при уровне субъекта $\le$ уровня объекта. Конфигурация путей вынесена в \texttt{config.py} (приложение 7). Скрипт \texttt{setup.sh} (приложение 8) создаёт структуру для practice3 и инициализирует файлы \texttt{access\_mode}, \texttt{acl}, \texttt{subject\_labels}, \texttt{object\_labels}.
|
||||
|
||||
\subsection{Развёртывание и примеры работы}
|
||||
|
||||
Установка выполняется аналогично работе №2:
|
||||
|
||||
\begin{verbatim}
|
||||
chmod +x setup.sh
|
||||
PRACTICE3_DIR=/tmp/practice3 ./setup.sh
|
||||
\end{verbatim}
|
||||
|
||||
Результат выполнения скрипта представлен на рисунке~\ref{fig:lab3-setup}.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
% Заглушка: добавить скриншот img/lab3-setup.png
|
||||
\includegraphics[width=0.6\linewidth]{img/lab3-setup.png}
|
||||
\caption{Результат выполнения скрипта setup.sh (practice3)}
|
||||
\label{fig:lab3-setup}
|
||||
\end{figure}
|
||||
|
||||
Примеры работы утилит: переключение режима \texttt{usermgr set-mode}, установка меток, работа \texttt{confaccess} с командами \texttt{create}, \texttt{grant}, \texttt{read} — на рисунках~\ref{fig:lab3-usermgr} и~\ref{fig:lab3-confaccess}.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
% Заглушка: добавить скриншот img/lab3-usermgr-mode.png
|
||||
\includegraphics[width=0.6\linewidth]{img/lab3-usermgr-mode.png}
|
||||
\caption{Работа usermgr: set-mode, show-mode, set-label}
|
||||
\label{fig:lab3-usermgr}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
% Заглушка: добавить скриншот img/lab3-confaccess.png
|
||||
\includegraphics[width=0.6\linewidth]{img/lab3-confaccess.png}
|
||||
\caption{Работа confaccess: create, grant, read}
|
||||
\label{fig:lab3-confaccess}
|
||||
\end{figure}
|
||||
|
||||
\subsection{Примеры содержимого служебных файлов}
|
||||
|
||||
\textbf{Список доступа (ACL) для DAC} — файл \texttt{etc/acl}. Каждая строка: \texttt{путь:владелец:пользователь1:права1,пользователь2:права2,...}. Пример:
|
||||
|
||||
\begin{verbatim}
|
||||
report.txt:alice:alice:rwd,bob:r
|
||||
secret.txt:bob:bob:rwd
|
||||
\end{verbatim}
|
||||
|
||||
Владелец \texttt{report.txt} — alice (полные права rwd); bob имеет только чтение (r).
|
||||
|
||||
\textbf{Метки конфиденциальности для MAC} — файлы \texttt{etc/subject\_labels} (субъекты) и \texttt{etc/object\_labels} (объекты). Формат: \texttt{идентификатор:уровень}, где уровень — 0 (несекретно), 1 (ДСП), 2 (секретно). Пример:
|
||||
|
||||
\begin{verbatim}
|
||||
# subject_labels
|
||||
alice:1
|
||||
bob:0
|
||||
|
||||
# object_labels
|
||||
report.txt:0
|
||||
secret.txt:2
|
||||
\end{verbatim}
|
||||
|
||||
Примеры содержимого файлов ACL и меток представлены на рисунках~\ref{fig:lab3-acl} и~\ref{fig:lab3-labels}.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
% Заглушка: добавить скриншот img/lab3-acl.png
|
||||
\includegraphics[width=0.7\linewidth]{img/lab3-acl.png}
|
||||
\caption{Содержимое файла etc/acl (список доступа DAC)}
|
||||
\label{fig:lab3-acl}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
% Заглушка: добавить скриншот img/lab3-labels.png
|
||||
\includegraphics[width=0.7\linewidth]{img/lab3-labels.png}
|
||||
\caption{Содержимое файлов subject\_labels и object\_labels (метки MAC)}
|
||||
\label{fig:lab3-labels}
|
||||
\end{figure}
|
||||
|
||||
\subsection{Выводы}
|
||||
|
||||
В ходе практической работы №3 на базе системы из работы №2 реализованы модели дискреционного и мандатного управления доступом. DAC реализован через список доступа (ACL) с владельцами объектов и командой \texttt{grant} для произвольного назначения прав. MAC реализован на основе модели Белла–Лападулы с тремя уровнями меток и проверкой свойств <<нет чтения сверху>> и <<нет записи вниз>>. Режимы проверки (BOTH, DAC\_ONLY, MAC\_ONLY) позволяют гибко настраивать систему; переключение доступно только администратору (root). Полученный опыт демонстрирует принципиальные различия между дискреционным и мандатным подходами к управлению доступом и их практическую реализацию в информационных системах.
|
||||
|
||||
|
||||
\newpage
|
||||
\section*{Заключение}
|
||||
@@ -558,6 +691,8 @@ N(n) = 52 \cdot 72^{n-1}
|
||||
|
||||
В ходе выполнения практической работы №2 была разработана система доступа пользователей к конфиденциальным данным. Реализованы утилита управления пользователями с хэшированием паролей по алгоритму SHA-256, утилита доступа с разграничением прав и журналированием операций, а также программа взлома паролей методом грубой силы. Проведено исследование стойкости паролей в зависимости от их длины, результаты которого подтвердили экспоненциальную зависимость числа итераций от длины пароля и продемонстрировали практическую устойчивость достаточно длинных паролей к атаке полного перебора.
|
||||
|
||||
В ходе выполнения практической работы №3 на базе системы из работы №2 реализованы модели дискреционного (DAC) и мандатного (MAC) управления доступом. DAC реализован через список доступа с владельцами объектов и командой выдачи прав; MAC — на основе модели Белла–Лападулы с тремя уровнями меток конфиденциальности. Реализация демонстрирует принципиальные различия между подходами и их практическое применение.
|
||||
|
||||
\newpage
|
||||
\printbibliography[heading=bibintoc]
|
||||
|
||||
@@ -583,4 +718,24 @@ N(n) = 52 \cdot 72^{n-1}
|
||||
\addcontentsline{toc}{section}{Приложение 4}
|
||||
\lstinputlisting{../lab2/setup.sh}
|
||||
|
||||
\newpage
|
||||
\section*{Приложение 5}
|
||||
\addcontentsline{toc}{section}{Приложение 5}
|
||||
\lstinputlisting{../lab3/usermgr.py}
|
||||
|
||||
\newpage
|
||||
\section*{Приложение 6}
|
||||
\addcontentsline{toc}{section}{Приложение 6}
|
||||
\lstinputlisting{../lab3/confaccess.py}
|
||||
|
||||
\newpage
|
||||
\section*{Приложение 7}
|
||||
\addcontentsline{toc}{section}{Приложение 7}
|
||||
\lstinputlisting{../lab3/config.py}
|
||||
|
||||
\newpage
|
||||
\section*{Приложение 8}
|
||||
\addcontentsline{toc}{section}{Приложение 8}
|
||||
\lstinputlisting{../lab3/setup.sh}
|
||||
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user