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

УДК 004.056

ОД.Д. Кононов, С В. Исаев

МОДЕЛЬ БЕЗОПАСНОСТИ ВЕБ-ПРИЛОЖЕНИЙ НА ОСНОВЕ МАНДАТНОГО РОЛЕВОГО РАЗГРАНИЧЕНИЯ ДОСТУПА 1

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

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

D.D. Kononov; S. V. Isaev

MANDATORY ROLE-BASED ACCESS CONTROL FOR WEB APPLICATIONS

The article is devoted to security model for web-applications. Mandatory role-based access model was extended with new elements related to web applications.

Keywords: security model, role-based access control, mandatory access control, web applications.

Введение

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

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

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

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

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

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

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

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

<U, R, Р, S, UA(U), PA(R), user(S), roles(S)>,

где:

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

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

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

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

1 Работа выполнена при поддержке интеграционного проекта СО РАН №21.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Уг<7 е Кц : /г/ < /г/,

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

\1щ,щ' е Кц: ((/г/ < гс/')&(гс/' < г с/)) —»щ = щ\

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

\/щ, щ2, е Кц: ((/г/, <гс/2)& (п/2 < щъ)) -> /г/, < щъ.

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

Зададим функцию Кг[А, отображающую права доступа на множество запросов Кс/А : Р —» 21'4.

Определение 4. Иерархия запросов (НцН) - заданное на множестве запросов Яд отношение включения. При этом для любых р е Р справедливо условие: если /г/, гц'е /^/, гц е 1{с/А(р) и гс/ < гс/', то щ' е Ис/А( р).

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

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

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

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

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

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

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

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

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

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

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

R = {x_ read | x<eL}vj{x _write \ x e L} - множество ролей;

P = {(rq, read) | rq e Rq}yj{(rq, write) \ rq e Rq} - множество прав доступа.

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

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

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

Определение 5. Будем считать, что существует информационный поток от запроса rq е Rq к запросу rq' е Rq тогда и только тогда, когда существуют роли г, г' е R и сессия 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].

Литература

1. Harrison М., Ruzzo W. Monotonic protection systems / In DeMillo R., Dobkin D., Jones A., Lipton R., editors // Foundation of Secure Computation. New York: Academic Press, 1978. P. 337-365.

2. Sandhu R. The typed access matrix model. In Proceeding of the IEEE Symposium on Research in Security and Privacy. Oakland, CA, May 1992. P. 122-136.

3. Теоретические основы компьютерной безопасности / П. Н. Девянин, О. О. Михальский, Д. И. Прави-ков, А. Ю. Щербаков. М.: Радио и связь, 2000.

4. Bell D. Е., LaPadula L. J. Secure Computer Systems: Unified Exposition and Multics Interpretation. - Bedford, Mass.: MITRE Corp., 1976. -MTR-2997 Rev. 1.

5. Sandhu R., Coyne E. J., Feinstein H. L. and Youman С. E. Role-based Access Control Models // IEEE Computer (IEEE Press), vol. 29. No. 2, 1996.

6. Sandhu R. Role-based Access Control // Advanced computers, vol. 46, 1998. P. 237-286.

7. Девянин П. H. Модели безопасности компьютерных систем: учеб. пособие для студ. высш. учеб. заведений. М.: Академия, 2005. - 144 с.

8. Кононов Д. Д., Исаев С. В., Исаева О. С. Организация информационных интернет-ресурсов для поддержки управления муниципальным заказом // Вестник СибГАУ, 2009. Вып. 1 (22), ч. 2. С. 35-40.

9. Кононов Д. Д., Исаев С. В. Модель безопасности кросс-платформенных веб-сервисов поддержки муниципальных закупок // Прикладная дискретная математика. Приложение. 2011. № 4. С. 48-50.

Кононов Дмитрий Дмитриевич, научный сотрудник Института вычислительного моделирования СО РАН,

660036, г. Красноярск, Академгородок, 50/44, тел. (391) 2494767, e-mail: ddk@icm.krasn.ru

Исаев Сергей Владиславович, канд. техн. наук, старший научный сотрудник Института вычислительного

моделирования СО РАН, 660036, г. Красноярск, Академгородок, 50/44, тел. (391) 2494767, e-mail:

i@icm.krasn.ru

Kononov Dmitry Dmitrievich, scientific researcher of Institute of Computational Modeling SB RAS.

Isaev Sergey Vladislavovich, candidate of technical sciences, senior scientific researcher of Institute of Computational Modeling SB RAS.