УДК 004.451
Сравнительный анализ использования существующих моделей разграничения доступа в системах, обладающих равнозначными объектами
С.А. Лапин
Алтайский государственный университет (Барнаул, Россия)
Comparative Analysis of Existing Access Control Models in Systems with Interchangeable Objects
S.A. Lapin
Altai State University (Barnaul, Russia)
Рассматриваются особенности использования существующих моделей разграничения доступа применительно к системам, имеющим равнозначные объекты. Под равнозначными понимаются объекты, которые обладают одинаковыми функциональными возможностями, но с различными характеристиками. Такие системы могут быть ориентированы на выполнение некоторого множества задач, при решении каждой из которых применяются определенные требования. Примером такой системы может являться учреждение здравоохранения, где субъекты системы — врачи, предоставляющие услуги лечения пациентам, а объектами, к которым необходимо контролировать доступ — лекарственные препараты. При лечении одного и того же заболевания в распоряжение врача могут предоставляться различные препараты, имеющие одинаковые функциональные возможности, но различные характеристики. Рассматриваются как классические модели разграничения доступа (ХРУ, ИБЛС), так и модели, предназначенные для использования в динамических системах (ТБЛС, БЕБЛС). Анализ производится с точки зрения избыточности предоставляемых прав доступа, разделения их в соответствии с задачами, а также гибкости и сложности администрирования политики безопасности. На основе проведенного анализа обосновывается необходимость создания новой математической модели разграничения доступа, ориентированной на использование в рассматриваемых системах.
Ключевые слова: компьютерная безопасность, математические модели безопасности, разграничение доступа, динамические системы, задачи, ХРУ, КБЛО, TBAC, ВБИЛО, требования.
БМ 10.14258/izvasu(2016)1-25
The paper examines usage peculiarities of existing access control models in systems with interchangeable objects. Interchangeable objects are understood to be objects that have the same functionality but different characteristics. Such systems can be focused on performing of a set of tasks with certain specific requirements for each of tasks. A health care institution is an example of such system, where each subject of the system is a doctor providing treatment services to patients and objects with the access that requires monitoring are drugs. In order to treat the same disease, a doctor can be provided with a variety of drugs that have the same functionality, but different characteristics. Both classic access control models (HRU, RBAC) and models meant for dynamic systems (TBAC, DEBAC) are discussed. The analysis is conducted in the context of access rights redundancy, differentiation in accordance with the tasks, as well as flexibility and complexity of the security policy administration. In terms of the performed analysis the necessity to create a new mathematical access control model suited for the examined systems is proved.
Key words: computer security, mathematical security models, access control, dynamic systems, tasks, HRU, RBAC, TBAC, DEBAC, requirements.
Введение. При построении системы обеспечения информационной безопасности важным ее компонентом является система разграниче-
ния доступа, цель которой — предотвращение несанкционированного доступа. На сегодняшний день разработано множество моделей разграниче-
ния доступа, основанных на различных парадигмах (матрице доступа, ролях, задачах, событиях и пр.), что объясняется обширной природой современных систем. Каждая из моделей имеет свои достоинства и недостатки при ее использовании в той или иной системе.
Целью работы является анализ использования существующих моделей разграничения доступа применительно к системам, в которых присутствуют равнозначные объекты. Под равнозначными будем понимать объекты, которые имеют одинаковые функциональные возможности, но различные характеристики. Равнозначные объекты по некоторому признаку, например по функциональности, объединяются в несколько подмножеств множества объектов, которые назовем группами равнозначных объектов. Такие системы могут быть ориентированы на выполнение некоторого множества задач, для решения которых могут применяться определенные требования. Примером такой системы может являться учреждение здравоохранения [1], где субъектами системы являются врачи, предоставляющие услуги лечения пациента, а объектами — лекарственные препараты.
Определим следующие требования, которым должна удовлетворять используемая модель разграничения доступа в подобного рода системах:
1. Права доступа должны предоставляться субъектам на основе решаемых ими задач.
2. С целью минимального выделения прав при решении каждой задачи доступ должен предоставляться только к одному равнозначному объекту из каждой группы.
3. Выполнение операций администрирования в системе должно приводить к минимальным изменениям политики безопасности, чтобы уменьшить вероятность совершения ошибок, при определении правил контроля доступа.
Рассмотрим систему, в которой имеются следующие элементы:
S = {si ,s2, S3} — множество субъектов. В качестве субъектов могут выступать, например, врачи медецинского учреждения;
O = {o1, ••• ,07} — множество объектов. Под объектами можно понимать лекарственные препараты;
G = {gi = {01,03,06 },g2 = {02,05 },дз = = {04,07}} — множество групп объектов. Группы объектов формируются по некоторому общему признаку, которым обладают все объекты этой группы. Например, если под объектами рассматривать лекарственные препараты, то такие группы можно образовать по их предназначению;
R = {use} — множество видов прав доступа субъектов к объектам. Для простоты и наглядно-
сти изложения рассматривается только одно право use — использовать объект;
T = {task1 ,task2,task3} — множество задач, которые могут выполняться в системе.
Пусть субъекты s1, s2, s3 должны выполнять в системе задачи task1, task2, task3 соответственно. Пусть также для выполнения задачи task1 необходим вид доступа r = {use}, к объектам из групп д1, д3, для task2 из д2, д3, а для task3 из д1, д2. Общая структура такой системы представлена на рисунке 1.
Рис. 1. Общая структура исследуемой системы
1. Использование классических моделей безопасности. Воспользуемся для решения поставленной задачи моделью ХРУ (Харрисона — Руззо — Ульмана) [2, 3]. Во введении уже определены такие элементы модели, как множество субъектов системы 5, множество объектов О, множество видов прав доступа Я. Разграничение прав доступа определяется матрицей доступа М, строками которой являются субъекты, а столбцы объектами. Таким образом, М[5,0] С Я — права доступа субъекта в к объекту о.
Так как в матрице доступов необходимо перечислить для каждого субъекта системы доступа, которыми он обладает к каждому объекту, то, очевидно, разграничение доступа к равнозначным объектам возможно только в случае, когда субъекту системы предоставляется доступ только к одному объекту из группы. Таким образом, можно ввести следующие условие для составления матрицы доступов М: если для 5 £ 5 и о £ £ дг £ £ ЗМ[в, о] = Я', где Я' С Я, то Уо' £ дг, такого что о = о , М[в, о ] = 0.
При таком способе использования модели очевидны следующие недостатки: 1. Субъекту предоставляются недостаточные права доступа. Субъект имеет доступ только к одному объекту из каждой группы, что, при наличии в системе равнозначных объектов, может привести к некорректному решению поставленной задачи и повлечь за собой угрозы безопасности системы.
2. Множество прав доступа субъекта статично. Вне зависимости, какую задачу выполняет субъект в системе, множество его прав доступа остается постоянным.
Однако стоит отметить, что как формирование, так и дальнейшее администрирование политики безопасности, основанной на ХРУ, является достаточно простым. Процедуры добавления/удаления объектов или субъектов в системе приводят только к изменению матрицы доступа M, путем добавления/удаления соответствующих строк или столбцов.
Модель RBAC (Role-based Access Control) [3-5] контролирует доступ субъектов системы на объекты в соответствии с совокупностью действий и обязанностей, связанных с определенным видом деятельности субъектов. Такие полномочия представляют собой семантические конструкции, называемые ролями субъектов, которые лежат в основе модели разграничения доступа. Роли позволяют получить конкретным лицам доступ к объектам в той степени, в какой это необходимо им для выполнения своих обязанностей.
В данном случае RBAC возможно применить в рассматриваемой системе, если для каждой роли определять права доступа, исходя из всевозможных комбинаций использования равнозначных объектов. Таким образом, роли будут сформированы так, что каждая из них предоставляет доступ только к одному из равнозначных объектов группы. Например, субъект S2 может обладать следующими правами доступа: PA(r 1) = {02, 04} х use PA(r2) = {02, 07} х use РА(гз) = {05, 04} х use PA(r4) = {05, 07} х use, где {ri, Г2, гз, Г4} множество ролей, на котороые может авторизоваться пользователь s2.
В отличие от модели ХРУ, RBAC позволяет разграничить доступ субъектов в системе относительно выполняемых ими задач в отдельности и при этом предоставляет инструменты для разграничения доступа к равнозначным объектам. Более того, права доступа пользователя в системе не являются постоянными и могут изменяться в зависимости от того, с какой ролью авторизовался пользователь. Отметим следующие недостатки использования RBAC:
1. Решение, на какую из доступных пользователю ролей он будет авторизован, принимает сам пользователь. Как уже было сказано, это может повлиять на безопасность системы.
2. Значительно увеличивается количество определяемых ролей, по сравнению с реальным количеством функциональных обязанностей пользователя в системе. Например, пользователь s2 выполняет в системе толь-
ко одну функцию — решение задачи tas&2. Однако с целью минимизации его прав для него определено четыре роли. Если обозначить за Gti = {g^ ,gt2., • • • ,gt™} Ç G множество групп равнозначных объектов, к которым должен иметь доступ пользователь системы для решения задачи tj, то общее количество ролей, которые должны быть определены, можно записать как
|т| G |
Е П igjiI- (!)
i=i j=i
3. Усложняются процедуры администрирования системы безопасности, как на этапе ее формирования, так и при внесении изменений. Данный недостаток является следствием предыдущего. Очевидно, что в реальных системах с большим количеством задач и равнозначных объектов количество определяемых ролей будет достаточно большим. В свою очередь, это может привести к возникновению ошибок, росту числа уязвимо-стей и пр., что негативно сказывается на системе безопасности.
2. Использование модели TBAC. В основе модели Task-based Authorization Controls (TBAC) [6] лежит понятие «задача». Права доступа пользователей изменяются с учетом специфики выполняемой задачи, на которую он авторизован в данный момент, что обеспечивает динамический контроль доступа. Таким образом, права доступа субъектов в системе предоставляются в зависимости от контекста задачи и не являются постоянными. Разрешения предоставляются и отменяются для каждой задачи в отдельности. TBAC определяет права доступа как P Ç S х O х A х U х AS.
Применим модель TBAC для решения поставленной задачи. Имеем следующие элементы:
S = {si, S2, S3} — множество субъектов;
O = {oi,02, ••• ,07} — множество объектов;
A = {use} — множество видов прав доступа субъектов к объектам;
AS = {asi,as2, ••• , si6} — множество этапов авторизации.
В статье [6] модель описана не формально [7]. В частности, не конкретизируется, каким образом хранятся права доступа в системе. Поэтому введем следующие вспомогательные элементы:
M — матрица доступов, строки которой соответствуют этапам авторизации, а столбцы соответствуют объектам. M [as, o] Ç A — права доступа субъекта, прошедшего этап авторизации as, на объект о.
SAS : S ^ 2AS — функция, задающая для каждого субъекта подмножество этапов авторизации, которые он может пройти.
В TBAC каждое право доступа дается субъектам на некоторый промежуток времени U. Будем считать, для любого права доступа это значение является постоянным, поэтому оно не будет учитываться в дальнейшем изложении.
Тогда состояние системы в TBAC с учетом вспомогательных элементов можно записать как P С S х O х M х AS х SAS.
Определим значения функции SAS следующим образом:
SAS (si) = jasi, as2, • • • , авб} SAS(sq) = jas7, asg, asg, asio} SAS(s^) = jasii, asi2, • • • , asi6} Зададим матрицу контроля доступа M :
01 02 03 04 05 06 07
as\ ( use use \
as2 use use
ass use use
as4 use use
as5 use use
ase use use
asy use use
as$ use use
asg use use
as 10 use use
asii use use
as 12 use use
as 13 use use
as 14 use use
as is use use
as 16 \ use use /
В данном случае каждая задача из T делится в системе на несколько задач, каждая из которых соответствует своему этапу авторизации. В данном случае субъект si может быть аутентифици-рован на шесть этапов, заданных функцией SAS, каждый из которых представляет собой выполнение задачи taski. Для каждого этапа авторизации в матрице доступа M определены права доступа в системе для субъекта, который его прошел. При этом права доступа в M заданы таким образом, чтобы субъект имел доступ только к одному объекту из группы.
Использование модели TBAC для решения поставленной задачи имеет следующие положительные стороны:
1. В соответствии с определениями модели разграничение прав доступа субъектов системы происходит в соответствии с задачами, которые они выполняют в отдельности.
2. Права субъектов в системе не являются постоянными и предоставляются только на время выполнения ими назначенной задачи.
3. Модель позволяет реализовать разграничение доступа к равнозначным объектам систе-
мы путем добавления нескольких этапов авторизации для задач.
4. Для добавления новых субъектов системы требуется только назначить для них этапы авторизации путем внесения изменений в функцию SAS. При этом не требуется вносить какие-либо изменения в матрицу доступа M .
Однако администрирование политики безопасности при таком подходе является затруднительным. Это связано с большим количеством этапов авторизации, значительно превышающее количество задач, которые решаются в системе. Как следствие увеличивается размер матрицы доступа M . Общее количество этапов авторизации, которое должно присутствовать в матрице M, будет определяться по формуле (1).
В реальных системах количество задач, субъектов и равнозначных объектов, как правило, является достаточно большим. Очевидно, что в таком случае процесс формирования матрицы доступа M будет являться трудоемким и занимающим значительное время. Более того, ее размер будет многократно увеличиваться, если в такую систему будут добавляться новые равнозначные объекты или задачи. Это может привести к ошибкам в системе разграничения прав доступа и, как следствие, приводить к неверному функционированию системы безопасности.
В работах [8,9] предлагаются модели, где права доступа для каждого этапа авторизации описываются в виде ролей. Таким образом, предлагается гибридная модель, построенная на основе TBAC и RBAC. Если использовать такой способ, то, очевидно, что указанные недостатки будут применимы и к ней. Это объясняется тем, что количество этапов авторизации будет сохраняться, и для каждого из них необходимо будет определить права соответствующей роли.
3. Использование модели DEBAC. Более общий подход по формированию правил контроля доступа представляет модель DEBAC (Dynamic Event-Based Access Control) [10]. Фундаментальным понятием модели DEBAC является понятие «событие». В DEBAC права пользователя изменяются только при наступлении какого-либо события, которое определено в системе. В соответствии с моделью имеем следующие элементы:
O = {01, 02, • • • ,07} — множество объектов;
A = {use} — множество именованных действий;
U = {u1,u2,u3} — множество идентификаторов пользователей;
C = [00,01,02, ••• ,016} — множество категорий;
E = {e1,e2, ••• , e19} — множество идентификаторов событий;
S = {у} — множество идентификаторов месторасположений ;
T — конечное множество моментов времени; W — конечное множество действий, связанных с событиями.
В DEBAC доступ к объекту определяется следующим образом: пользователю u € U разрешено выполнять действие a € A над объектом o € O, который имеет месторасположение s € S, если и только если u назначена категория c € C, которой был назначен доступ к o.
Определим значения функции privileges, которая возвращает список пар {a¿,c¿}, т.е. действие и категорию, позволяющую выполнить такое действие для данного объекта в данном месторасположении, следующим образом:
pr¿rnleges(oi, у) = {ci, С2, сц, С12} х {apply} prw¿leges(o2, у) = {cr, cg, сц, С13, С15} х {apply} prw¿/eges(o3,y) = {c3, c4, ci3, ci4} х {apply} pr¿wíleges(o4, у) = {ci, c3, c5, cr, cg} х {apply} pr¿wíleges(o5, у) = {ci, c3, c5, cr, cg} х {apply} pr¿wíleges(o6,«) = {c5, ce, ci5, ci6} х {apply} pr¿-v¿leges(or, у) = {c2, c4, c6, cg, ció} х {apply} Как можно видеть, категория co не позволяет выполнять никаких действий над объектами системы. Другими словами, пользователь, которому
была назначена данная категория, не имеет никаких прав доступа в системе.
Зададим функцию user(E), определяющую, в каких событиях могут участвовать пользователи:
user(Ei) = ui, где Ei = {ei, e2, • • • , e6, eir} user(E2) = u2, где E2 = {er, eg, • • • , eio, eig} user(E3) = u3, где E3 = {eii, ei2, • • • , ei6, eig} Зададим следующие вспомогательные функции:
Head(L) — функция, возвращающая последний добавленный элемент в список L;
Checko(e) — функция, возвращающая 1, если событие означает завершение выполнения задачи, иначе возвращающая 0.
Определим функцию Checko(e) в виде:
Checko(e) ^ г/ e = eir or e = eig or e = eig then 1 else 0
Функция Estatus отвечает за назначение пользователю категории в соответствии с событием. Будем считать, что при наступлении события e¿ пользователю может быть назначена категория c¿, где 1 ^ г ^ 16. Тогда функция Estatus(E) может быть определена следующим образом:
Estatus(event(ej, u, T)) ^ г/ Checfco(ej) = 0 and Head(status(U, L)) = co
then cons(c¿, status(U, L)) else г/ Checko (e¿) = 1 then cons(co, status(U, L))
где вЬаЬмв(и, Е) — отображение событий с участием пользователя и на список Е При наступлении события е^ в момент времени - в котором участвует пользователь происходит проверка события на то, не означает ли оно завершение выполнения задачи пользователем. Если нет и в данный момент он не выполняет никаких задач, то происходит изменение категории пользователя на соответствующую событию. Если же событие означает окончание выполнения задачи пользователем, то он лишается всех прав доступа в системе, путем назначения ему категории со.
Каждая задача из Т делится в системе на несколько задач, каждой из которых соответствует событие в системе. Отметим положительные стороны использования модели БЕБЛС:
1. Разграничение прав доступа субъектов системы возможно реализовать в соответствии с отдельными задачами, которые они выполняют.
2. Права субъектов в системе не являются постоянными и предоставляются только на время выполнения ими назначенной задачи.
3. Модель позволяет реализовать разграничение доступа к равнозначным объектам системы, путем добавления нескольких событий, которые соответствуют одной задачи.
Недостатком использования БЕБЛС является процедура администрирования политики. В основе своей это связано с тем, что для каждого пользователя необходимо определить множество событий, в которых он может участвовать.
Пусть в системе имеется п задач, которые могут выполнять одни и те же т пользователей. Обозначим за С^ = {дЦ-, , • • • ,д^} С С — множество групп равнозначных объектов, к которым должен иметь доступ субъект системы для решения задачи Ь^. Тогда количество событий, которые будет необходимо определить, равно
п \Оч |
• (П к | + 1)-
г=1 з = 1
Очевидно, что это влечет за собой усложнение формирования и дальнейшего сопровождения политики безопасности.
Выводы и заключение. В представленной работе было рассмотрено использование как классических моделей безопасности (ХРУ, ИВЛС), так и моделей, реализующих динамический контроль доступа (ТВЛС, БЕВЛС). Для каждой из рассмотренных моделей были отмечены достоинства и недостатки их использования. Показано, что более приемлемым подходом для решения поставленной задачи является использование динамических моделей, основанных на задачах или событиях. При этом их применение в рассматриваемом аспекте представляется громоздким и затруднительным с точки зрения администрирования.
Наличие недостатков использования рассмотренных моделей безопасности, в том числе, связано с тем, что в них предполагается решение задачи субъектом путем применения одного и того же множества объектов, к которому ему предоставляется доступ. Однако не учитываются такие особенности системы, как наличие равнозначных объектов и требований к процессу решения задачи. В зависимости от таких требований для решения одной и той же задачи субъекту могут предоставляться различные доступы к равнозначным объектам. Таким образом, возникает необходимость создания модели, учитывающей такие особенности системы.
В работе [11] предлагается модель разграничения доступа Б-ТВЛС, учитывающая перечисленные особенности и позволяющая решить поставленную во введении задачу. Б-ТВЛС предоставляет механизм, позволяющий выделять минимальные права доступа субъектам системы при решении ими задач с учетом требований к их выполнению.
Библиографический список
1. Лапин С.А. Применение модели разграничения доступа D-TBAC в медицинском учреждении для контроля доступа к лекарственным препаратам // Новые информационные технологии и системы : сб. науч. ст. XII Междунар. науч.-тех. конф. — Пенза, 2015.
2. Harrison M., Ruzzo W., Ullman J. Protection in Operating Systems // Commun. ACM. — New York, 1976. — V. 19, №8. DOI: 10.1145/ 360303.360333
3. Девянин П.Н. Модели безопасности компьютерных систем. Управление доступом и информационными потоками : учебное пособие для вузов. — М., 2013.
4. Sandhu R. Role-based Access Control // Advances in Computers. — 1998. — V. 46. DOI: 10.1016/S0065-2458(08)60206-5
5. Ferraiolo D., Sandhu R., Gavrila S., Kuhn R., Chandramouli R. Proposed NIST Standard for Role-based Access Control // ACM Trans. Inf. Syst. Secur. — 2001. — V. 4, №3. DOI: 10.1145/501978.501980
6. Thomas R., Sandhu R. Task-Based Authorization Controls (TBAC): A Family of Models for Active and Enterprise-Oriented Autorization Management // Proceedings of the IFIP TC11
WG11.3 Eleventh International Conference on Database Securty XI: Status and Prospects. — London, 1998.
7. Cvrcek D. Access Control in Workflow Systems // MOSIS'99 Proceedings. — RoZnov pod Radhostem, 1999.
8. Zhang C., Hu Y., Zhang G. Task-Role Based Dual System Access Control Model // International Journal of Computer Science and Network Security — 2006. — V. 7, №6.
9. Лепешкин О.М., Харечкин П.В. Функционально-ролевая модель управления доступом в социотехнических системах // Известия Южного федерального университета. Технические науки. — 2009. — Т. 100, №11.
10. Bertolissi C., Fernandez M., Barker S. Dynamic Event-Based Access Control as Term Rewriting // Proceedings of the 21st Annual IFIP WG 11.3 Working Conference on Data and Applications Security. — California, 2007. DOI: 10.1007/978-3-540-73538-0_15
11. Lapin S. Access control model D-TBAC subject to the requirements to tasks' performing // Proceedings of the 8th International Conference on Security of Information and Networks. — New York, 2015. DOI: 10.1145/2799979.2800034