Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800302

.pdf
Скачиваний:
31
Добавлен:
01.05.2022
Размер:
1.42 Mб
Скачать

Задание 2. Проверьте, истинен ли предикат can_share , x, y,G0 для графа доступов G0 на рис. 17.

Решение задачи должно быть получено путем проверки выполнения условий теоремы 2.

G0

g

t

t

 

t

t

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

t

 

 

 

 

 

 

 

 

 

g

t

g

 

 

 

t

t

t

 

 

x

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 17. Граф к заданию 2

 

 

 

 

Решение. Введем обозначения для объектов и

субъектов графа доступов G0

S0 ,O0 , E0 .

 

 

 

 

Существует субъект s

s'

S0 такой, что верно условие

si , y,

E0 , следовательно, условие 1 теоремы 2 выполнено.

Так как s

является субъектом,

и существует субъект

x' S

0

 

 

 

 

 

 

 

 

 

такой, что он соединен с объектом х начальным пролетом моста, то условие 2 теоремы 2 выполнено.

 

 

Выделим

 

 

 

в

 

 

 

 

графе

 

G0

острова

I

1

x' , s

, I

2

s

2

, I

3

s , s

4

, I

3

s , s , s .

Каждая

пара

 

1

 

 

 

3

 

 

5

6

 

 

 

соседних

островов

 

соединена мостом: I1

и I2

соединены

мостом, проходящим через вершины

s1, o2 , o3 , s2 ; I2

и I3

соединены

 

мостом,

проходящим

через

вершины

s2 , o4 , o5 , s3; I1 и

 

I2

 

соединены

мостом, проходящим

через

вершины s4 , o6 , s5

(рис. 18). Следовательно, условие 3 теоремы

2 выполнено.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

29

G0 O2 g Мост

I

2

Мост

 

 

 

I3

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

S4

 

 

 

O3

 

 

O

O

 

 

 

 

 

t

 

S

2

 

S3

g

 

 

 

 

 

4

5

 

 

 

 

 

 

 

 

 

 

 

 

 

S

1

 

 

 

 

 

 

 

O6

Мост

 

 

 

 

 

 

 

 

 

 

 

 

I1

g

t

g

 

 

 

 

 

I 4

t

 

 

 

 

 

 

 

 

 

t

tS6

S

 

 

 

 

 

 

 

 

 

 

5

 

 

 

O

 

 

 

 

 

S6

 

 

 

 

 

 

 

 

 

'

 

 

 

 

 

 

1

 

 

S

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 18. Граф, илюстрирующий решение задания 2

 

 

 

Таким образом, выполнены все условия теоремы 2, и

предикат can_share

, x, y,G0 является истинным.

 

 

 

Задание 3. Пусть в графе доступов G0 субъекты s1 и s2

соединены некоторым путем (рис. 19) и известно, что существует последовательность правил преобразования графа доступов G0 , в результате применения которой с

использованием рассматриваемого пути субъект si получает право доступа к объекту o2 . Можно ли доказать, что тогда существует последовательность правил преобразования графа доступов G0 , в результате применения которой субъект s2 может получить право доступа к объекту o1 ? При решении задачи не следует использовать утверждения теорем 1 и 2.

G0

Путь

 

O

S1 S2

O

1

 

2

Рис. 19. Граф к заданию 3

30

 

Решение.

 

 

Пусть

 

 

существуют

 

 

графы

G1,...,GN

SN ,ON , EN

и правила op1,...,opN

 

(использующие ребра

пути,

соединяющего

субъектов

 

s1

 

и

 

s2 )

такие,

что

G0

op G1

op

op

GN и

x, y,

 

EN ,

 

 

где

N

 

1.

Пусть

 

1

2

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

op create

t, g , s2 , o3

,

заменим

в

последовательности

правил

преобразования состояний op1,...,opN

объект o2

на объект o3 , право

доступа

на

право доступа

g (рис. 20), получим

последовательности правил преобразования состояний

op' ,...,op' .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

N

Тогда положим G0

op

G1'

op'

G1'

op'

 

'

GN'

1

SN'

1,ON'

1, EN'

1 .

 

 

 

 

 

1

 

 

2

 

op

N

 

 

 

 

 

 

 

 

