Реализация модели Белла-ЛаПадулы в системе компьютерной алгебры Mathematica | Статья в журнале «Молодой ученый»

Авторы: ,

Рубрика: Информатика

Опубликовано в Молодой учёный №3 (83) февраль-1 2015 г.

Дата публикации: 21.01.2015

Статья просмотрена: 889 раз

Библиографическое описание:

Магазев А. А., Тимохин С. И. Реализация модели Белла-ЛаПадулы в системе компьютерной алгебры Mathematica // Молодой ученый. — 2015. — №3. — С. 68-71. — URL https://moluch.ru/archive/83/15117/ (дата обращения: 23.10.2018).

В работе представлен пакет расширения, реализованный авторами в рамках системы Mathematica и предназначенный для исследования модели безопасности Белла-ЛаПадулы. Приведено описание функций и команд, используемых в данном пакете.

 

Введение

Модели безопасности компьютерных систем — это политики безопасности, выраженные формальными способами, например, математически, алгоритмически или схемотехнически [1]. В данной статье рассматривается одна из классических моделей безопасности — мандатная модель Белла-ЛаПадулы [2]. Мы описываем библиотеку подпрограмм для исследования указанной модели, разработанную нами средствами системы компьютерной алгебры Wolfram Mathematica [4]. Библиотека представляет так называемый пакет расширения, дополняющий стандартный функционал среды Mathematica.

Авторы считают, что интеграция данного пакета расширения в образовательный процесс позволит организовать современный учебный материал, обеспечивающий студентов инструментарием самообучения и самоконтроля, позволит проводить интерактивные занятия с визуализацией разных сценариев работы модели Белла-ЛаПадулы. Кроме того, разработанный нами пакет может быть также использован и в научных исследованиях, например, для моделирования процессов передачи прав пользователей в компьютерных системах.

1.      Описание модели Белла-ЛаПадулы

Напомним основные положения классической модели Белла-ЛаПадулы [1, 2, 3].

В рамках модели Белла-ЛаПадулы компьютерная система представляется совокупностью следующих компонент:

-                   множеством объектов доступа O;

-                   множеством субъектов доступа S;

-                   множеством прав доступа R = {read, write};

-                   матрицей доступа A, строки которой отвечают субъектам доступа, а столбцы — объектам доступа. Элементы матрицы доступов — это подмножества множества прав: A [s,o] Í R, s Î S, o Î O;

-                   линейно упорядоченным множеством L, элементы которого есть уровни безопасности субъектов и объектов доступа;

-                   функцией F: S È O ® L; данная функция сопоставляет субъектам и объектам доступа некоторые уровни безопасности;

-                   множеством V состояний системы, которое есть множество всевозможных упорядоченных пар (F, A);

-                   набора запросов Q субъектов на доступ к объектам, выполнение которых переводит систему в новое состояние;

-                   функции переходов T: V × Q ® V.

Вводятся следующие определения безопасности состояния системы.

Определение 1. Состояние v Î V называется просто безопасным, если для любых

s Î S и o Î O выполняется условие: read Î A [s, o] Þ F(s) ³ F(o).

Определение 2. Состояние v Î V называется *-безопасным, если для любых s Î S и o Î O выполняется условие: write Î A [s, o] Þ F(o) ³ F(s).

Определение 3. Состояние v Î V называется безопасным, если оно просто безопасное и *-безопасное одновременно.

Определение 4. Система является безопасной, если ее начальное состояние v0 Î V безопасно, и все состояния, достижимые из начального с помощью применения конечной последовательности запросов из множества Q, являются также безопасными.

На основе данных определений Дэвидом Беллом и Леонардом ЛаПадулой была доказана следующая теорема.

Теорема (основная теорема безопасности).

Система является безопасной, если и только если:

1.             безопасным является начальное состояние v0 Î V;

2.             если v = (F, A) Î V — состояние, достижимое из v0, и v* = T(v, q), где q Î Q,

3.             v* = (F*, A*), то для любых s Î S и o Î O выполняются условия:

-        если read Î A* [s, o] и read Ï A [s, o], то F*(s) ³ F*(o);

-        если read Î A [s, o] и F*(s) < F*(o), то read Ï A* [s, o];

