УДК 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.