Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




 

 

Рассмотрим по ряд примеров программ, представленных на некотором абстрактном языке программирования высокого уровня, иллюстрирующих трудности практической реализации механизма безопасности информационных потоков в системах мандатного управления доступом.

Пример 6.2. Запрещенные информационные потоки по памяти с использованием локальных и логических переменных.

Используем обозначения:

f 1¾ объект-файл с уровнем конфиденциальности High, который может содержать запись «А» или запись «В»;

f 2¾ объект-файл с уровнем конфиденциальности Low < High;

Приведенные ниже процедуры реализуют запрещенные информационные потоки по памяти через локальную переменную (процедура p 1) и логическую переменную (процедура p 2).

 

Procedure p 1(f 1: file, f 2: file)

Open f 1 for read;

Read A from f 1;

Close f 1;

Open f 2 for write;

Write A to f 2;

Close f 2;

End.

 

Procedure p 2(f 1: file, f 2: file)

Open f 1 for read;

If (f 1 = «a») Then

Close f 1;

Open f 2 for write;

Write «a» to f 2;

Else

Close f 1;

Open f 2 for write;

Write «b» to F 2;

End If;

Close f 2;

End.

 

Анализируя процедуры p 1и p 2, можно предложить следующий простой способ предотвращения реализуемых ими запрещенных информационных потоков. Процесс, единожды получивший доступ на чтение к файлу с некоторым уровнем конфиденциальности, не должен получать доступ на запись к файлам с более низким уровнем конфиденциальности. Такое решение может быть применено для пользовательских процессов в ОС. Однако оно не может быть признано универсальным, так как системные процессы, например, монитор ссылок, при мандатном управлении доступом должны одновременно оперировать с данными различных уровней конфиденциальности.

Другой путь ¾ инициализация каждой переменной процесса как объекта доступа, также не может являться оптимальным.

Для предотвращения запрещенных информационных потоков через локальные или логические переменные при написании программ в тех случаях, когда это возможно, следует следовать рекомендациям:

- открывать все файлы, необходимые для работы программы в начале ее выполнения;

- закрывать все файлы в конце выполнения программы;

- непосредственную обработку информации из открытых файлов осуществлять во внутренних процедурах, использующих только локальные переменные. ■

Пример 6.3. Реализация запрещенного информационного потока по времени.

Используем обозначения:

f 1¾ объект-файл с уровнем конфиденциальности High, который может содержать запись «а» или запись «в»;

f 2¾ объект-файл с уровнем конфиденциальности Low < High;

s 1¾ субъект с высоким уровнем доступа High, работающий по программе:

 

Process s 1(F 1: file)

Open F 1 for read;

While F 1 = «A» Do End;

Close F 1;

End.

s 2¾ субъект-нарушитель с низким уровнем доступа Low, работающий по программе:

Process s 2(f 1: file, f 2: file)

Open f 2 for write;

If (Stop s 1) Then

Write «В» to f 2;

Else

Write «A» to f 2;

End If

Close f 2;

End;

Предполагается, что выполняются следующие условия:

fo (f 1) = High;

fo (f 2) = Low;

fs (s 1) = fs (s 2) = High;

fc (s 1) = High;

fc (s 2) = Low.

Субъект-нарушитель s 2 действует одновременно с субъектом s 1, проверяя его состояние. При этом в зависимости от результата работы с конфиденциальным объектом-файлом f 1 субъекта s 1, которыйлибо сразу завершит работу, либо «зависнет», субъект s 2 записывает данные в объект-файл f 2 с низким уровнем конфиденциальности (рис. 6.3).

 

 

Для предотвращения запрещенных информационных потоков по времени данного вида можно потребовать запрета получения процессами-субъектами низкого уровня доступа к информации о результатах работы процессов-субъектов высокого уровня доступа. В то же время такое решение не всегда возможно на практике. Кроме того, возможны иные способы реализации запрещенных информационных потоков по времени, для которых это решение неэффективно. Так большинство современных ОС позволяют при открытии процессом файла определять параметры совместного с другими процессами его использования. Например, если процесс открывает файл на чтение, то он может разрешить или запретить другим процессам одновременное чтение этого файла. Системная переменная ОС, применяемая для определения условий совместного использования файла, может быть использована для реализации запрещенных информационных потоков по времени. ■

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

 