-        если write Î A* [s, o] и write Ï A [s, o], то F*(o) ³ F*(s);

-        если write Î A [s, o] и F*(o) < F*(s), то write Ï A* [s, o].

2. Реализация модели Белла-ЛаПадулы в рамках системы компьютерной алгебры Mathematica

В настоящее время наряду с программами на различных языках программирования большую популярность в научных исследованиях приобрели системы компьютерной алгебры, ориентированные на проведение сложных символьных вычислений. Наиболее известными на сегодняшний день среди подобных систем являются MATLAB, Mathcad, Maple и Mathematica.

Спектр задач, решаемых подобными системами, очень широк. В частности, MATLAB предназначен преимущественно для решения задач технических вычислений. Mathcad — это система компьютерной алгебры класса систем автоматизированного проектирования, ориентированная на подготовку интерактивных документов. Система Maple предназначена для символьных вычислений, хотя и имеет ряд средств для численного решения задач.

Система компьютерной алгебры Mathematica — универсальная система, которая осуществляет численные и символьные вычисления. Отличительной особенностью данной системы является очень гибкая работа со списками. Действительно, списки относятся к числу базовых структур данной системы [4], что дает явное преимущество по сравнению с другими системами компьютерной алгебры касательно реализации модели Белла-ЛаПадулы.

Исходя из описания модели Белла-ЛаПадулы, изложенного выше, нами была предложена следующая методика реализации данной модели.

Пользователь должен иметь возможность создавать субъекты и объекты, присваивая им уровни доступа и уровни секретности соответственно. Для этого нами реализованы следующие функции CreateSubject [AccessLevel] и CreateObject [SecurityLevel]. Здесь AccessLevel — уровень доступа субъекта, SecurityLevel — уровень секретности объекта. Отметим, что в нашей реализации модели уровни безопасности — это целые числа.

Далее, пользователь должен иметь возможность устанавливать права в ячейках матрицы доступов. Для этого служит функция SetRights [SubjectNumber, ObjectNumber, Rights], где SubjectNumber — списочный номер субъекта, ObjectNumber — списочный номер объекта, Rights — предоставляемые права субъекту на объект (задается списком {1, 2}, где 1 — право на чтение, 2 — право на запись). Указание фигурных скобок в данном параметре обязательно.

В процессе использования реализации модели всегда можно просмотреть текущее состояние системы. Это делается с помощью команды ShowAllList. После выполнения данной команды выводятся матрица доступов, и таблицы с уровнями безопасности субъектов и объектов (пример на рис. 1).

Рис. 1. Текущее состояние системы

 

Из рисунка видно, что в рамках приведенного нами примера в системе присутствуют 6 субъектов и 6 объектов с соответствующими уровнями безопасности. Каждому субъекту даны некоторые права на объекты.

Проверка безопасности состояния системы осуществляется командами SimpleSecurityQ и StarSecurityQ. Обе эти команды выводят матрицы доступов системы.

На рис. 2 приведен пример вывода команды SimpleSecurityQ. Темно-серым цветом обозначены ячейки, в которых права заданы неправильно, светло-серым — права заданы правильно, не закрашенные ячейки — уровень доступа субъекта выше или равен уровню секретности объекта.

Рис. 2. Простое правило безопасности

 

Рис. 3. *-свойство

 

На рис. 3 приведен пример вывода функции StarSecurityQ. Здесь темно-серым цветом обозначены ячейки, в которых права заданы неправильно, светло-серым — права заданы правильно, не закрашенные ячейки — уровень доступа субъекта ниже или равен уровню секретности объекта.

Описываемый пакет расширения содержит также и ряд дополнительных подпрограмм.

Для удаления субъектов и объектов:RemoveSubject[SubjectNumber] и

RemoveObject [ObjectNumber],где SubjectNumber — списочный номер субъекта,

ObjectNumber — списочный номер объекта.

Для изменения уровней доступа субъектов или уровня секретности объектов: ChangeSubjectLevel [SubjectNumber, AccessLevel] и ChangeObjectLevel [ObjectNumber, SecurityLevel], где AccessLevel — новый уровень доступа субъекта, SecurityLevel — новый уровень секретности объекта.

