СПОСОБ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ИНФОРМАЦИОННЫХ ПОТОКОВ В ЗАЩИЩЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ С МАНДАТНЫМ И РОЛЕВЫМ УПРАВЛЕНИЕМ ДОСТУПОМ
METHOD OF SECURING INFORMATION FLOW IN SECURE INFORMATION SYSTEMS WITH MANDATORY AND ROLE-BASED ACCESS CONTROL

Область техники
Изобретение относится к области защиты информационных систем, а именно к способам обеспечения безопасности информационных потоков в защищенных информационных системах с мандатным и ролевым управлением доступом.
Уровень техники
Логическое управление доступом - один из основных механизмов защиты информационных систем. В существующих информационных системах, как правило, применяется дискреционное или мандатное (полномочное) логическое управление доступом. Более перспективным является использование вместо дискреционного управления доступом ролевого, позволяющего сгруппировать права доступа (с учетом специфики их применения) в роли и в результате определить более четкие и понятные для пользователей информационных систем правила управления доступом.
Противодействие запрещенным информационным потокам (скрытым каналам), в том числе информационным потокам по памяти или по времени [ГОСТ Р 53113.1-2008, ГОСТ Р 53113.2-2009 «Защита информационных технологий и автоматизированных систем от угроз информационной безопасности, реализуемых с использованием скрытых каналов», части 1, 2] от сущностей с высоким уровнем конфиденциальности к сущностям с низким уровнем конфиденциальности - необходимое условие безопасности информационных систем, включающих механизм мандатного управления доступом. «Механическое» объединение ролевого и мандатного управления доступом без учета специфики каждого из них может негативно отразиться на безопасности полученного решения, в том числе при обеспечении защиты от запрещенных информационных потоков. Например, запрещенные информационные потоки по времени могут быть созданы кооперирующими субъектами с использованием назначения и отзыва в согласованные моменты времени прав доступа ролей.
Известна модель [Bell D.E., LaPadula L.J. Secure Computer Systems: Unified Exposition and Multics Interpretation. Bedford, Mass.: MITRE Corp., 1976. MTR-2997 Rev. 1.], в которой задаются требования к реализации в информационной системе мандатного и дискреционного управления доступом. Но в ней не рассматривается ролевое управление доступом, наличие иерархии сущностей не учитывается при управлении доступом и не предлагаются способы противодействия запрещенным информационным потокам по времени.
Известна модель [Lanawehrm Е., Heitmeyer L., McLean J. A Security Model for Military Message Systems // ACM Trans. On Computer Systems. Vol.9, №3. P.198-222], в которой реализуется мандатное и дискреционное управление доступом с учетом иерархии сущностей (с применением атрибутов сущностей-контейнеров CCR - Container Clearance Required) и используются роли. Но в этой модели роли применяются только в качестве дополнения к дискреционным правам доступа, не предлагаются способы администрирования прав доступа ролей и способы противодействия запрещенным информационным потокам по времени.
Известна модель [Sandhu R. Role-Based Access Control // Advanced in Computers. Academic Press, 1998. Vol.46], в которой предлагается способ реализации мандатного и ролевого управления доступом. Для противодействия запрещенным информационным потокам по памяти в ней все роли разделяются по уровням конфиденциальности сущностей, права доступа к которым они предоставляют, и по видам доступа к ним - роли-«на чтение» и роли-«на запись», с применением соответствующих ограничений на функции текущих ролей сессий (субъектов) и прав доступа ролей. Но в данной модели не рассматриваются механизмы защиты от запрещенных информационных потоков по времени и не предлагаются способы администрирования прав доступа ролей. Кроме того, при реализации модели без использования дополнительно дискреционного управления доступом невозможно назначение пользователям информационной системы индивидуальных прав доступа к сущностям.
Известны системы и способы, например, патенты RU 2134931 С1, H04L 9/32, G06F 12/14, опубл. 1999-08-20; RU 2434283 C1, G06F 21/20, G06F 21/22, опубл. 2011-11-20; RU 2443017 C1, G06F 21/22, G06F 12/14, опубл. 2012-02-20; US 7593942 В2, G06F 17/30, опубл. 2009-09-22; US 7831570 В2, G06F 7/00, опубл. 2010-11-09; заявка на изобретение RU 2009129744 A, G06F 13/00, опубл. 2011-02-10, ориентированные на реализацию в информационной системе мандатного управления доступом. Но в них не предлагаются способы противодействия запрещенным информационным потокам по времени, возникающим, в том числе, при использовании субъектами-нарушителями параметров ролей.
Известны системы и способы, например, патенты RU 2379754 C1, G06F 21/22 опубл. 2010-01-20; RU 2427904 С2, G06F 21/20, H04W 48/02, опубл. 2010-10-10; заявки на изобретение RU 2008148041 A, G06F 12/00, опубл. 2010-06-10; RU 2010154544 A, G06F 21/20, опубл. 2012-07-10, предназначенные для реализации управления доступом в информационных системах. Но в них не задаются требования к совместному применению мандатного и ролевого управления доступом, выполнение которых позволит назначать права доступа ролей к сущностям в соответствии с их уровнями конфиденциальности, предоставлять субъектам роли в качестве текущих в зависимости от уровней доступа субъектов и уровней конфиденциальности ролей, а также позволит предотвратить в информационной системе запрещенные информационные потоки.
Раскрытие изобретения
Технический результат заключается в предотвращении возможности использования субъектами-нарушителями защищенной информационной системы параметров ролей, в том числе прав доступа ролей к сущностям, для реализации информационных потоков по памяти или по времени от сущностей с высоким уровнем конфиденциальности к сущностям с низким уровнем конфиденциальности информации.
Указанный результат достигается за счет того, что в способе обеспечения безопасности информационных потоков в защищенных информационных системах с мандатным и ролевым управлением доступом, включающем представление защищенной информационной системы в рамках формальной модели безопасности логического мандатного и ролевого управления доступом и информационными потоками,
роли реализуют сущностями-контейнерами, к которым субъектам системы предоставляют доступы на владение, чтение или запись;
эффективные права доступа субъектов к сущностям, в том числе к субъектам и ролям, назначают рекурсивно в соответствии с правилом: субъект обладает эффективным правом доступа к сущности только тогда, когда он обладает доступом на чтение к роли, имеющей соответствующее право доступа к сущности, и эффективными правами доступа на выполнение ко всем сущностям, которым данная сущность подчинена в иерархии;
каждой роли назначают уровень конфиденциальности, не превосходящий уровни конфиденциальности ролей, которым данная роль подчинена в иерархии;
субъекту предоставляют доступ к роли только при условии, что он обладает к ней соответствующим эффективным правом доступа, при этом доступ субъекта на чтение к роли предоставляют только тогда, когда уровень конфиденциальности роли не превосходит текущего уровня доступа субъекта, доступ субъекта на запись или на владение к роли предоставляют только тогда, когда уровень конфиденциальности роли равен текущему уровню доступа субъекта;
субъекту разрешают изменять права доступа к сущностям или ролям, которыми обладает некоторая роль, только тогда, когда он обладает к ней доступом на запись;
субъекту разрешают изменять права доступа к роли только тогда, когда он обладает к ней доступом на владение.
Защита целостности данных, к которым в информационной системе предоставляется доступ субъектам, достигается за счет того, что информационную систему представляют в рамках формальной модели безопасности логического мандатного и ролевого управления доступом и информационными потоками и контроля целостности,
каждой роли назначают уровень целостности, не превосходящий уровни целостности ролей, которым данная роль подчинена в иерархии;
каждой роли назначают права доступа на владение или запись к сущности только тогда, когда уровень целостности сущности не выше уровня целостности роли;
субъекту предоставляют доступ к роли только тогда, когда уровень целостности роли не превосходит текущего уровня целостности субъекта.
В качестве состояния безопасности защищенной информационной системы рассматривают полное множество сущностей доступа, включающее субъекты, объекты, контейнеры и роли, и их параметров безопасности, состав и влияние которых на безопасность определяется типом и версией операционной среды защищенной информационной системы, в том числе включают такие сущности и параметры безопасности:
учетные записи доверенных и недоверенных пользователей,
элементы файловой системы, в том числе диски, каталоги, файлы, ссылки,
элементы реестра, окна графического интерфейса, COM/DCOM-объекты, сетевые интерфейсы,
процессы, потоки, демоны, драйверы, устройства, сервисы, объекты синхронизации,
списки привилегий и прав доступа ролей к сущностям, метки разделяемых контейнеров,
метки уровней доступа, конфиденциальности и целостности, CCR-метки способа доступа внутрь контейнеров; иерархии сущностей, в том числе ролей и субъектов.
Формально при реализации способа, в общем виде, информационную систему Σ(G*, OP) представляют множеством всех ее состояний - G* и множеством правил преобразования состояний - ОР. При этом каждое состояние информационной системы Σ(G*, OP) представляют кортежем (РА, A, F) и включают в его описание следующие элементы:
Е=О ∪ С - множество сущностей (всех компонент информационной системы Σ(G*, OP), к которым назначают права доступа), где О - множество объектов (например, файлов), С - множество контейнеров (например, каталогов) и О ∩ С=⌀;
S ⊆ Е - множество субъектов (например, процессов компьютеров информационной системы), функционирующих от имени учетных записей пользователей;
R - множество ролей;
Е
Е
E ∪ R
Н:E ∪ R→2 - функция иерархии сущностей и ролей, удовлетворяющая условиям: если сущность или роль е ∈ Н(с), то е<с, при этом если е ∈ С ∪ R ∪ S, то не существует сущности-контейнера или роли d ∈ C ∪ R такой, что е<d, d<с;
r
r
r
r
r
r
r
r
r
R={read, write, execute, own} - множество видов прав доступа, при этом read - право доступа на чтение, write - право доступа на запись, execute- право доступа на выполнение, own- право доступа на владение;
a
a
a
a
a
a
a
R={read, write, own} - множество видов доступа, при этом read- доступ на чтение, write - доступ на запись, own- доступ на владение;
m
t
Rf={write, write} - множество видов информационных потоков (по памяти и по времени соответственно);
r
Р ⊆ (Е ∪ R)×R - множеств прав доступа к сущностям и ролям;
a
А ⊆ S×(Е ∪ R)×R - множество доступов субъектов к сущностям и ролям;
f
F ⊆ (Е ∪ R)×(Е ∪ R)×R - множество информационных потоков (используют для обоснования достижения технического результата);
Р
PA:R→2 - функция прав доступа к сущностям и ролям ролей, при этом для каждого права доступа р ∈ Р существует роль r ∈ R такая, что выполняется условие р ∈ РА(r);
(LC, ≤) - решетка многоуровневой безопасности уровней конфиденциальности (как правило, декартово произведение линейной шкалы уровней конфиденциальности данных и множества всех подмножеств конечного множества неиерархических категорий данных);
e
f:Е ∪ R→LC - функция, задающая уровень конфиденциальности для каждой сущности или роли;
s
f:S→LC - функция, задающая для каждого субъекта его текущий уровень доступа;
(LI, ≤) - линейная шкала двух уровней целостности данных, где LI={i_low, i_high}, i_low<i_high;
e
i:E ∪ R→LI - функция, задающая уровень целостности для каждой сущности или роли;
s
i:S→LI - функция, задающая для каждого субъекта его текущий уровень целостности;
1
n
n
0
1
Е
0
i
Е
i-1
i
i
a
i
r
i
e
i
s
e
i
s
execute_container: S×(Е ∪ R)→{true, false} - функция доступа субъектов к сущностям или ролям в контейнерах такая, что для субъекта s ∈ S и сущности или роли е ∈ Е ∪ R справедливо равенство execute_container(s, е) = true тогда и только тогда, когда существует последовательность сущностей или ролей е, …, e ∈ Е ∪ R, где n≥1, е = e, удовлетворяющих следующим условиям: не существует сущности-контейнера или роли е ∈ Е ∪ R такой, что e ∈ Н(е); e ∈ Н(e), где 1<i≤n; существует r ∈ R такая, что (s, r, read) ∈ А и (e execute) ∈ РА(r), f(e)≤f(s) и i(e)≤i(s), где 1≤i<n.
В каждом состоянии информационной системы Σ(G*, OP) обеспечивают выполнение следующих условий:
r'
r
у каждой роли есть права доступа execute- ко всем ролям: для каждых двух ролей r, r' ∈ R выполняется условие (r, execute) ∈ РА(r');
e
уровень конфиденциальности сущности или роли, входящей в состав сущности-контейнера или роли, соответственно, не превосходит ее уровня конфиденциальности: для сущностей или ролей е, е' ∈ Е ∪ R, если е≤е', то f(e)≤fe(e');
e
e
уровень целостности сущности или роли, входящей в состав сущности-контейнера или роли, соответственно, не превосходит ее уровня целостности: для сущностей или ролей е, е' ∈ Е ∪ R, если е≤е', то f(e)≤f(e');
r
e
e
r
r
r
роль может содержать права доступа на владение или запись к сущностям или ролям с не выше, чем у нее уровнем целостности: для роли r ∈ R и сущности или роли е ∈ Е ∪ R, если (е, α) ∈ РА(r), то i(e)≤i(r), где α∈ {own, write}.
В информационной системы Σ(G*, OP) реализуют, как минимум, следующие правила преобразования состояний («де-юре» правила), условия применения которых в текущем состоянии и результаты применения в последующем состоянии системы заданы в таблице 1.
Таблица 1
«Де-юре» правила преобразования состояний информационной системы Σ(G*, OP)
Правило
Исходное состояние G = (PA, A, F)
Результирующее состояние G'=(PA',A', F')
access_own(x, y)
х ∈ S, у ∈ Е ∪ R, существует r ∈ R:(х, r, read<sub>a</sub>) ∈ А, (y, own<sub>r</sub>) ∈ PA(r), f<sub>e</sub>(y)=f<sub>s</sub>(x), i<sub>e</sub>(y)≤i<sub>s</sub>(x) и execute_container(x, y)=true
PA'=PA, F'=F, A'=A ∪ {(x, y, own<sub>a</sub>)}
access_write(x, y)
x ∈ S, y ∈ E ∪ R, существует r ∈ R:(x, r, read<sub>a</sub>) ∈ A, (y, write<sub>r</sub>) ∈ PA(r), f<sub>c</sub>(y)=f<sub>s</sub>(x), i<sub>e</sub>(y)≤i<sub>s</sub>(x) и execute_container(x, y)=true
PA'-PA, F'=F, A'=A ∪ {(x, y, write<sub>a</sub>)}
access read(x, y)
x ∈ S, y ∈ E ∪ R, существует r ∈ R:(x, r, read<sub>a</sub>) ∈ A, (y, read<sub>r</sub>)∈ PA(r), f<sub>e</sub>(y)≤f<sub>s</sub>(x), execute_container(x, y)=true, если y ∈ R, то i<sub>e</sub>(y)≤i<sub>s</sub>(x)
PA'=PA, F'=F, A'=A ∪ {(x, y, read<sub>a</sub>)}
delete_access(x, y, α<sub>а</sub>)
x ∈ S, y ∈ E ∪ R, (x, y, α<sub>a</sub>) ∈ A
PA'=PA, F'=F, A'=A\{(x, y, α<sub>a</sub>)}
grant_rights(x, r, y, α<sub>r</sub>)
x ∈ S, y ∈ E ∪ R, r ∈ R, (x, r, write<sub>a</sub>) ∈ A, (x, y, own<sub>a</sub>) ∈ А, если α<sub>r</sub> ∈ {own<sub>r</sub>, write<sub>r</sub>}, то i<sub>e</sub>(y)≤i<sub>c</sub>(r)
A'=A, F'=F, PA'(r)=PA(r) ∪ {(y, α<sub>r</sub>)} и для r' ∈ R \ {r} выполняется равенство PA'(r')=PA(r')
remove_rights(x, r, y, a<sub>r</sub>)
х ∈ S, y ∈ E ∪ R, r ∈ R, (x, r, write<sub>a</sub>) ∈ A, (x, y, OWtl<sub>a</sub>) ∈ A
A'=A, F'=F, PA'(r)=PA(r) \ {(y, a<sub>r</sub>)}, и для r' ∈ R \ {r} выполняется равенство РА'(r')=PA(r')
Для обоснования достижения технического результата используют, как минимум, следующие правила преобразования состояний («де-факто» правила) информационной системы Σ(G*, OP), условия применения которых в текущем состоянии и получаемые в результате их применения информационные потоки в последующем состоянии системы заданы в таблице 2.
Таблица 2
«Де-факто» правила преобразования состояний информационной системы Σ(G*, OP)
Правило
Исходное состояние G=(PA, A, F)
Результирующее состояние G'=(PA', A', F')
flow_memory_access (х, у, α<sub>а</sub>)
х ∈ S, y ∈ Е, (х, y, α<sub>а</sub>) ∈ А, где α<sub>а</sub> ∈ {read<sub>a</sub>, write<sub>a</sub>}
РА'=РА, А'=А, [если α<sub>а</sub>=read<sub>a</sub>, то F'=F ∪ {(y, х, write<sub>m</sub>)}], [если α<sub>а</sub>=write<sub>a</sub>, то F'=F ∪ {(х, y, write<sub>m</sub>)}]
flow_time_access(x, y)
х ∈ S, y ∈ Е ∪ R, (х, y, α<sub>а</sub>) ∈ А, где α<sub>а</sub> ∈ R<sub>a</sub>
РА'=РА, А'=А, [если ∈<sub>а</sub> ∈ {own<sub>a</sub>, write<sub>a</sub>}, то F'=F ∪ {(x, y, write,), (y, x, write<sub>t</sub>)}],, [если α<sub>a</sub>=read<sub>a</sub>, то F'=F ∪ {(y, x, write<sub>t</sub>)}]
take_flow(x, y)
х, y ∈ S, х ≠ y, (х, y, own<sub>a</sub>) ∈ А
PA'=PA, A'=A, F'=F ∪ {(x, e, α): (y, e, α) ∈ F, e ∈ E ∪ R и α ∈ {write<sub>m</sub>, write<sub>t</sub>}}
find(x, y, z)
x, y ∈ S, z ∈ E ∪ R, x≠z, (x, y, α<sub>f</sub>), (y, z, β<sub>f</sub>) ∈ F, где α<sub>f</sub>, β<sub>f</sub> ∈ {write<sub>m</sub>, write<sub>t</sub>}
PA'=PA, A'=A, если write<sub>t</sub> ∈ {α<sub>f</sub>, β<sub>f</sub>} и z ∈ E, то F'=F ∪ {(x, z, write<sub>m</sub>)}, иначе F'=F ∪ {(x, z, write<sub>t</sub>)}
post(x, y, z)
x, z ∈ S, y ∈ E ∪ R, x≠z, (x, y, α<sub>f</sub>) ∈ F, где α<sub>f</sub> ∈ {write<sub>m</sub>, write<sub>t</sub>}, и (z, y, β<sub>а</sub>) ∈ А, где β<sub>a</sub> ∈ R<sub>a</sub>
PA'=PA, A'=A, если α<sub>f</sub>=write<sub>m</sub>, β<sub>a</sub>=read<sub>a</sub> и y ∈ E, то F'=F ∪ {(x, z, write<sub>m</sub>)}, иначе F'=F ∪ {(x, z, write<sub>t</sub>)}
pass(x, y, z)
y ∈ S, x, z ∈ E ∪ R, x≠z, (y, x, α<sub>a</sub>) ∈ А, где α<sub>a</sub> ∈ {read<sub>a</sub>, own<sub>a</sub>}, и (y, z, β<sub>f</sub>) ∈ F, где β<sub>f</sub> ∈ {write<sub>m</sub>, write<sub>t</sub>}
PA'=PA, A'=A, если α<sub>a</sub>=read<sub>a</sub>, β<sub>f</sub>=write<sub>m</sub> и x, z ∈ E, то F'=F ∪ {(x, z, write<sub>m</sub>)}, иначе F'=F ∪ {(x, z, write<sub>t</sub>)}
Таким образом, в способе использован классический для теории моделирования безопасности управления доступом и информационными потоками подход, заключающийся в следующем: предполагается, что проверка безопасности защищенной информационной системы должна осуществляться после того, как доверенные (привилегированные, административные субъекты, являющиеся частью подсистемы безопасности, чью функциональность можно верифицировать) субъекты выполнили свои задачи по изменению параметров функционирования системы. При этом требуется удостовериться, что дальнейшее функционирование системы под воздействием недоверенных, часто рассматриваемых как нарушители, субъектов будет безопасным, т.е. не приведет к созданию запрещенных информационных потоков. В результате достижение технического результата обосновывают следующим образом:
0
0
0
0
0
0
задают начальное состояние G=(РА, А, F) информационной системы Σ(G*, OP), в котором отсутствуют доступы субъектов к сущностям или ролям и отсутствуют информационные потоки (А=⌀, F=⌀);
0
0
0
0
1
N
N
N
N
N
0
op1
1
op2
opN
N
N
m
t
e
e
с применением математической логики и теории множеств доказывают невозможность перехода информационной системы Σ(G*, OP) из начального состояния G=(РА, А, F) в результате применения произвольной конечной последовательности «де-юре» или «де-факто» правил ор, …, op, заданных в таблицах 1 и 2, соответственно, в состояние G=(PA, A, F), где G ├ G ├ … ├ G, N>0, в котором существуют (во множестве F) запрещенные информационные потоки по памяти или по времени от сущностей или ролей с высоким уровнем конфиденциальности к сущностям или ролям с низким уровнем конфиденциальности (информационный поток вида (х, y, write) или (х, y, write), где х, y ∈ Е ∪ R и f(x)>f(y)).
Осуществление изобретения
0
0
0
0
При применении способа для описания каждого состояния информационной системы Σ(G*, OP), в том числе ее начального состояния G=(РА, А, F):
r
r
r
r
a
a
a
r
r
r
a
a
a
используют виды прав доступа read, write, execute, own и виды доступов read, write, own, соответственно (традиционно в защищенных информационных системах, например, в операционных системах семейства Linux, рассматривают три вида прав доступа к сущностям: на чтение, на запись и на выполнение или на использование контейнера - каталога, а также при управлении доступом к сущностям учитывают наличие у них владельцев, имеющих права передавать другим, субъектам права доступа к сущностям); применительно к ролям: право доступа own - владелец роли, read - право получать роль как текущую, просматривать ее параметры, write - право изменять множество прав доступа роли, execute - право обращаться к ролям, подчиненным данной роли в иерархии ролей; доступ own - владение (изменение параметров) роли, read - получение субъектом роли как текущей, write - доступ на изменение прав доступа роли или состава ролей, подчиненных ей в иерархии;
для предотвращения возможности использования прав доступа ролей при создании запрещенных информационных потоков роли реализуют сущностями-контейнерами (например, в операционных системах создают «виртуальную» иерархическую файловую систему, каждый элемент которой является ролью, а иерархия ее элементов соответствует иерархии ролей) и задают уровни конфиденциальности ролей (например, в операционных системах для этого используют расширенные атрибуты элементов файловой системы);
все компоненты защищенной информационной системы (субъекты, сущности и роли) разделяют на два непересекающихся множества, влияющих на целостность и безопасность системы или нет, и присваивают им соответствующие уровни целостности i_high и i_low (здесь преимущества мандатного контроля целостности аналогичны преимуществам мандатного управления доступом в сравнении с дискреционным управлением доступом, т.е. его внедрение обеспечивает большую ясность правил разделения компонент системы на критичные и некритичные с точки зрения ее целостности; его реализация с помощью ролей более понятна для пользователей и администраторов защищенной информационной системы, кроме того, требуемый для пользователя текущий уровень целостности субъекта, функционирующего от его имени, непосредственно зависит от выполняемой пользователем в системе функции - роли; в операционных системах для задания уровней целостности используют, например, расширенные атрибуты элементов файловой системы);
использованную в формальном описании информационной системы Σ(G*, OP) функцию execute_container непосредственно в информационной системе не реализуют, так как ее значение при каждом доступе субъекта к сущности вычисляют при последовательной проверке прав доступа к сущностям-контейнерам, содержащим данную сущность, начиная с корневой сущности-контейнера (в операционных системах семейства Linux, например, с сущности-контейнера «/»).
При применении способа в защищенной информационной системе Σ(G*, OP) реализуют «де-юре» правило преобразования состояний (например, в операционных системах в функции монитора ссылок, выполняющей проверку прав доступа при доступе субъектов к сущностям):
в правилах access_own(x, y), access_write(x, y) и access_read(x, y) проверяют наличие в текущем состоянии системы у субъекта x доступа на чтение к некоторой роли r, содержащей соответствующее право доступа к сущности или роли y, а также истинность функции execute_container(x, y); кроме того, в правилах access_own(x, y) и access_write(x, y) проверяют, что уровень конфиденциальности y равен текущему уровню доступа x, а уровень целостности y не превосходит текущего уровня целостности x, в правиле access_read(x, y) проверяют, что уровень конфиденциальности y не превосходит текущего уровня доступа x, и случае, когда y является ролью, что уровень целостности y не превосходит текущего уровня целостности x; в случае успешной проверки в последующем состоянии системы предоставляют x соответствующий доступ к y;
а
а
а
в правиле delete_access(x, y, α) проверяют, что в текущем состоянии системы у субъекта x имеется доступ α к сущности или роли у, и в случае успешной проверки в последующем состоянии системы отзывают у х доступ ос к у;
r
r
r
в правиле grant_rights(x, r, y, α) проверяют наличие в текущем состоянии системы y субъекта x доступа на запись к роли r и доступа владения к сущности или роли y, кроме того, если право доступа α является правом доступа на владение или запись, то проверяют, что уровень целостности у не превосходит уровня целостности r, в случае успешной проверки в последующем состоянии системы предоставляют r право доступа α к y;
r
r
в правиле remove_rights(x, r, y, α) проверяют наличие в текущем состоянии системы у субъекта x доступа на запись к роли r и доступа владения к сущности или роли y, и в случае успешной проверки в последующем состоянии системы отзывают у r право доступа α к y.
При обосновании невозможности реализации в защищенной информационной системе Σ(G*, OP) запрещенных информационных потоков кроме «де-юре» правил используют «де-факто» правила преобразования состояний системы:
а
а
m
а
а
в правиле flow_memory_access(x, y, α) проверяют наличие в текущем состоянии системы у субъекта x доступа на чтение или запись α к сущности или роли y, и в случае успешной проверки в последующем состоянии системы включают во множество информационных потоков F информационный поток по памяти либо от y к x (во множество F добавляют элемент (x, y, write)), когда доступ α является доступом на чтение, либо от x к y, когда доступ α является доступом на запись;
а
t
а
в правиле flow_time_access(x, y) проверяют наличие в текущем состоянии системы у субъекта x любого доступа α к сущности или роли y, и в случае успешной проверки в последующем состоянии системы включают во множество информационных потоков F информационный поток по времени от y к x (во множество F добавляют элемент (y, x, write)), и если доступ α является доступом на владение или запись, то также включают во множество F информационный поток по времени от x к y;
в правиле take_flow(x, y) проверяют наличие в текущем состоянии системы у субъекта x доступа владения к субъекту y, и в случае успешной проверки в последующем состоянии системы включают во множество информационных потоков F информационные потоки от x ко всем сущностям, к которым соответствующий информационный поток имел y;
в правиле find(x, y, z) проверяют наличие в текущем состоянии системы информационных потоков от субъекта x к субъекту y и от него к сущности или роли z, и в случае успешной проверки в последующем состоянии системы включают во множество информационных потоков F информационный поток от x к z по памяти, если оба существующих информационных потока являются информационными потоками по памяти, иначе включают информационный поток по времени;
в правиле post(x, y, z) проверяют наличие в текущем состоянии системы информационного потока от субъекта x к сущности или роли y и любого доступа субъекта z к y, и в случае успешной проверки в последующем состоянии системы включают во множество информационных потоков F информационный поток от x к z по памяти, если существующий информационный поток является информационным потоком по памяти, а доступ - доступ на чтение, иначе включают информационный поток по времени;
в правиле pass(x, y, z) проверяют наличие в текущем состоянии системы информационного потока от субъекта y к сущности или роли z и доступа на чтение или владение y к сущности или роли x, и в случае успешной проверки в последующем состоянии системы включают во множество информационных потоков F информационный поток от x к z по памяти, если существующий информационный поток является информационным потоком по памяти, а доступ - доступ на чтение, иначе включают информационный поток по времени.
а
r
0
0
0
0
Обоснование невозможности реализации в защищенной информационной системе Σ(G*, OP) запрещенных информационных потоков по памяти или по времени от сущностей или ролей с высоким уровнем конфиденциальности к сущностям или ролям с низким уровнем конфиденциальности осуществляют без использования правил преобразования состояний системы delete_access(x, y, α) и remove_rights(x, r, y, α) («немонотонных» правил, применение которых приводит к удалению из состояния его элементов - доступов субъектов к сущностям или прав доступа ролей), так как наличие этих правил не добавляет дополнительных возможностей по созданию запрещенных информационных потоков. Обоснование осуществляют от противного, предполагая возможность реализации запрещенного информационного потока по времени в результате применения к начальному состоянию системы G=(PA, А, F) некоторой последовательности «де-юре» или «де-факто» правил преобразования состояний, используя при этом математическую индукцию по длине этой последовательности.
Таким образом, при применении описанного способа в защищенной информационной системе реализуют единый механизм мандатного и ролевого управления доступом, и в результате предотвращают возможность использования субъектами-нарушителями параметров ролей для создания запрещенных информационных потоков по памяти или по времени от сущностей с высоким уровнем конфиденциальности к сущностям с низким уровнем конфиденциальности информации.