Безопасность переходов

Как уже было отмечено, в классической модели Белла-ЛаПадулы не описывается точный порядок действий системы при переходе из состояния в состояние. Частично этот недостаток был устранен в, где предлагается оригинальное определение свойств безопасности модели Белла-ЛаПадулы с использованием вместо множества действий системы функции переходов.

При рассмотрении этого подхода будем считать R = { read, write } и для каждого s Î S справедливо равентсво fs (s) = fс (s). Исключим из рассмотрения матрицу доступов m и множество ответов системы D. Вместо множества действий системы W используем функцию переходов:

T: Q ´ V ® V, где T (q, v) = v* ¾ переход из состояния v по команде q в состояние v*.

В этом случае будем обозначать систему через S(V, T, z 0).

Далее переопределим ss -свойство и *-свойство. Так как основные ограничения на доступ write следуют из *-свойства, то в ss -свойстве зададим ограничения только на read.

Определение 6.22. Доступ (s, o, r) Î b обладает ss -свойством относительно f, если выполняется одно из условий:

- r = write;

- r = read и fs (s) ≥ fo (o).

Определение 6.23. Доступ (s, x, r) Î b обладает *-свойством относительно f, если выполняется одно из условий:

- r = read и не существует y Î O: (s, y, write) Î b и fo (x) > fo (y);

- r = write и не существует y Î O: (s, y, read) Î b и fo (y) > fo (x).

Заметим особо, что в *- свойстве не рассматривается уровень доступа субъекта посредника s. В этом нет необходимости, так как, если требовать выполнения *-свойства и ss -свойства одновременно и считать, что субъект не может накапливать в себе информацию, то не возникает противоречий по существу с положениями мандатной политики безопасности.

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

По аналогии со свойствами классической модели Белла-ЛаПадулы определяются ss -свойства и *-свойства для состояния, реализации и системы в целом.

Теорема 6.7 ( А 1- RW). Система S(V, T, z 0) обладает ss -свойством для любого начального состояния z 0, обладающего ss -свойством, тогда и только тогда, когда функция переходов Т (q, v) = v* удовлетворяет условиям 1 и 2.

Условие 1. Если доступ (s, o, read) Î b * \ b, то fs *(s) ≥ fo *(o).

Условие 2. Если доступ (s, o, read) Î b и fs *(s) < fo *(o), то (s, o, read) Ï b *.

Доказательство. Доказательство осуществляется аналогично доказательству теоремы6.1. ■

Теорема 6.8 ( А 2- RW). Система S(V, T, z 0) обладает *-свойством для любого начального состояния z 0, обладающего * -свойством, тогда и только тогда, когда функция переходов Т (q, v) = v* удовлетворяет условиям 1 и 2.

Условие 1. Если {(s, x, read), (s, y, write)} Ç (b * \ b) ¹ Æ и {(s, x, read), (s, y, write)} Í b *, то fo *(y) ≥ fo *(x).

Условие 2. Если {(s, x, read), (s, y, write)} Í b и fo *(y) < fo *(x), то {(s, x, read), (s, y, write)} Ë b *.

Доказательство. Доказательство осуществляется аналогично доказательству теоремы6.1. ■

Теорема 6.9 (БТБ- RW). Система S(V, T, z 0) безопасна для безопасного начального состояния z 0 тогда и только тогда, когда выполнены условия теорем 6.7 и 6.8.

Доказательство. Теорема следует из теорем 6.7, 6.8. ■

В данном подходе *-свойство определено таким образом, что его смысл ¾ предотвращение возникновения запрещенных информационных потоков «сверху вниз» становится более ясным, чем при использовании функции fс в классической модели Белла-ЛаПадулы. В этом заключена основная ценность рассмотренных определений основных свойств безопасности.