Для выполнения запросов на изменение состояния системы:

-        запрос на возможность получения определенных прав субъектом на объект:

Query [SubjectNumber, ObjectNumber, Right];

-        запрос на изменение уровня доступа у субъекта:

QueryChangeAccess [SubjectNumber, AccessLevel];

-        запрос на изменение уровня секретности у объекта:

QueryChangeSecurity [ObjectNumber, SecurityLevel].

Кроме того, для учебно-методических целей была добавлена обучающая процедура, задаваемая функцией:

Test [SubjectNumber, ObjectNumber, LevelsNumber],где SubjectNumber– количество субъектов, ObjectNumber — количество объектов, LevelsNumber — количество уровней секретности. В результате выполнения данной команды, на экран выводится окно (рис. 4) содержащее:

-                   матрицу доступов с пустыми ячейками;

-                   список субъектов с произвольным заполнением уровней доступа;

-                   список объектов с произвольным заполнением уровней секретности;

-                   таблицу заполнения прав доступа;

-                   кнопку «Проверка заполнения таблицы», справа от которой отображается число нажатий на кнопку.

Рис. 4. Режим проверки знаний

 

Суть данной процедуры в следующем. Придерживаясь основных правил модели Белла-ЛаПадулы (см. теорему) пользователь задает права доступов субъектов на объекты, выставляя соответствующие флаги в таблице. При нажатии на кнопку «Проверка заполнения таблицы» выводится отдельное окно с таблицей результатов (рис. 5). Стоит отметить, что в данном случае проводится полная проверка безопасности системы.

Рис. 5. Результат проверки знаний

 

Заключение

В настоящей статье описан пакет расширения системы Mathematica, реализующий основные положения модели безопасности Белла-ЛаПадулы. Разработанная библиотека позволяет существенно расширить возможности изучения политик безопасности и повысить уровень и качество обучения студентов по соответствующим дисциплинам.

 

Литература:

 

1.      Девянин П. Н. Модели безопасности компьютерных систем: Учеб. пособие для вузов. — М.: Академия, 2005. — 144 с.: ил.

2.      Bell D. E., La Padula L. J. Secure Computer System: Unified Exposition and Multics Interpretation. Bedford, MA 01730 — March, 1976

3.      Зегжда Д. П., Ивашко А. М. Основы безопасности информационных систем. — М.: Горячая линия — Телеком, 2000. — 452 с.

4.      Computation meets knowledge. Wolfram Language & System. Documentation Center [Электронный ресурс]. URL: http://reference.wolfram.com/language/

Основные термины (генерируются автоматически): уровень секретности, компьютерная алгебра, субъект, система, MATLAB, реализация модели, списочный номер субъекта, начальное состояние, темно-серый цвет, списочный номер.


Похожие статьи

Использование команд MATLAB — от версии к версии

286 с. 3. Бильфельд Н. В. Моделирование систем с использованием блока чистого запаздывания. — Молодой ученый.

Основные термины (генерируются автоматически): MATLAB, OLE, фрагмент кода, NYQUIST, график, команда, указанный цвет.

Применение Wolfram Mathematica для анализа работы модели...

субъект, граф, компьютерная алгебра, матрица, функция, зеленый цвет, короткий путь, произвольный граф, начальное состояние системы, Реализация модели.

Обработка рентгеновских изображений в среде MATLAB

Подобную обработку удобно проводить в среде MATLAB, которая является языком высокого уровня для выполнения технических и

Их гистограммы целиком расположены в темном участке спектра.

Реализация частотной фильтрации рентгеновских изображений в MATLAB.

Моделирование систем защиты информации. Приложение...

Арьков П. А. Разработка комплекса моделей для выбора оптимальной системы защиты информации в информационной системе организации [Текст]: дис

Курилов Ф. М. Реализация подхода управления рисками при моделировании системы защиты информации [Текст] / Ф. М...

Вычисление статистических показателей с использованием...

...позволяющая при помощи блок-диаграмм в виде направленных графов, строить модели систем и вычислений по

Рис. 7. Алгоритм моделирования в Matlab/Simulink.

Это типичный уровень выборки. Б) Размах = 0,7, что составляет 8,1 % от среднего значения выборки.

