МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
МЕТОДЫ ПРЕДОТВРАЩЕНИЯ РЕАЛИЗАЦИИ ЗАПРЕЩЕННЫХ ИНФОРМАЦИОННЫХ ПОТОКОВ В КОМПЬЮТЕРНЫХ СИСТЕМАХ С ДИСКРЕЦИОННЫМ УПРАВЛЕНИЕМ ДОСТУПОМ
П.Н. ДЕВЯНИН, Институт криптографии, средств связи и информатики
В статье рассматриваются информационные потоки по памяти и по времени [2, 5], возникающие в компьютерных системах (КС) в результате реализации субъектами доступов к сущностям. В соответствии с априорно заданной в КС политикой безопасности некоторые информационные потоки могут являться запрещенными, например, информационный поток по времени от сущности с большей ценностью к сущности с меньшей ценностью или информационный поток по памяти от недоверенного субъекта КС к сущности, функционально ассоциированной с доверенным субъектом [4].
Для анализа условий возможности реализации в КС запрещенных информационных потоков по памяти и по времени целесообразно применить семейство формальных моделей безопасности управления доступом и информационными потоками в КС (далее, сокращенно, ДП-моделей), описанных в [1]. В основе ДП-моделей использованы формальные модели [2-5]: модель Take-Grant, модель Белла-ЛаПадула, модель систем военных сообщений, субъектно-ориентированная модель изолированной программной среды. При этом в ДП-моделях учтены ряд особенностей функционирования современных КС, в том числе возможность кооперации части субъектов при передаче прав доступа и реализации информационных потоков, возможность реализации в КС доверенных и недоверенных субъектов с различными условиями функционирования, возможность противодействия доверенными субъектами КС передаче прав доступа или реализации информационных потоков недоверенными субъектами, различие условий реализации в КС информационных потоков по памяти и по времени, наличие в современных КС иерархической структуры сущностей и возможность ее использования при реализации информационных потоков по времени, возможность изменения функциональности субъекта при реализации информационного потока по памяти на функционально ассоциированные с ним сущности, необходимость в ряде случаев определения различных правил управления доступом и информационными потоками для распределенных компонент КС.
При описании каждой ДП-модели используется классических подход, состоящий в том, что моделируемая КС представляется абстрактной системой, каждое состояние которой представляется графом доступов, каждый переход системы из состояния в состояние осуществляется в результате применения одного из правил преобразования состояния. При этом основой всех ДП-моделей является базовая ДП-модель, в которой используются следующие обозначения и определения:
E = O u C - множество сущностей, где O - множество объектов;
C - множество контейнеров и O n C = 0;
S с E - множество субъектов;
Rr = {read write append execute own} - множество видов прав доступа;
Ra = [reada, write append} - множество видов доступа;
Rf = {writem, write} - множество видов информационных потоков,
где writem - информационный поток по памяти на запись в сущность;
write - информационный поток по времени на запись в сущность;
R = R u R u R, - множество видов прав
raj r a f '—i r
доступа, видов доступа и видов информационных потоков, при этом множества Rr, Ra, Rf попарно не пересекаются.
Определение 1
Иерархией сущностей называется заданное на множестве сущностей E отношение частичного порядка «<» (то есть отношение, обладающее свойствами рефлексивности, антисимметричности и транзитивности), удовлетворяющее условию: если для сущности e е E существуют сущности e e2 е E такие, что e < e2, e < e1, то или e1 < e2, или e2 < e1.
В случае, когда для двух сущностей e e2 е E выполняются условия e1 < е2 и е1 Ф e будем говорить, что сущность et содержится в сущности-контейнере e и будем использовать обозначение: e1 < e2.
Определение 2
Определим H: E ^ 2Е — функцию иерархии сущностей, сопоставляющую каждой сущ-
ЛЕСНОЙ ВЕСТНИК 1/2007
143
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
ности c е E множество сущностей H(c) с E, удовлетворяющее условиям:
Условие 1. Если сущность e е H(c), то e < c, и не существует сущности-контейнера d е C такой, что e < d, d < c.
Условие 2. Для любых сущностей e e2 е E, et Ф e2 по определению выполняются равенство H(e) п H(e2) = 0 и условия:
- если о е O, то выполняется равенство H(o) = 0,
- если e1 < e2, то или e1, e2 е E / S, или
e1, e2 е S,
- если e е E / S, то H(e) с E / S,
- если 5 е S, то H(s) с S.
Определение 3
Пусть определены множества S, E, R с S х х E х R , A с S х E х R , F с E х E х R F с E х E х R и функция иерархии сущностей H. Определим G = (S, E, R u A u F, H) - конечный помеченный ориентированный граф, без петель, где элементы множеств S, E являются вершинами графа, элементы множества R u A u F являются ребрами графа. Назовем G = (S, E, R u A u F, H) графом прав доступа, доступов и информационных потоков или сокращенно графом доступов.
Используем также обозначения:
E(G*, OP) - система, при этом:
- каждое состояние системы представляется графом доступов;
- G* - множество всех возможных состояний;
- OP - множество правил преобразования состояний.
G A op G’ - переход системы E(G*, OP) из состояния G в состояние G ’ с использованием правила преобразования состояний op е OP.
Если для системы E(G*, OP) определено начальное состояние, то будем использовать обозначение:
E(G*, OP, G0) - система E(G*, OP) с начальным состоянием G
В базовой ДП-модели определены 16 правил преобразования состояний из множества OP: take_right(a x, y, z), grant_right(ax, y, z), remove_ right(a, x, y, z), own_take(ar, x, y), own_remove(ar, x, y), create_entity(x, y, z), create_subject(x, y, z), rename_entity(x, y, z), delete_entity(x, y, z), access_ read(x, y), access_write(x, y), access_append(x, y), flow(x, y, y’, z), find(x, y, z),post(x, y, z),paxy(x, y, z).
Применение ДП-моделей позволяет осуществить теоретический анализ условий передачи
прав доступа и реализации информационных потоков в КС и разработать методы предотвращения возможности реализации в КС запрещенных информационных потоков по памяти и по времени.
Опишем (с сокращениями) метод предотвращения возможности реализации запрещенных информационных потоков по времени с использованием блокирующих доступов доверенных субъектов [1]. Для этого применим ДП-модель с блокирующими доступами доверенных и будем считать, что если между двумя сущностями КС реализуется информационный поток по памяти, то в том же направлении между ними реализуется информационный поток по времени. Описание метода включает условие применения метода и последовательность из пяти шагов, определяющих действия в системе E(G*, OP, G0), которые необходимо осуществить при применении метода.
Метод 1
Условие применения метода. Пусть определена система E(G*, OP, G0) с начальным состоянием G0 = (S0, E0, R0 u A0 u F0, H0) и определены множества доверенных субъектов L недоверенных субъектов NS и запрещенных информационных потоков по времени N
Шаг 1. Создать в системе доверенного субъекта и е LS п S0, который будет реализовывать блокирующие доступы. Для начального состояния системы описать множество блокирующих доступов доверенных субъектов A включив в него доступы доверенных субъектов к сущностям, которые они реализуют для обеспечения выполнения своих функций в системе. Используя множество блокирующих доступов, определить новую функцию иерархии сущностей HB0 и состояние G0 = (S0, E0, R0 u A0 u F0, HB0). Задать состояние G’0 = (S’0, E’0, R’0 u A’0 u F’0, H’b0) путем удаления из состояния G0 всех вершин, ребер, отношений иерархии, элементами которых являются доверенные субъекты.
Шаг 2. Для каждого запрещенного информационного потока по времени (x, y, write) е NB где x и y — недоверенные субъекты, с использованием БД ДП-модели проверим возможность его реализации. Если реализация информационного потока возможна, то выполнить шаг 3. В противном случае удалить запрещенный информационный поток по времени (x, y, write) из множества NBf. Если множество NBf пусто, то закончить реализацию метода.
144
ЛЕСНОЙ ВЕСТНИК 1/2007
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
Шаг 3. С использованием БД ДП-модели определить вид информационного потока от x к у. Если информационный поток по памяти, то выполнить шаг 4. Если информационный поток по времени, то выполнить шаг 5.
Шаг 4. Для реализации информационного потока по памяти от x к у, необходимо, чтобы их в G’o соединял путь специального вида, проходящий через вершины сущности, и ребра на пути должны быть помечены правами доступа вида read, write append, own, Для предотвращения возможности реализации информационного потока по памяти от x к у следует «разомкнуть» путь, их соединяющий, удалив любое ребро на пути, тем самым лишив одного из субъектов на пути права доступа к сущности. Далее перейти на шаг 2.
Шаг 5. В рамках БК ДП-модели обосновывается, что если от субъекта x к субъекту у может возникнуть информационный поток по времени и не может возникнуть информационный поток по памяти, то в G’0 должна существовать сущность e е E’o такая, что реализация к ней блокирующего доступа позволяет предотвратить возможность возникновения с ее использованием любого информационного потока по времени. Таким образом, на шаге 5 следует реализовать блокирующий доступ субъекта и к сущности e (например, использовав правило access_read(u, e)). Далее перейти на шаг 2.
Теорема 1
Пусть Go = (S0, Eo, Ro u ^o u Fo, - на-
чальное состояние системы E(G* OP, Go). Пусть определены множества доверенных субъектов L недоверенных субъектов NS и запрещенных информационных потоков N Тогда в результате применения в системе метода 1 невозможна реализация ни одного из запрещенных информационных потоков по времени из N
Следующие три метода позволяют для различных условий функционирования КС предотвратить возможность реализации недоверенным субъектом информационного потока по памяти к сущности, функционально ассоциированной с доверенным субъектом, и таким образом предотвратить возможность получения права доступа владения к доверенному субъекту.
Опишем метод предотвращения возможности получения права доступа владения недоверенным субъектом к доверенному субъекту с использованием реализации информационного потока по памяти к сущности, функционально ассоциированной с доверенным субъектом. Для
этого применим Д11-модель с функционально ассоциированными с субъектами сущностями и используем обозначения:
[5] с E - множество всех сущностей, функционально ассоциированных с субъектом s;
y(E) с E - множество сущностей, относительно которых в состоянии G = (S, E, R u A u F, H) корректен доверенный субъект у.
Описание метода включает условие применения метода и последовательность из пяти шагов, определяющих действия в системе E(G*, OP, Go), которые необходимо осуществить при применении метода.
Метод 2
Условие применения метода. Пусть определена система E(G*, OP, Go) с начальным состоянием Go = (So, Eo, Ro u Ao u Fo, Ho) и определены множества доверенных субъектов LS и недоверенных субъектов NS.
Шаг 1. Рассмотреть множество прав доступа Ro и исключить из него права доступа владения недоверенных субъектов к доверенным субъектам.
Шаг 2. Рассмотрев реализацию каждого доверенного субъекта у е L n S описать множество функционально ассоциированных с ним сущностей [у].
Шаг 3. Для каждого доверенного субъекта у е LS n So исключить недоверенные субъекты из множества функционально ассоциированных с ними сущностей [у], для чего, если потребуется, изменить реализацию доверенного субъекта. При этом при изменении реализации доверенного субъекта у во множество [у] не должны войти новые недоверенные субъекты.
Шаг 4. Для каждого доверенного субъекта у е L n So рассмотреть множество функционально ассоциированных с ним сущностей [у]. При этом из множества прав доступа Ro удалить права доступа own, write, appendr недоверенных субъектов к сущностям из множества [у].
Шаг 5. Для каждого доверенного субъекта у е LS n So:
- используя ФАС Д11-модель, описать множество сущностей у(ЕД относительно которых корректен субъект у в состоянии Go;
- рассмотреть каждый недоверенный субъект х е NS n S не входящий во множество сущностей у(Е(). Если потребуется, изменив реализацию доверенного субъекта у, обеспечить его корректность относительно недоверенного субъекта х, после чего добавить субъект х во мно-
ЛЕСНОЙ ВЕСТНИК 1/2oo7
145
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
жество y(E0). При этом при изменении реализации доверенного субъекта у во множество y(Eo) не должны войти новые недоверенные субъекты, относительно которых некорректен субъект у;
- рассмотреть каждую сущность e е Eo, которая не входит во множество сущностей y(E0) и к которой право доступа ar е {own write appendr} имеет хотя бы один недоверенный субъект х е NS n S Либо удалить право доступа ar у субъекта x к сущности е, либо, изменив реализацию доверенного субъекта у, обеспечить его корректность относительно сущности е, после чего добавить сущность е во множество y(E0). При этом при изменении реализации у во множество y(E0) не должны войти новые сущности, относительно которых некорректен субъект у.
Теорема 2
Пусть Go = (So, Eo, Ro u A0 u Fo, - на-
чальное состояние системы 1,(0*, OP, Go), в котором ^o = Fo = 0. В результате применения метода 2 для каждого недоверенного субъекта x е NS n So и доверенного субъекта у е LS n So невозможно получение недоверенным субъектом х права доступа владения ownr к доверенному субъекту у.
Опишем метод, позволяющий обеспечить выполнение в системе 1(0*, OP, Go) достаточных условий для реализации в ней политики безопасного администрирования [1]. Для этого применим ДП-модель КС, реализующих политику безопасного администрирования, и используем следующие обозначения:
EC с E - подмножество сущностей-контейнеров, каждый элемент которого является компьютером системы;
ECE: EC ^ 2E - функция, определяющая множество сущностей, размещенных на компьютере, при этом для каждого компьютера c е EC выполняется условие
ECE(c) = {c} u {e е E / EC: e < c};
SC: EC ^ 2s - функция, определяющая для каждого компьютера множество его доверенных пользователей.
Описание метода включает условие применения метода и последовательность из четырех шагов, определяющих действия в системе 1(0*, OP, Go), которые необходимо осуществить при применении метода.
Метод 3
Условие применения метода. Пусть определена система 1(0*, OP, Go) с начальным состоянием Go = (So, Eo, Ro u ^o u Fo, Ho).
Шаг 1. Рассматривается каждый компьютер системы c1 е EC. Для компьютера с1 определяется множество доверенных пользователей LS = {5 е So: 5 е SC(c’), где c1 < c’}.
Шаг 2. Если для компьютера c1 найдется компьютер c е EC, такой, что c < c1, то из множества Ro у недоверенных пользователей компьютера c1 удаляются права доступа вида ownr, writer, appendr к размещенным на нем сущностям e е Eo: e е ECE(c1). Также недоверенному пользователю запрещается активизация процессов от своего имени на компьютере c1.
Шаг 3. Если для компьютера c1 найдется компьютер c е EC, такой, что c < c то доверенные пользователи компьютера c1 реализуются функционально корректными. Реализация доверенных пользователей должна исключать возможность активизации ими процессов от своего имени на компьютерах, подчиненных в иерархии компьютеру c.
Шаг 4. Каждый доверенный пользователь компьютера c1 реализуется таким образом, чтобы была исключена возможность его обращения путем получения доступа reada к сущностям e е Eo, размещенным на компьютерах, на которых разрешено размещение ресурсов пользователями, не являющимися функционально ассоциированными с доверенным пользователем.
Теорема 3
Пусть Go = (So, Eo, Ro u ^o u F0, И) - начальное состояние системы 1(0*, OP, Go), в котором ^o = Fo = 0. Применение в системе метода 3 позволяет реализовать политику безопасного администрирования.
Опишем метод, позволяющий обеспечить выполнение в системе 1(0*, OP) достаточных условий для реализации в ней политики абсолютного разделения административных и пользовательских полномочий. Для этого применим ДП-модель КС, реализующих политику абсолютного разделения административных и пользовательских полномочий.
Описание метода включает условие применения метода и последовательность из шести шагов, определяющих действия в системе 1(0*, OP), которые необходимо осуществить при применении метода.
Метод 4
Условие применения метода. Пусть определена система 1(0*, OP).
Шаг 1. Применить метод 3 реализации в системе 1(0*, OP) политики безопасного администрирования.
146
ЛЕСНОЙ ВЕСТНИК 1/2oo7