Применение Wolfram Mathematica для анализа работы модели безопасности Take-Grant | Статья в сборнике международной научной конференции

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

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

Магазев, А. А. Применение Wolfram Mathematica для анализа работы модели безопасности Take-Grant / А. А. Магазев, С. И. Тимохин. — Текст : непосредственный // Актуальные вопросы технических наук : материалы III Междунар. науч. конф. (г. Пермь, апрель 2015 г.). — Пермь : Зебра, 2015. — С. 25-29. — URL: https://moluch.ru/conf/tech/archive/125/7682/ (дата обращения: 16.12.2024).

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

 

Введение

Теоретические основы информационной безопасности могут быть описаны в виде схематических рисунков и математических выкладок, в то время как рассмотрение практически важных примеров требует применения компьютеров и специализированного программного обеспечения. Возникает проблема: как представить работающий метод в максимально наглядной форме. В данной статье рассматривается одна из классических моделей безопасности, получивших широкое распространение для систем с дискреционным разделением доступа — модель Take-Grant [1, 2]. Авторами описывается библиотека подпрограмм для исследования указанной модели, разработанная средствами системы компьютерной алгебры Wolfram Mathematica [3]. Библиотека представляет так называемый пакет расширения, дополняющий стандартный функционал среды Mathematica.

Авторы считают, что интеграция данного пакета расширения в образовательный процесс позволит организовать современный учебный материал, обеспечивающий студентов инструментарием самообучения и самоконтроля, позволит проводить интерактивные занятия с визуализацией разных сценариев работы модели Take-Grant. Выбор Wolfram Mathematica в качестве основы для создания пакета расширения обусловлен тем, что это универсальная система, которая осуществляет численные и символьные вычисления, помимо языка программирования и среды разработки, в стандартный пакет поставки входит обширная справочная система. Отличительной особенностью данной системы является очень гибкая работа со списками и возможность описания моделей в виде графов. Списки относятся к числу базовых структур данной системы [3], а графы предоставляют возможность наглядно продемонстрировать преобразования исследуемой модели. Это дает явное преимущество по сравнению с другими системами компьютерной алгебры касательно реализации модели Take-Grant.

1 Описание модели Take-Grant

Напомним основные положения классической модели Take-Grant [1, 2].

В рамках модели Take-Grant компьютерная система представляется совокупностью следующих компонент:

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

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

-        множеством прав доступа где t (take) — право брать права доступа, g (grant) — право давать права доступа;

-        конечный помеченный ориентированный без петель граф доступов, описывающий состояние системы — G = (S, O, E);

-        множества S, О соответствуют вершинам графа;

-        элементы множества представляют ребра графа, помеченные непустыми подмножествами из множества прав доступа R.

Состояние системы описывается соответствующим ему графом доступов. В данной модели возможно наличие прав доступа не только у субъектов к объектам, но и у объектов к объектам. Порядок перехода системы из состояния в состояние определяется правилами преобразования графа доступов, такими как:

1.      Правило «Брать» — take(a,x,y,z). Субъект x берет права a у субъекта y на объект z;

2.      Правило «Давать» — grant(a,x,y,z). Субъект x дает объекту y право α на доступ к объекту z;

3.      Правило «Создать» — create(a,x,y). Субъект x создает объект y с правами доступа на него αR;

4.      Правило «Удалить» — remove(a,x,y). Субъект x удаляет права доступа α на объект y.

При выполнении данных правил происходит преобразование графа G0 в граф G1.

Передача прав между субъектами определяется с помощью предиката «Возможен доступ»(a,x,y,G0).

Основной задачей в рамках модели Take — Grant является задача о проверке возможности передачи прав данного субъекта другому субъекту. Указанная задача решается посредством необходимых и достаточных условий передачи права, выраженных в виде соответствующих теорем. В данной работе мы ограничимся приведением формулировки теоремы для случая, когда граф доступов содержит только вершины-субъекты. Предварительно введем следующее определение.

Определение 1. Вершины графа доступов являются tg-связными, если (без учета направления дуг) в графе между ними существует такой путь, что каждая дуга этого пути помечена t или g.

Теорема 1. Пусть G0= (S0, S0, Е0) — граф доступов, содержащий только вершины-субъекты. Тогда предикат «Возможен доступ»(a,x,y,G0) истинен тогда и только тогда, когда выполняются следующие условия:

Условие 1. Существуют субъекты s1,..., sm, такие, что  для i = 1,...,m и

 Условие 2. Субъект х соединен в графе G0 tg-путем с каждым субъектом si для i=1,...,т.

Приведенная нами теорема может быть обобщена и для произвольного графа доступов. При этом условия возможности передачи прав немного усложняются. Не приводя здесь окончательной формулировки, укажем лишь одно важное понятие, требуемое для проверки возможности передачи права.

Определение 2. Островом в произвольном графе доступов G0 называется его максимальный tg-связный подграф, состоящий только из вершин субъектов.

Выделение островов в графе доступов является важнейшей задачей, имеющей отношение к проблеме передачи прав субъектов.

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

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

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

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

 

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

Пользователь должен иметь возможность задавать начальное состояние системы G0, т. е. создавать субъекты и объекты и устанавливать им права. Для этого нами реализованы следующие функции: CreateSubject, CreateObject и SetRight [SubjectNumber, ObjectNumber, Rights], где SubjectNumber –номер субъекта-объекта по матрице доступов, ObjectNumber — номер объекта по матрице доступов, Rights — предоставляемые права субъекту-объекту на объект (задается списком {g,r,t,w}). Указание фигурных скобок в данном параметре обязательно.

При создании субъекта или объекта в матрицу доступа добавляются строка и столбец, соответствующие новому элементу в системе, где строки — это субъекты-объекты, а столбцы — объекты. Вершина же в графе появится только после того, как субъекту-объекту будут даны какие-либо права на объект, и соответственно отобразиться ребро с этими правами.

Из рис. 1 видно, что в рамках приведенного нами примера в системе присутствуют 7 субъектов и 2 объекта. Каждому субъекту-объекту даны некоторые права на объекты.

Для удаления субъектов и объектов, создана функция RemoveElement[Elem],где Elem — номер субъекта или объекта в матрице прав доступов.

После задания начального состояния системы G0, пользователь может приступить к исследованию системы, преобразуя ее в граф G1 с помощью описанных выше правил. Суть модели Take-Grant дать ответ на вопрос: возможно ли субъектом получить некоторые права доступа на объект ранее не имеющего эти права?

Для реализации данных правил созданы соответствующие функции:

1.      TakeRight [Rights, SubjectNumber, ObjectNumber1, ObjectNumber2], где Rights — права (задаются из списка {g,r,t,w}), SubjectNumber, ObjectNumber1, ObjectNumber2 — номера субъектов или объектов в матрице доступов или графе. Пояснение: SubjectNumber берет у ObjectNumber1 права Rights на ObjectNumber2 (Что→Кто→У_кого→На_что);

2.      GrantRight [Rights, SubjectNumber, ObjectNumber1, ObjectNumber2]. Пояснение: SubjectNumber дает ObjectNumber1 права Rights на ObjectNumber2 (Что→Кто→Кому→На_что);

3.      Create [SubjectNumber, Rights]. Пояснение: SubjectNumber создает объект с правами Rights на него. Объект добавляется в конец списка;

4.      Удаление или изменение прав выполняется уже упомянутой ранее функцией SetRight [SubjectNumber, ObjectNumber, Rights]. Пояснение: у SubjectNumber удаляются (Rights={}) или перезаписываются (с исключением удаляемого) права Rights на ObjectNumber.

В дальнейшем из определений и теоремы все действия проводятся в TG-графе, который отображается с помощью функции tgGraph [Directed]. Для гибкости в некоторые функции авторами была добавлена возможность выбирать тип графа: ориентированный или неориентированный. Соответственно Directed — 1 или 0. На рис. 2 приведен пример неориентированного tg -графа.

Рис. 2. Неориентированный tg –граф системы

 

Рис. 3. Короткий путь в tg-графе между двумя вершинами

 

Для поиска короткого пути в tg-графе между двумя вершинами создана функция FindTG[SubjectNumber1, SubjectNumber2, Directed] (рис. 3).

Для отображения островов по определению 2 создана функция ShowIslandTG[Directed] (рис. 4).

Рис. 4. Отображение островов системы

 

Также нами были созданы дополнительные функции, которые могут пригодиться для более глубокого исследования модели, например, TableDistance [Right, Directed], где Right принимает значение t или g. В результате выполнения данной функции выводится таблица длин коротких путей и граф, ребра которого имеют определенное право (рис. 5).

t — связь в неориентированном графе

