Модель безопасности веб-приложений на основе мандатного ролевого разграничения доступа

Автор: Кононов Дмитрий Дмитриевич, Исаев Сергей Владиславович

Журнал: Вестник Бурятского государственного университета. Философия @vestnik-bsu

Рубрика: Системный анализ и информационные технологии

Статья в выпуске: 9, 2012 года.

Бесплатный доступ

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

Модель безопасности, ролевое разграничение доступа, мандатное разграничение доступа, веб-приложения

Короткий адрес: https://sciup.org/148181263

IDR: 148181263

Текст научной статьи Модель безопасности веб-приложений на основе мандатного ролевого разграничения доступа

В связи с развитием систем телекоммуникаций и веб-сервисов вопросы безопасности становятся все более актуальными и востребованными. Целью работы является создание модели безопасности, ориентированной на использование в веб-приложениях.

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

Дискреционные модели безопасности основаны на управлении доступа субъектов к объектам с помощью списков управления доступа или матрицы доступа. В этом семействе наиболее исследованы модели Харрисона - Руззо - Ульмана (ХРУ) [1], типизированная матрица доступа [2], TakeGrant [3].

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

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

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

Модель ролевого разграничения доступа

Базовая модель ролевого разграничения доступа RBACa [5] задается набором элементов:

, где:

U - множество пользователей;

R - множество ролей;

Р - множество прав доступа;

S - множество сессий пользователей;

UA: U 2R - функция, определяющая для каждого пользователя множество ролей, на которые он может быть авторизован;

РА: R^>2F - функция, определяющая для каждой роли множество прав доступа, при этом Vp е P,3r е R такой, что р е РА(г);

user: S ^ U - функция, определяющая для каждой сессии пользователя, от имени которого она авторизована;

roles: S —> 2R - функция, определяющая для пользователя множество ролей, на которые он авторизован в данной сессии; при этом в каждый момент времени Vs G S выполняется условие role sis) с UA(user(s)).

Модель RBAC, задается как RBACa , при этом вводится иерархией ролей (RH).

Адаптация модели для веб-приложений

В модель RBAC, к существующим элементам «пользователь» (user), «роль» (role), «разрешение» (permission), «сессия» (session) добавим новые, учитывающие особенности функционирования веб-приложений: «токен» (token), «запрос» (request).

Определение 1. Токен (Тк) - набор атрибутов пользователя, позволяющих осуществить его аутентификацию в системе. Токеном является пара (имя, пароль) либо пара (сертификат ЭЦП, закрытый ключ ЭЦП).

Определение 2. Запрос (Rq) - набор информации, пересылаемой клиентом серверу по протоколу HTTP. Запрос содержит набор заголовков, уникальный идентификатор ресурса, набор параметров имя/значение и тело запроса.

Запрос принадлежит сессии, в рамках одной сессии может выполняться несколько запросов. Элементы «запрос» и «разрешение» связаны отношением «многие-ко-многим». На множестве запросов Rq вводится отношение включения.

Определение 3. Запрос А включает запрос В (В < А), если путь уникального идентификатора ресурса (URI) запроса А содержит путь уникального идентификатора ресурса запроса В с начальной позиции строки в рамках одного пространства имен, при этом len Bpath< len Apath , где len(x) - длина строки х.

А

В

/library

Рис. 1. Пример отношения включения на множестве запросов

На рисунке 1 приведены запросы А, В, С и D, для которых справедливы следующие отношения: А<В, В<С, B

Отношение включения обладает следующими свойствами:

  • •    рефлексивность:

  • •    антисимметричность:

Prq,rq' g Rq: ((rg < rq')&(rq' < rq)) rq = rq',

  • •    транзитивность:

Vrgx,rq,,rq3 e Rq: ((rq, 2)& (rq2< rq3)) -► rq, < rq3.

Таким образом, отношение включения на множестве запросов Rq задает отношение нестрогого частичного порядка.

Зададим функцию RqA, отображающую права доступа на множество запросов RqA : Р —> 2Rq.

Определение 4. Иерархия запросов (RqH) - заданное на множестве запросов Rq отношение включения. При этом для любых р^Р справедливо условие: если rq,rq' & Rq, rq^RqA(p} и rq < rq', то rq' e RqA(p}.

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

На рисунке 2 представлена схема элементов полученной модели безопасности.

Иерархия ролей

Иерархия запросов

Рис. 2. Схема элементов модели безопасности

Адаптированная модель мандатного ролевого разграничения доступа

В работе [6] для базовой ролевой модели описано использование мандатного разграничения доступа, направленной на защиту от угрозы конфиденциальности информации. В рамках введенной терминологии опишем модель мандатного ролевого разграничения доступа для вебприложений. В дополнение к используемым элементам ролевой модели, заданной выше, добавим следующие элементы:

Rq - множество запросов;

(Z,<) - решетка уровней конфиденциальности;

с.U —>L - функция уровней доступа пользователей;

с : Rq —>L- функция уровней конфиденциальности запросов;

А = read, write - виды доступа;

R = {х_read | х е Z} о {х_write | х е Z} - множество ролей;

Р = {(rg, read} | rq е Rq} e Rq} - множество прав доступа.

Таким образом, на множестве ролей R заданы независимые иерархии по чтению и записи.

Используя определения 5.20 и 5.22 [7], в соответствии с требованиями либерального мандатного управления доступом для множества запросов Rq задается иерархия на множестве ролей R и ограничения функций UA(), rolesQ и РА().

В рамках мандатного разграничения доступа задается определение информационного потока.

Определение 5. Будем считать, что существует информационный поток от запроса rq Е Rq к запросу rq' е Rq тогда и только тогда, когда существуют роли г,г' eR и сессия s е S такие, что (rq, read} е PA(r}, (rq', write} е РА(г') и г, г' е roles(s}.

Сформулируем утверждение о невозможности реализации запрещенных информационных потоков от запросов с высоким уровнем конфиденциальности к запросам с низким уровнем конфиденциальности.

Утверждение 1. Если модель ролевого управления доступом соответствует требованиям либерального мандатного управления доступом, то в ней для любых запросов rq, rq' Е Rq, таких что c(rq} > c(rq'), невозможно возникновение информационного потока от rq к rq'.

Доказательство проводится аналогично теоремы 5.1 [7].

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

Заключение

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

Статья научная