Семантический поиск документов, классифицированных...

Патентная система является основой учета современных продвижений в различных областях науки.

В ней существует пять уровней иерархии: Раздел — обозначается заглавной буквой

Для представления предварительно обработанных документов используется векторная модель.

Построение обобщенной модели контроля доступа на основе...

– конечное множество субъектов. Реализация предложенной обобщенной модели контроля доступа позволит оптимизировать процесс управления на основе достоинств указанных классических моделей и повысить уровень безопасности системы.

Использование математических пакетов Matlab & Simulink при...

Построение логических схем с использованием Matlab/Simulink и Scilab/Xcos. Модель системы передачи данных с использованием помехоустойчивых кодов LT в среде Simulink для каналов со стираниями пакетов.

Проверка сложности выпускных работ учащихся и студентов на...

Однако, эти модели получены в основном для английских текстов, и не подкреплены соответствующими системами автоматизированного анализа.

уровень студентов. 1–20. Легкость чтения (FlashRE).

Использование команд MATLAB — от версии к версии

286 с. 3. Бильфельд Н. В. Моделирование систем с использованием блока чистого запаздывания. — Молодой ученый.

Основные термины (генерируются автоматически): MATLAB, OLE, фрагмент кода, NYQUIST, график, команда, указанный цвет.

Применение Wolfram Mathematica для анализа работы модели...

субъект, граф, компьютерная алгебра, матрица, функция, зеленый цвет, короткий путь, произвольный граф, начальное состояние системы, Реализация модели.

Обработка рентгеновских изображений в среде MATLAB

Подобную обработку удобно проводить в среде MATLAB, которая является языком высокого уровня для выполнения технических и

Их гистограммы целиком расположены в темном участке спектра.

Реализация частотной фильтрации рентгеновских изображений в MATLAB.

Моделирование систем защиты информации. Приложение...

Арьков П. А. Разработка комплекса моделей для выбора оптимальной системы защиты информации в информационной системе организации [Текст]: дис

Курилов Ф. М. Реализация подхода управления рисками при моделировании системы защиты информации [Текст] / Ф. М...

Вычисление статистических показателей с использованием...

...позволяющая при помощи блок-диаграмм в виде направленных графов, строить модели систем и вычислений по

Рис. 7. Алгоритм моделирования в Matlab/Simulink.

Это типичный уровень выборки. Б) Размах = 0,7, что составляет 8,1 % от среднего значения выборки.

Семантический поиск документов, классифицированных...

Патентная система является основой учета современных продвижений в различных областях науки.

В ней существует пять уровней иерархии: Раздел — обозначается заглавной буквой

Для представления предварительно обработанных документов используется векторная модель.

Построение обобщенной модели контроля доступа на основе...

– конечное множество субъектов. Реализация предложенной обобщенной модели контроля доступа позволит оптимизировать процесс управления на основе достоинств указанных классических моделей и повысить уровень безопасности системы.

Использование математических пакетов Matlab & Simulink при...

Построение логических схем с использованием Matlab/Simulink и Scilab/Xcos. Модель системы передачи данных с использованием помехоустойчивых кодов LT в среде Simulink для каналов со стираниями пакетов.

Проверка сложности выпускных работ учащихся и студентов на...

Однако, эти модели получены в основном для английских текстов, и не подкреплены соответствующими системами автоматизированного анализа.

уровень студентов. 1–20. Легкость чтения (FlashRE).

Обсуждение

Социальные комментарии Cackle

Похожие статьи

Использование команд MATLAB — от версии к версии

286 с. 3. Бильфельд Н. В. Моделирование систем с использованием блока чистого запаздывания. — Молодой ученый.

Основные термины (генерируются автоматически): MATLAB, OLE, фрагмент кода, NYQUIST, график, команда, указанный цвет.

Применение Wolfram Mathematica для анализа работы модели...

субъект, граф, компьютерная алгебра, матрица, функция, зеленый цвет, короткий путь, произвольный граф, начальное состояние системы, Реализация модели.

Обработка рентгеновских изображений в среде MATLAB

Подобную обработку удобно проводить в среде MATLAB, которая является языком высокого уровня для выполнения технических и