Рис. 5. Таблица длин коротких путей и граф с правом t

 

Заключение

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

 

Литература:

 

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

2.      Lipton R. J., Snayder L. A linear time algorithm for deciding subject security // Journal of ACM (Addison-Wesley). N.3. 1977. P.455–464

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

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

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

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

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

С++ библиотека компонентов генетических алгоритмов

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

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

Рассмотрены отличительные особенности команд пакетов MATLAB 6.5 и MATLAB 7.11 при использовании их как серверов OLE автоматизации при решении за-дач автоматического управления. Приведены конкретные рабочие примеры, которые легко можно повторить.

Применение языка программирования Python в конструкторских расчетах

В статье описывается общая характеристика языка программирования Python, его интегрированной среды разработки IDLE, некоторые синтаксические структуры, а также способ применения программирования в конструкторских расчетах на примере части расчета чер...

Разработка компьютерной модели сверхширокополосного канала связи

В статье уделяется внимание разработке компьютерной модели сверхширокополосного канала связи. В данной работе были проведены исследования метода классификации Random Forest для обнаружения аномалий в сетевом трафике сверхширокополосного канала связи....

Сравнение потоков Java и Kotlin Coroutines в контексте Android-разработки

В современной разработке мобильных приложений на Android, понимание и эффективное использование многозадачности является ключевым для создания высокопроизводительных и отзывчивых приложений. Многозадачность позволяет приложениям одновременно обрабаты...

Влияние выбора программной платформы на безопасность веб-приложений

В данной статье проведен анализ безопасности трех ведущих программных платформ для веб-разработки: Symfony, Laravel и Yii. Целью исследования было сравнение уровня безопасности этих платформ с учетом выбора наиболее подходящей для создания безопасных...

Исследование и сравнительный анализ работы нейронных сетей для решения проблемы метеопрогноза

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

Автоматизированная среда оценки усвоения студентом учебного материала

Разработан Java модуль, позволяющий создавать произвольные типы ввода ответов и автоматизировать их оценку в системах электронного обучения. Преимуществом модуля является поддержка генерации алгоритмических вариаций задач, что позволяет преподавателю...

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

Доступ к информации и ее контроль является важнейшей задачей в области информационной безопасности в распределенных компьютерных системах. Существует несколько моделей контроля доступа, принципиальное различие которых проявляется в подходах к реализа...

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

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

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

С++ библиотека компонентов генетических алгоритмов

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

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

Рассмотрены отличительные особенности команд пакетов MATLAB 6.5 и MATLAB 7.11 при использовании их как серверов OLE автоматизации при решении за-дач автоматического управления. Приведены конкретные рабочие примеры, которые легко можно повторить.

Применение языка программирования Python в конструкторских расчетах

В статье описывается общая характеристика языка программирования Python, его интегрированной среды разработки IDLE, некоторые синтаксические структуры, а также способ применения программирования в конструкторских расчетах на примере части расчета чер...

Разработка компьютерной модели сверхширокополосного канала связи

В статье уделяется внимание разработке компьютерной модели сверхширокополосного канала связи. В данной работе были проведены исследования метода классификации Random Forest для обнаружения аномалий в сетевом трафике сверхширокополосного канала связи....

Сравнение потоков Java и Kotlin Coroutines в контексте Android-разработки

В современной разработке мобильных приложений на Android, понимание и эффективное использование многозадачности является ключевым для создания высокопроизводительных и отзывчивых приложений. Многозадачность позволяет приложениям одновременно обрабаты...

Влияние выбора программной платформы на безопасность веб-приложений

В данной статье проведен анализ безопасности трех ведущих программных платформ для веб-разработки: Symfony, Laravel и Yii. Целью исследования было сравнение уровня безопасности этих платформ с учетом выбора наиболее подходящей для создания безопасных...

Исследование и сравнительный анализ работы нейронных сетей для решения проблемы метеопрогноза

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

Автоматизированная среда оценки усвоения студентом учебного материала

Разработан Java модуль, позволяющий создавать произвольные типы ввода ответов и автоматизировать их оценку в системах электронного обучения. Преимуществом модуля является поддержка генерации алгоритмических вариаций задач, что позволяет преподавателю...

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

Доступ к информации и ее контроль является важнейшей задачей в области информационной безопасности в распределенных компьютерных системах. Существует несколько моделей контроля доступа, принципиальное различие которых проявляется в подходах к реализа...