Далее определим основные свойства безопасности модели Белла-ЛаПадулы, используя определения свойств безопасности функции переходов T. При этом на T накладывается дополнительное ограничение ¾ за один шаг работы системы вносится только одно изменение в одном из параметров, используемом при определении свойств безопасности, т.е. изменяется на один элемент либо множество текущих доступов, либо одно из значений одной из функций. При этом остальные параметры остаются неизменными.

Определение 6.24. Функция переходов Т (q, (b, f)) = (b*, f*) обладает ss - свойством, если выполнены следующие условия:

- если (s, o, read) Î b * \ b, то fs (s) ≥ fo (o) и f * = f;

- если fs (s) ¹ fs *(s), то fo * = fo, b * = b, для s ’¹ s справедливо равенство fs *(s ’) = fs (s ’), и если (s, o, read) Î b, то fs *(s) ³ fo (o);

- если fo (o) ¹ fo *(o), то fs * = fs, b * = b, для o ’¹ o справедливо равенство fo *(o ’) = fo (o ’), и если (s, o, read) Î b, то fs (s) ³ fo *(o).

Определение 6.25. Функция переходов T (q, (b, f)) = (b*, f*) обладает *-свойством, если выполнены следующие условия:

- если {(s, x, read), (s, y, write)} Í b * и {(s, x, read), (s, y, write)} Ë b, то f *= f и fo (y) ≥ fo (x);

- если fo (y) ¹ fo *(y), то b *= b, fs * = fs, для z ¹ y справедливо равенство fo *(z) = fo (z), и если {(s, x, read), (s, y, write)} Í b, то fo *(y) ³ fo (x), или если {(s, y, read), (s, x, write)} Í b, то fo (x) ³ fo *(y).

Определение 6.26. Функция переходов T безопасна, если она обладает ss -свойством и *-свойством.

Теорема 6.10 (БТБ- T). Система S(V, T, z 0) безопасна для безопасного начального состояния z 0, если ее функция переходов безопасна.

Доказательство. По аналогии с доказательством теоремы6.1 необходимо показать, что если функция переходов T (q, (b, f)) = (b*, f*) безопасна, то состояние (b*, f*) безопасно по условиям определений 6.22 и 6.23. Этот факт следует из условий определений6.24 и 6.25.

Таким образом, при безопасном начальном состоянии любая реализация системы, а следовательно, и система в целом будут безопасными. Теорема доказана. ■

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

- для x Î S, cs (x) Í S ¾ множество субъектов, имеющих право менять уровень доступа субъекта x,

- для y Î O, co (y) Í S ¾ множество субъектов, имеющих право менять уровень конфиденциальности объекта y.

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

Определение 6.27. Функция переходов T (s, q, (b, f)) = (b*, f*) безопасна в смысле администрирования, если выполнены условия:

- если fs *(x) ¹ fs (x), то s Î cs (x);

- если fo *(y) ¹ fo (y), то s Î co (y).

Таким образом, задавая множества cs (x) и co (y), возможно рассмотрение случаев, когда все субъекты могут менять уровни конфиденциальности объектов и уровни доступа субъектов; никто не может или только системный администратор может менять уровни конфиденциальности объектов и уровни доступа субъектов.

 

Модель мандатной политики целостности информации Биба

Классическая модель Белла-ЛаПадулы в первую очередь ориентирована на обеспечение защиты от угрозы конфиденциальности информации. В то же время ее математическая основа используется в модели Биба, реализующей мандатную политику целостности.

В модели Биба рассматриваются доступы субъектов к объектам и субъектам:

- modify ¾ доступ субъекта на модификацию объекта (аналог доступа write в модели Белла-ЛаПадулы);

- invoke ¾ доступ на обращение (запись) субъекта к субъекту;

- observe ¾ доступ на чтение субъекта к объекту (аналог доступа read в модели Белла-ЛаПадулы);

- execute ¾ доступ на выполнение.

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

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

O ¾ множество объектов;