Их гистограммы целиком расположены в темном участке спектра.

Реализация частотной фильтрации рентгеновских изображений в MATLAB.

Моделирование систем защиты информации. Приложение...

Арьков П. А. Разработка комплекса моделей для выбора оптимальной системы защиты информации в информационной системе организации [Текст]: дис

Курилов Ф. М. Реализация подхода управления рисками при моделировании системы защиты информации [Текст] / Ф. М...

Вычисление статистических показателей с использованием...

...позволяющая при помощи блок-диаграмм в виде направленных графов, строить модели систем и вычислений по

Рис. 7. Алгоритм моделирования в Matlab/Simulink.

Это типичный уровень выборки. Б) Размах = 0,7, что составляет 8,1 % от среднего значения выборки.

Семантический поиск документов, классифицированных...

Патентная система является основой учета современных продвижений в различных областях науки.

В ней существует пять уровней иерархии: Раздел — обозначается заглавной буквой

Для представления предварительно обработанных документов используется векторная модель.

Построение обобщенной модели контроля доступа на основе...

– конечное множество субъектов. Реализация предложенной обобщенной модели контроля доступа позволит оптимизировать процесс управления на основе достоинств указанных классических моделей и повысить уровень безопасности системы.

Использование математических пакетов Matlab & Simulink при...

Построение логических схем с использованием Matlab/Simulink и Scilab/Xcos. Модель системы передачи данных с использованием помехоустойчивых кодов LT в среде Simulink для каналов со стираниями пакетов.

Проверка сложности выпускных работ учащихся и студентов на...

Однако, эти модели получены в основном для английских текстов, и не подкреплены соответствующими системами автоматизированного анализа.

уровень студентов. 1–20. Легкость чтения (FlashRE).

Использование команд MATLAB — от версии к версии

286 с. 3. Бильфельд Н. В. Моделирование систем с использованием блока чистого запаздывания. — Молодой ученый.

Основные термины (генерируются автоматически): MATLAB, OLE, фрагмент кода, NYQUIST, график, команда, указанный цвет.

Применение Wolfram Mathematica для анализа работы модели...

субъект, граф, компьютерная алгебра, матрица, функция, зеленый цвет, короткий путь, произвольный граф, начальное состояние системы, Реализация модели.

Обработка рентгеновских изображений в среде MATLAB

Подобную обработку удобно проводить в среде MATLAB, которая является языком высокого уровня для выполнения технических и

Их гистограммы целиком расположены в темном участке спектра.

Реализация частотной фильтрации рентгеновских изображений в MATLAB.

Моделирование систем защиты информации. Приложение...

Арьков П. А. Разработка комплекса моделей для выбора оптимальной системы защиты информации в информационной системе организации [Текст]: дис

Курилов Ф. М. Реализация подхода управления рисками при моделировании системы защиты информации [Текст] / Ф. М...

Вычисление статистических показателей с использованием...

...позволяющая при помощи блок-диаграмм в виде направленных графов, строить модели систем и вычислений по

Рис. 7. Алгоритм моделирования в Matlab/Simulink.

Это типичный уровень выборки. Б) Размах = 0,7, что составляет 8,1 % от среднего значения выборки.

Семантический поиск документов, классифицированных...

Патентная система является основой учета современных продвижений в различных областях науки.

В ней существует пять уровней иерархии: Раздел — обозначается заглавной буквой

Для представления предварительно обработанных документов используется векторная модель.

Построение обобщенной модели контроля доступа на основе...

– конечное множество субъектов. Реализация предложенной обобщенной модели контроля доступа позволит оптимизировать процесс управления на основе достоинств указанных классических моделей и повысить уровень безопасности системы.

Использование математических пакетов Matlab & Simulink при...

Построение логических схем с использованием Matlab/Simulink и Scilab/Xcos. Модель системы передачи данных с использованием помехоустойчивых кодов LT в среде Simulink для каналов со стираниями пакетов.

Проверка сложности выпускных работ учащихся и студентов на...

Однако, эти модели получены в основном для английских текстов, и не подкреплены соответствующими системами автоматизированного анализа.

уровень студентов. 1–20. Легкость чтения (FlashRE).

Задать вопрос