При этом выполняется условие

s , o , g

 

E'

.

 

 

 

 

 

 

 

 

 

 

 

1

3

 

 

N 1

 

 

 

 

 

 

 

 

 

 

 

O3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'

 

 

g

t,g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GN 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O

 

S1

Путь S2

O2

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 20. Граф, илюстрирующий решение задания 3

 

 

Следовательно, существует последовательность правил

преобразования графа

доступов G0 , в результате применения

которой субъект s2 может получить право доступа

 

к объекту o1 .

 

Задачи для самостоятельного решения

 

 

1.

Являются ли мостами графы доступов на рис. 21.

 

 

 

 

 

 

 

 

 

t,g

 

 

 

 

 

 

 

 

 

 

 

 

t,g

 

t,g

 

 

 

t

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

t

 

t

 

t

t

 

t

t

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

б

 

 

 

в

 

 

 

 

 

 

 

 

г

 

 

Рис. 21. Граф к задаче для самостоятельного решения

31

Практическое занятие № 4 Управление распространением прав доступа на основе

расширенной модели Take-Grant

Теоретические положения

Направления развития модели Take-Grant Рассмотренные в классической модели Take-Grant способы анализа путей распространения прав доступа в системах с дискреционным управлением доступом имеют в большей степени теоретическое значение, так как, как: правило, в реальных КС не реализуются столь сложные графы доступов, для анализа которых необходимо использовать теоремы 1 и 2 предыдущего занятия. В то же время на основе классической модели были разработаны ее расширения [9], которые развивают идеи классической модели, предлагая новые механизмы анализа, в большей степени применимые к современным системам защиты информации. Рассмотрим два расширения модели.

1.Де-факто правила, предназначенные для поиска и анализа информационных потоков.

2.Алгоритм построения замыкания графа доступов и информационных потоков.

Де-факто правила расширенной модели Take-Grant

Вместо прав доступа take и grant в расширенной модели в первую очередь рассматриваются права доступа read и write, наличие которых у субъектов системы является причиной возникновения информационных потоков.

Расширенная модель Take-Grant строится на основе

классической модели.

Ее основными элементами являются: О

множество

объектов; S O — множество субъектов;

R r1, r2 ,...,rm

t, g

r, w —множество видов прав доступа

и видов информационных потоков, где r (read) — право на

32

op G' .
E O O R
G S,O, E

чтение или информационный поток на чтение, w (write) — право на запись или информационный поток на запись; F — конечный помеченный ориентированный

без петель граф доступов и информационных потоков, описывающий состояние системы. Элементы множеств S, О являются вершинами графа. Элементы множества являются «реальными» ребрами графа, соответствующими правам доступа, и в графе доступов

обозначаются сплошными линиями. Элементы

множества

E O O r, w

являются

«мнимыми»

ребрами,

соответствующими информационным потокам, и в графе доступов обозначаются пунктирными линиями. Каждое «реальное» ребро помечено непустым подмножеством множества видов прав доступа R, каждое «мнимое» Ребро помечено непустым подмножеством множества {r,w}.

Порядок перехода системы расширенной модели TakeGrant из состояния в состояние определяется де-юре и дефакто правилами преобразования графа доступов и информационных потоков. Преобразование графа G в граф G' в результате выполнения правила обозначим следующим

образом: G

Определение де-юре правил take, grant, create, remove

совпадает с определением этих правил в классической модели Take-Grant. Де-юре правила применяются только к «реальным» ребрам (элементам множества Е).

Де-факто правила применяются к «реальным» или «мнимым» ребрам (элементам множества E F ), помеченным r или w. Результатом применения де-факто правил является добавление новых «мнимых» ребер во множество F. Рассматриваются шесть де-факто правил: два вспомогательных и четыре основных.

Рассмотрим порядок применения де-юре правил преобразования графа доступов. В отличие от де-юре правил, для применения трех из шести де-факто правил требуется участие двух субъектов (рис. 22-27).

33

 

 

 

 

 

 

w

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

G

'

 

G

r

 

G

'

 

 

 

G

r

 

r

 

 

 

r

 

 

 

x

x

 

y 1 x

 

 

y

 

x

y

 

1

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

Рис. 22. Применение первого де-факто правила

 

 

 

 

 