(LI, £) ¾ решетка уровней целостности, например: LI ={ I (important), VI (very important), C (crucial)}, где I < VI < C;

RI = { modify, invoke, observe, execute } ¾ множество видов доступа и видов прав доступа;

В = { b Í S ´ O ´ RI } ¾ множество возможных множеств текущих доступов в системе;

(is, io, ic) Î I = LIs ´ LIo ´ LIs ¾ тройка функций (is, io, ic), задающих: is: S ® LI ¾ уровень целостности субъекта; io: О ® LI ¾ уровень целостности объекта; ic: S ® LI ¾ текущий уровень целостности субъекта, при этом для каждого s Î S выполняется условие ic (s) £ is (s);

V = B ´ I ¾ множество состояний системы.

Элементы модели, необходимые для реализации дискреционной политики безопасности в модели Биба, не отличаются от аналогичных элементов в модели Белла-ЛаПадулы и рассматриваться не будут. Также как в классической модели Белла-ЛаПадулы в модели Биба не анализируются вопросы администрирования уровней целостности субъектов и объектов.

В отличие от требований безопасности классической модели Белла-ЛаПадулы требования безопасности в модели Биба являются динамическими, для их описания используются элементы текущего и последующего состояний системы.

Определение 6.28. Доступ (s, o, r) Î S ´ O ´ RI соответсвует требованиям политики low-watermark для субъектов относительно i = (is, io, ic) Î I, если выполняется одно из условий:

- r = execute;

- r = modify и ic (s) ≥ io (o);

- r = invoke, o Î S и ic (s) ≥ ic (o);

- r = observe и после получения доступа в последующем состоянии системы ic ’(s) = ic (s) Ä io (o), где Ä ¾ наибольшая нижняя граница элементов решетки (LI, £); ic ’(s) ¾ значение функции текущего уровня целостности субъекта в последующем состоянии системы.

Определение 6.29. Доступ (s, o, r) Î S ´ O ´ RI соответсвует требованиям политики low-watermark для объектов относительно i = (is, io, ic) Î I, если выполняется одно из условий:

- r Î { execute, invoke, observe };

- r = modify и после получения доступа в последующем состоянии системы io ’(o) = ic (s) Ä io (o), где io ’(o) ¾ значение функции уровня целостности объекта в последующем состоянии системы.

Динамическое изменение функций уровня целостности субъекта или объекта может потребовать уточнения требований политики low-watermark. Например, если в системе допускается подача субъектом одновременно нескольких запросов на доступ, то результат их выполнения может зависеть от последовательности выполнения запросов. Если субъект запросил одновременно доступы observe и modify, то предоставление в первую очередь доступа observe может привести к понижению уровня целостности субъекта, а следовательно, может сделать невозможным получение им доступа modify. Кроме того, понижение уровня целостности объекта при доступе modify к нему, может привести к модификации информации с высоким уровнем целосности субъектом с низким уровнем целостности. Аналогичный пример для случая понижения уровня конфиденциальности объекта анализируется при описании политики low-watermark в модели Белла-ЛаПадулы.

Возможным путем уточнения политики low-watermark, является выполнение требования неизменности значений функций (is, io, ic) для всех субъектов и объектов во всех состояниях системы. В этом случае всегда справедливо равенство is = ic.

Определение 6.30. Доступ (s, o, r) Î S ´ O ´ RI соответсвует требованиям политики low-watermark при неизменных значениях функций (is, io), если выполняется одно из условий:

- r Î { execute, observe };

- r = modify и is (s) ≥ io (o);

- r = invoke, o Î S и is (s) ≥ is (o).

Выполнение требований политики low-watermark при неизменных значениях функций (is, io) позволяет предотвратить модификацию субъектом информации в объекте с более высоким или несравнимым с субъектом уровнем целостности. В то же время отсутствие ограничений на доступ observe может позволить субъекту реализовать информационный поток от объекта с меньшим уровнем целостности в объект с большим уровнем целостности. Для преодтвращения угрозы возникновения информационных потоков данного вида возможно использование строгой политики low-watermark при неизменных значениях функций (is, io).

Определение 6.31. Доступ (s, o, r) Î S ´ O ´ RI соответсвует требованиям строгой политики low-watermark при неизменных значениях функций (is, io), если выполняется одно из условий:

- r = execute;

- r = modify и is (s) ≥ io (o);

- r = invoke, o Î S и is (s) ≥ is (o);

- r = observe и is (s) £ io (o).

По аналогии с классической моделью Белла-ЛаПадулы в модели Биба можно определить требования политики low-watermark для состояния и системы в целом. После чего можно сформулировать и доказать для требований политики low-watermark теоремы, аналогичные теоремам 6.1-6.4 классической модели Белла-ЛаПадулы.

 

Контрольные вопросы

 

1. Каковы основные недостатки классической модели Белла-ЛаПадулы?

2. Опишите состояния системы Белла-ЛаПадулы со следующими параметрами S = { s 1, s 2}, O­ = { o 1, o 2}, R = { read, write }, (L, £) = { Low, High }, M ¾ не используется, fs (s 1) = fo (o 1) = Low, fs (s 2) = fo (o 2) = High.

3. Известно, что при реализации мандатного управления доступом может допускаться использование правил дискреционного управления доступом (например, с использованием ds- свойства безопасности модели Белла-ЛаПадулы). Учитывая это обстоятельство, предложите подход по созданию запрещенного информационного потока от объекта с высоким уровнем конфиденциальности в объект с низким уровнем конфиденциальности, использующий кооперацию субъектов КС.

4. В чем схожесть подходов к определению информационного потока в расширенной модели Take-Grant и модели Белла-ЛаПадулы?

5. В чем основное отличие определений свойств безопасности классической модели Белла-ЛаПадулы и модели Биба?

 

Лекция 7.

Модель систем военных сообщений

 

Построенная на основе модели Белла-ЛаПадулы модель систем военных сообщений СВС (MMS ¾ Military Message Systems) была предложена в 1984. Она ориентирована, в первую очередь, на системы приема, передачи и обработки почтовых сообщений, реализующих мандатную политику безопасности. В то же время предложенные в модели СВС подходы к определению основных свойств безопасности могут быть использованы для построения и анализа произвольных КС с мандатным управлением доступом.

Определения основных понятий, используемых при описании свойств модели СВС, либо уже давались ранее или в модели Белла-ЛаПадулы, либо их смысл интуитивно ясен, например: объект, контейнер сущность, пользователь, идентификатор пользователя, уровни конфиденциальности, доступ, множество доступов. В то же время дополнительно в рамках модели СВС даются следующие определения.

Определение 7.1. Роль пользователя ¾ совокупность прав пользователя, определяемая характером выполняемых им действий в системе. Пользователь может менять свои роли во время работы в системе.

Определение 7.2. Способ доступа к содержимому контейнера(CCR) ¾ атрибут контейнеров, определяющий порядок обращения к его содержимому (с учетом уровня конфиденциальности контейнера или с учетом только уровня конфиденциальности сущности контейнера, к которой осуществляется обращение).

Определение 7.3. Идентификаторсущности ¾ уникальный номер или имя сущности.

Определение 7.4. Непосредственная ссылка ¾ ссылка на сущность, совпадающая с идентификатором сущности.

Определение 7.5. Косвенная ссылка¾ ссылка на сущность, являющуюся частью контейнера, через последовательность двух и более ссылок на сущности, в которой только первая ссылка есть идентификатор (непосредственная ссылка).

Определение 7.6. Сообщение ¾ особый тип сущностей, имеющийся в СВС. В большинстве случаевсообщение есть контейнер, хотя в некоторых системах, только получающих сообщения, оно может быть и объектом. Каждое сообщение как контейнер содержит несколько сущностей, описывающих его параметры, например: кому (to), от кого (from), информация (info), дата-время-группа (date - time - group), текст (text), безопасность (security).




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 792; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.102 сек.