r

 

 

 

 

 

 

G'

 

r

G w

 

G

'

 

 

 

G

 

 

 

 

 

 

 

 

 

 

 

w

 

 

x

 

w

x

y

2 x

 

 

w

y

x

 

 

y

2

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

Рис. 23. Применение второго де-факто правила

G

 

 

 

 

 

 

 

 

G'

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

y

 

r

 

r

 

 

 

 

 

x

 

r

 

r

 

 

 

spy(x, y, z)

 

 

 

x

 

y

 

 

z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 24. Применение правила spy(x, y, z)

G

 

 

 

G'

 

w

 

 

 

y

 

w

 

w

x

w

w

 

 

 

 

 

 

x

y

z

find(x, y, z)

 

r

z

 

 

 

 

 

 

 

 

Рис. 25. Применение правила find (x, y, z)

G

 

 

 

G'

 

r

 

 

 

 

 

z w

 

r

w

 

post(x, y, z)

x

r

z

x

z

y

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

Рис. 26. Применение правила post(x, y, z)

G

 

 

 

G'

 

r

 

 

 

 

 

y r

 

w

r

 

pass(x, y, z)

y

w

z

y

x

z

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

Рис. 27. Применение правила pass(x, y, z)

34

Условия применения де-факто правил в исходном состоянии G S,O, E F и результаты их применения в резуль-

тирующем состоянии G' S,O, E F ' приведены в табл. 4.

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

Таблица 4 Де-факто правила расширенной модели Take-Grant

Правило

 

Исходное состояние

 

 

 

 

Результирующее

 

 

G

S,O, E

F

 

 

 

 

 

 

состояние

 

 

 

 

 

 

 

 

 

 

 

 

 

G'

S, O, E

F '

Первое

x

S; y

O;

x, y, r

E

 

F

 

F

'

F

y, x, w , x, y, r

правило

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Второе

x

S; y

O;

x, y, w

E

 

F

 

F

'

F

y, x, r , x, y, w

правило

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

spy(x,y,z)

x, y

S; x

x;

x, y, r ,

y, z, r

 

F

'

F

x, z, r , z, x, w

 

 

 

 

 

 

 

 

 

 

 

 

E F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

find(x,y,z)

x, y

S; z

O; x

z;

x, y, w ,

y, z, w

 

F '

F

x, z, w ,

z, x, r

 

E

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

post(x,y,z)

x, y

S; z

O; x

y;

x, y, r ,

y, z, w

 

F '

F

x, z, r ,

y, x, w

 

E

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pass(x,y,z)

x, y S; z O; y z;

 

 

 

 

F

'

F

y, z, r ,

z, y, w

 

 

 

 

 

 

 

 

 

 

x, y, w , x, z, r

E F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Определение 1. Пусть

x, y O0 , x

 

y, х, — различные

объекты

графа

доступов

и

информационных потоков

G0 S0 ,O0 , E0

F0

. Определим предикат can _ write x, y,G0 ,

35

который будет истинным тогда и

только

тогда, когда

существуют

 

 

 

 

 

 

 

 

 

 

 

 

 

 

графы

G1

S1,O1, E1

F1 ,...,GN

SN ,ON , EN

 

FN ,

и де-юре или де-

факто

правила

op1,...,opN ,

где

 

N

0 ,

 

такие,

 

что

G0

op

G1

op

op GN и x, y, w FN .

 

 

 

 

 

 

 

1

 

2

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для

 

проверки

 

 

истинности

 

 

предиката

can _ write x, y,G0

, также следует определить необходимые и

достаточные

условия,

 

задача

 

проверки

которых

алгоритмически разрешима.

 

 

 

 

 

 

 

 

 

 

 

 

Теорема 1.

Пусть G0

 

S0 ,O0 , E0

F0

граф доступов и

информационных потоков,

x, y

O0 , x

y .

Тогда предикат

can _ write x, y,G0

истинен тогда и только тогда, когда

существуют объекты o1,...,om

 

O0 , где

o1

x, om

y ,

такие,

что

или

т

=

2

и

 

x, y, w

F0 ,

или

для

 

i

1,...,m 1

выполняется одно из условий:

 

 

 

 

 

 

 

 

 

 

 

 

oi

S0

 

и

 

или

 

истинен

 

 

предикат

 

 

can _ share

w , oi , oi 1,G0

, или

oi , oi 1, w

 

E0

F0 ;

 

 

 

oi 1

S0

 

 

и

 

 

или

истинен

 

 

предикат

 

 

can _ share

r , oi 1, oi ,G0

, или oi , oi 1, r

E0

F0 ;

 

 

 

 

oi , oi 1

S0

и

 

 

или

 

 

истинен

 

 

предикат

 

 

can _ share

, oi , oi

1,G0 ,

или

истинен

предикат

 

 

can _ share

, oi 1, oi ,G0

,

где

 

t, g , или существует

 

объект

o'

O такой,

что либо

истинны

предикаты

 

 

 

 

i

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

can _ share t , o , o'

,G

,

can _ share g , o

 

, o'

,G

,

либо

 

 

 

 

 

 

i

i

0

 

 

 

 

 

i 1

i

0

 

 

 

истинны

 

предикаты

 

can _ share

 

g , o , o'

,G ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

0

 

 

can _ share t , o

, o'

,G .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

i

0

 

 

 

 

 

 

 

 

 

 

 

36

S,O, E

Построение замыкания графа доступов и информационных потоков

Для

проверки

истинности

предиката

can_share(

,x,y,Go) или can_write(,x,y,Go) для

многих пар

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

Определение 2. Пусть G F — граф доступов и информационных потоков такой, что для каждого

субъекта s S существует

объект

o

O

такой, что

выполняется условие s, o, t, g, r, w

E . Тогда замыканием

(или де-факто-замыканием) графа G называется граф доступов

и информационных потоков G*

S,O, E*

F*

, полученный

из G применением последовательности правил take, grant и дефакто правил. При этом применение к графу G* указанных правил не приводит к появлению в нем новых ребер.

Алгоритм построения замыкания графа доступов состоит из трех этапов: построение tg-замыкания; построение де-юре- замыкания; построение замыкания.

Определение 3. Пусть G S,O, E F граф доступов и информационных потоков такой, что для каждого

субъекта s

S

существует

объект

o O такой, что

выполняется

условие

s, o, t, g, r, w

E . Тогда tg-

замыканием графа G называется граф доступов и

информационных

потоков

Gtg

S,O, Etg

F , полученный

из G применением последовательности правил take или grant.

При этом каждое ребро o , o ,

Etg \ E

имеет вид o , o ,t

 

1

2

 

1

2

или o , o , g , и применение к графу Gtg правил take

или

1

2

 

 

 

 

37

S,O, E

grant не приводит к появлению в нем новых ребер указанного вида.

Определение 4. Пусть G S,O, E F граф доступов и информационных потоков такой, что для каждого

субъекта s

S существует

объект

 

o O такой,

что

выполняется

условие

s, o, t, g, r, w

E.

Тогда де-юре-

замыканием

графа G называется граф доступов и

информационных

потоков

Gде-юре

S,O, Eде-юре

F ,

полученный из G применением последовательности правил

take или grant. При этом применение к графу G де-юре правил take или grant не приводит к появлению в нем новых ребер.

Алгоритм 1.

Алгоритм построения tg-замыкания графа доступов и информационных потоков G F состоит из пяти шагов.

Шаг 1.

Для каждого s S

выполнить

правило

create t, g, r, w

при этом создаваемые объекты занести

во

множество О, создаваемые ребра занести во множество Е.

 

Шаг 2. Инициализировать: L

x, y,

E,

t, g

список ребер графа доступов и информационных потоков и

N

— множество вершин.

 

 

 

 

 

 

Шаг 3. Выбрать из списка L

первое ребро

x, y, .

Занести х и y во множество N. Удалить ребро

x, y, из списка L.

 

Шаг 4. Для всех вершин z

N проверить возможность

применения правил take или grant на тройке вершин

x, y, z с

использованием ребра x, y,

, выбранного на шаге 3. Если в

результате применения

правил take

или grant

появляются

новые

ребра вида a,b,

,

где

a,b

x, y, z

и

t, g ,

занести их в конец списка L и множество E

Шаг 5. Пока список L не пуст, перейти на шаг 3.

38