АНАЛИЗ БЕЗОПАСНОСТИ УПРАВЛЕНИЯ ДОСТУПОМ И ИНФОРМАЦИОННЫМИ ПОТОКАМИ В КОМПЬЮТЕРНЫХ СИСТЕМАХ к.т.н., доцент Девянин П.Н. ИКСИ, г. Москва peter_devyanin@hotmail.com.

Презентация:



Advertisements
Похожие презентации
Развитие семейства ДП-моделей логического управления доступом в компьютерных системах д.т.н., доцент Девянин П.Н. ИКСИ, г. Москва
Advertisements

Подходы к моделированию логического управления доступом в операционных системах д.т.н., доцент Девянин П.Н. ИКСИ, г. Москва
К построению и контролю соблюдения политик безопасности распределенных компьютерных систем на основе механизмов доверия А. А. Иткес В. Б. Савкин Институт.
Математические модели Динамические системы. Модели Математическое моделирование процессов отбора2.
Л.Н. Кривдина СИНТЕЗ ЦИФРОВЫХ РЕГУЛЯТОРОВ НА ОСНОВЕ ЛИНЕЙНЫХ МАТРИЧНЫХ НЕРАВЕНСТВ.
1 2. Матрицы. 2.1 Матрицы и их виды. Действия над матрицами. Джеймс Джозеф Сильвестр.
Н.В. Курмышев, С.В. Попов МОДЕЛЬ ОРГАНИЗАЦИИ ПРАВ ДОСТУПА В ВЕБ-ПРИЛОЖЕНИЯХ ДЛЯ ДИСКРЕЦИОННЫХ И РОЛЕВЫХ СХЕМ Новгородский государственный университет Докладчик:
Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
Лекция 2 Языки, операции над языками. Определение 2.1 Языком в алфавите называется произвольное множество цепочек в. Как следует из определения языка,
База данных ACCESS. Основные понятия База данных (БД) организованная совокупность данных, предназначенная для длительного хранения во внешней памяти компьютера.

Применение иерархического метода для построения защищенной операционной системы. Выполнила Шилова О. И-411.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Субъектно-объектная модель безопасности Краткий обзор.
Стандарты по оценке защитных систем. стандарты и спецификации двух разных видов: оценочные стандартов, направленные на классификацию информационных систем.
1 БАЗЫ ДАННЫХ СТРУКТУРЫ ДАННЫХ. 2 МОДЕЛИ СТРУКТУР ДАННЫХ Линейная структура (списки и кольца) Линейная структура (списки и кольца) Иерархическая структура.
Учитель информатики Трашков О.Л.. Для оперативного обмена информацией и совместного использования общих ресурсов компьютеры объединяют в сеть. Ресурсами.
Свойства функций Область определения, множество значений, чётность, нечётность, возрастание, убывание.
Развитие программных комплексов Сбор РБД и Планирование ЕГЭ.
Транксрипт:

АНАЛИЗ БЕЗОПАСНОСТИ УПРАВЛЕНИЯ ДОСТУПОМ И ИНФОРМАЦИОННЫМИ ПОТОКАМИ В КОМПЬЮТЕРНЫХ СИСТЕМАХ к.т.н., доцент Девянин П.Н. ИКСИ, г. Москва

2 Основные формальные модели управления доступом и информационными потоками Формальные модели Модели дискреционного управления доступом Модели мандатного управления доступом Модели безопасности информационных потоков Модели ролевого управления доступом Субъектно-ориентированная модель изолированной программной среды Модель ХРУ Модель ТМД Модель Take-Grant Базовая модель ролевого управления доступом Автоматная модель Программная модель Вероятностная модель Классическая модель Белла-ЛаПадулы Модель СВС Модель безопасности переходов Модель целостности Биба Модель ролевого администрирования Модели тематического управления доступом

3 Основные существенные особенности функционирования современных КС Возможность реализации в КС доверенных и недоверенных субъектов с различными условиями функционирования; Возможность реализации в КС доверенных и недоверенных субъектов с различными условиями функционирования; Различие в условиях реализации в КС информационных потоков по памяти и по времени; Различие в условиях реализации в КС информационных потоков по памяти и по времени; Наличие в современных КС иерархической структуры сущностей и возможность ее использования при реализации информационных потоков по времени; Наличие в современных КС иерархической структуры сущностей и возможность ее использования при реализации информационных потоков по времени; Возможность кооперации или, наоборот, противодействия субъектов друг другу при передаче прав доступа и реализации информационных потоков. Возможность кооперации или, наоборот, противодействия субъектов друг другу при передаче прав доступа и реализации информационных потоков. Возможность изменения функциональности субъекта при реализации информационного потока по памяти на функционально ассоциированные с ним сущности. Возможность изменения функциональности субъекта при реализации информационного потока по памяти на функционально ассоциированные с ним сущности.

4 Критический анализ основных формальных моделей

5 Предположение 1. Предположение 1. Все действия в КС, в том числе выполнение операций над сущностями, порождение информационных потоков, изменение параметров и настроек системы защиты КС, порождение новых субъектов, могут быть инициированы только субъектами КС с использованием доступов к сущностям КС. Предположение 2. Предположение 2. Все информационные потоки в КС порождены доступами субъектов к сущностям. Иные информационные потоки, например по побочному электромагнитному излучению, не рассматриваются. Предположение 3. Предположение 3. В начальном состоянии КС отсутствуют доступы субъектов к объектам и информационные потоки. Предположение 4. Предположение 4. При любых запросе субъекта на доступ к сущности или доступе субъекта к сущности реализуется информационный поток по времени. Предположение 5. Предположение 5. При реализации информационного потока по памяти от объекта-источника к объекту-приемнику в том же направлении реализуется информационный поток по времени. Основные предположения

6 Базовая ДП-модель. Иерархия сущностей E = O C множество сущностей, где O множество объектов, C множество контейнеров; S E множество субъектов; R r = {read r, write r, append r, execute r, own r } множество видов прав доступа; R a = {read a, write a, append a } множество видов доступа; R f = {write m, write t } множество видов информационных потоков; R raf = R r R a R f множество видов прав доступа, видов доступа и видов информационных потоков. Определение. Определение. Определим H: E 2 E функцию иерархии сущностей, сопоставляющую каждой сущности c E множество сущностей H(c) E и удовлетворяющую условиям: Условие 1. Условие 1. Если сущность e H(c), то e < c и не существует сущности- контейнера d C, такой, что e < d, d < c. Условие 2. Условие 2. Для любых сущностей e 1, e 2 E, e 1 e 2, по определению выполняются равенство H(e 1 ) H(e 2 ) = и условия: если o O, то выполняется равенство H(o) = ; если e 1 < e 2, то или e 1, e 2 E \ S, или e 1, e 2 S; если e E \ S, то H(e) E \ S; если s S, то H(s) S.

7 Определение. Пусть определены множества S, E, R S E R r, A S E R a, F E E R f и функция иерархии сущностей H. Определим G = (S, E, R A F, H) конечный помеченный ориентированный граф без петель, где элементы множеств S, E являются вершинами графа, элементы множества R A F ребрами графа. Назовем G = (S, E, R A F, H) графом доступов. (G*, OP) система, при этом: каждое состояние системы представляется графом доступов; G* множество всех возможных состояний; OP множество правил преобразования состояний; G op G переход системы (G*, OP) из состояния G в состояние G Определение системы а) б) в)г) r a write m write t Рис. 1. Обозначения ребер графа доступов

8 Правила преобразования состояний В базовой ДП-модели определены 16 монотонных и немонотонных правил преобразования состояний: take_right( r, x, y, z), grant_right( r, x, y, z), remove_right( r, x, y, z), own_take( r, x, y), own_remove( r, x, y), create_entity(x, y, z), create_subject(x, y, z), delete_entity(x, y, z), rename_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), pass(x, y, z) G z G z write r write r write t write t x y x y rename_entity(x, y, z) … write t write t … r r s y s y Рис. 2. Реализация информационных потоков по времени при применении правила rename_entity(x, y, z), где r R r

9 Примеры правил преобразования состояний базовой ДП-модели

10 Условия передачи прав доступа или реализации информационных потоков Определение. Определение. Пусть G 0 = (S 0, E 0, R 0 A 0 F 0, H 0 ) состояние системы (G*, OP) и субъект x S 0, сущность y E 0, где x y, и пусть R r некоторое право доступа. Определим предикат can_share(, x, y, G 0 ), который будет истинным тогда, и только тогда, когда существуют состояния G 1, …, G N = (S N, E N, R N A N F N, H N ) и правила преобразования состояний op 1, …, op N такие, что G 0 op1 G 1 op2 … opN G N и (x, y, ) R N, где N 0. Определение. Определение. Пусть G 0 = (S 0, E 0, R 0 A 0 F 0, H 0 ) состояние системы (G*, OP) и сущности x, y E 0, где x y. Определим предикат can_write_memory(x, y, G 0 ), который будет истинным тогда, и только тогда, когда существуют состояния G 1, …, G N = (S N, E N, R N A N F N, H N ) и правила преобразования состояний op 1, …, op N такие, что G 0 op1 G 1 op2 … opN G N и (x, y, write m ) F N, где N 0. Определение. Определение. Пусть G 0 = (S 0, E 0, R 0 A 0 F 0, H 0 ) состояние системы (G*, OP) и сущности x, y E 0, где x y. Определим предикат can_write_time(x, y, G 0 ), который будет истинным тогда, и только тогда, когда существуют состояния G 1, …, G N = (S N, E N, R N A N F N, H N ) и правила преобразования состояний op 1, …, op N такие, что G 0 op1 G 1 op2 … opN G N и (x, y, f ) F N, где f {write m, write t } и N 0.

11 Условия реализации информационного потока по времени Теорема. Теорема. Пусть G 0 = (S 0, E 0, R 0 A 0 F 0, H 0 ) состояние системы (G*, OP) и сущности x, y E 0, x y. Предикат can_write_time(x, y, G 0 ) истинен тогда, и только тогда, когда существует последовательность сущностей e 1, …, e m E 0, где e 1 = x, e m = y и m 2, таких, что выполняется одно из условий: Условие 1. Условие 1. m = 2 и (x, y, f ) F 0, где f {write m, write t }. Условие 2. Условие 2. Для каждого i = 1,..., m – 1 выполняется одно из условий: e i S 0 и (e i, e i + 1, write t ) F 0 ; e i S 0 и истинен предикат can_write_memory(e i, e i + 1, G 0 ); e i S 0 и существует сущность e i + 1 E 0, такая, что e i + 1 e i + 1 и истинен предикат can_share( r, e i, e i + 1, G 0 ), r R r ; e i + 1 S 0 и истинен предикат can_share(read r, e i + 1, e i, G 0 ); e i, e i + 1 S 0 и существуют сущности e i, e i + 1 E 0 : или e i e i + 1, или e i + 1 e i, и истинны предикаты can_share( r, e i, e i, G 0 ) и can_share( r, e i + 1, e i + 1, G 0 ), r, r R r.

12 Фрагменты доказательства теоремы Пример задачи на преобразование графа доступов расширенной модели Take-Grant G G o read read create(), write grant(), post() x grant y write Рис. 3. Реализация информационного потока на запись

13 Фрагменты доказательства теоремы Докажем достаточность выполнения условия теоремы для истинности предиката can_write_time(x, y, G 0 ). … Пусть выполняется условие 2 теоремы, тогда существует последовательность сущностей e 1, …, e m E 0, где e 1 = x, e m = y и m 2. Выполним доказательство индукцией по длине m последовательности сущностей. Пусть m = 2. Возможны пять случаев. … Рассмотрим четвертый случай: x S 0 и существует сущность y E 0, такая, что y y и истинен предикат can_share( r, x, y, G 0 ), где r R r. Так как истинен предикат can_share( r, x, y, G 0 ), то существуют состояния G 1, …, G N = (S N, E N, R N A N F N, H N ) и правила преобразования состояний op 1, …, op N такие, что G 0 op1 G 1 op2 … opN G N и (x, y, r ) R N, где N 0. Если r {write r, append r, read r }, то пусть op N + 1 = access_ (x, y) и G N op(N + 1) G N + 1, где G N + 1 = (S N + 1, E N + 1, R N + 1 A N + 1 F N + 1, H N + 1 ). Тогда (x, y, write t ) F N + 1 и предикат can_write_time(x, y, G 0 ) истинен. Если r = own r, то пусть op N + 1 = own_take(write r, x, y), op N + 2 = access_write(x, y) и G N op(N + 1) G N + 1 op(N + 2) G N + 2, где G N + 2 = (S N + 2, E N + 2, R N + 2 A N + 2 F N + 2, H N + 2 ). Тогда (x, y, write t ) F N + 2 и предикат can_write_time(x, y, G 0 ) истинен. Если r = execute r, то пусть op N + 1 = create_subject(x, y, z) и G N op(N + 1) G N + 1, где G N + 1 = (S N + 1, E N + 1, R N + 1 A N + 1 F N + 1, H N + 1 ) и z S N. Тогда (x, y, write t ) F N+1 и предикат can_write_time(x, y, G 0 ) истинен.

14 Фрагменты доказательства теоремы Докажем необходимость выполнения условия теоремы для истинности предиката can_write_time(x, y, G 0 ). Пусть истинен предикат can_write_time(x, y, G 0 ), при этом по определению существуют состояния G 1, …, G N = (S N, E N, R N A N F N, H N ) и правила преобразования состояний op 1, …, op N такие, что G 0 op1 G 1 op2 … opN G N и (x, y, f ) F N, где f {write m, write t } и N 0. Среди всех таких последовательностей выберем ту, у которой длина N является минимальной. В этом случае (x, y, f ) F N – 1. Проведем доказательство индукцией по длине N последовательности преобразований. Пусть N = 1, тогда (x, y, f ) F 0 и существует правило преобразования состояний op 1, такое, что G 0 op1 G 1 и (x, y, f ) F 1. Из определения правил преобразования состояний следует, что возможны девять случаев: x, y S 0, (x, y, own r ) R 0 ; x, y S 0, (y, x, own r ) R 0 ; x S 0, y E 0 и существует сущность y E 0, такая, что y y и (x, y, r ) R 0, при этом r {read r, write r, append r }; x, y S 0 и существуют сущности x, y E 0, такие, что или x y, или y x и {(x, x, r ), {(y, y, r )} R 0, где r, r R r ; y S 0, x E 0, (y, x, read r ) R 0 ; x S 0, y E 0, (x, y, r ) R 0, где r {write r, append r }; x S 0, y E 0 и существует сущность e E 0, такая, что {(x, e, ), (e, y, )} R 0 F 0, где, {write r, append r, write m, write t }; x, y S 0 и существуют сущность e E 0, такая, что {(x, e, ), (y, e, read r )} R 0 F 0, где {write r, append r, write m, write t }; x, y E 0 и существует субъект e S 0, такой, что {(e, x, read r ), (e, y, )} R 0 F 0, где {write r, append r, write m, write t }.

15 ДП-модель без кооперации доверенных и недоверенных субъектов Определение. Определение. Назовем траекторию функционирования системы (G*, OP) траекторией без кооперации доверенных и недоверенных субъектов для передачи прав доступа, если при ее реализации используются монотонные правила преобразования состояний, и доверенные субъекты: не дают недоверенным субъектам права доступа к сущностям; не берут у недоверенных субъектов права доступа к сущностям. Определение. Определение. Назовем траекторию функционирования системы (G*, OP) траекторией без кооперации доверенных и недоверенных субъектов для передачи прав доступа и реализации информационных потоков, если она является траекторий без кооперации доверенных и недоверенных субъектов для передачи прав доступа и при ее реализации используются правила преобразования состояний: take_right( r, x, y, z), grant_right( r, x, y, z), own_take( r, x, y, z) с условиями и результатами применения определенными в рамках базовой ДП-модели; create_entity(x, y, z), create_subject(x, y, z), rename_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), pass(x, y, z) с условиями и результатами применения определенными в рамках ДП-модели без кооперации доверенных и недоверенных субъектов.

16 Правила преобразования состояний Предположение. Предположение. Доверенные субъекты системы (G*, OP) не участвуют в реализации информационных потоков по времени.

17 ДП-модель с блокирующими доступами доверенных субъектов а) read r б) read r y c y c write t …write t … a b d s a … … b s read r read r x a x a Рис. 4. Примеры, когда невозможна реализация информационного потока по времени с использованием отношения иерархии сущностей

18 ДП-модель с блокирующими доступами доверенных субъектов Предположение. Предположение. Блокирующие доступы доверенных субъектов к сущностям системы (G*, OP) препятствуют реализации информационных потоков по времени с использованием данных сущностей и иерархии сущностей, в которую входит данная сущность, за исключением случая, когда сущность является субъектом и участвует в реализации данного информационного потока по времени. Определение. Определение. Иерархией сущностей с учетом блокирующих доступов доверенных субъектов называется заданное на множестве сущностей E отношение частичного порядка « B », удовлетворяющее условиям: для двух сущностей e 1, e 2 E если выполняется неравенство e 1 B e 2, то выполняется неравенство e 1 e 2 ; если сущность e 1 E B, то выполняется равенство {e E: e B e 1 или e 1 B e} = {e 1 } (каждая сущность из E B сравнима только сама с собой); если для сущности e 1 E существует сущность e 2 E B, такая, что выполняется условие e 2 e 1, то выполняется равенство {e E: e B e 1 или e 1 B e} = {e 1 }; если для сущности e E существуют сущности e 1, e 2 E, такие, что e B e 2, e B e 1, то или e 1 B e 2, или e 2 B e 1. В случае, когда для двух сущностей e 1, e 2 E выполняются условия e 1, e 2 E \ E B, e 1 B e 2 и e 1 e 2, будем использовать обозначение: e 1 < B e 2. Определение. Определение. Определим H B : E 2 E функцию иерархии сущностей с учетом блокирующих доступов доверенных субъектов, сопоставляющую каждой сущности c E множество сущностей H B (c) H(c), удовлетворяющих условию H B (c) = {e H(c): e < B c}.

19 Теорема. Теорема. Пусть G 0 = (S 0, E 0, R 0 A 0 F 0, H B0 ) состояние системы (G*, OP) и сущности x, y E 0, x y. Пусть также в G 0 отсутствуют информационные потоки по времени, исходящие из доверенных субъектов: F 0 {(s, e, write t ): s L S S 0, e E 0 } =. Предикат can_write_time_block(x, y, G 0, L S ) истинен тогда, и только тогда, когда выполняется одно из условий: Условие 1. Условие 1. В состоянии G 0 реализован информационный поток (x, y, f ) F 0, где f {write m, write t }. Условие 2. Условие 2. Существует последовательность сущностей e 1, …, e m E 0, где e 1 = x, e m = y и m 2, таких, что для каждого i = 1,..., m – 1 выполняется одно из условий: e i N S S 0 и или (e i, e i + 1, f ) F 0, где f {write m, write t }, или истинен предикат can_share( r, e i, e i + 1, G 0, L S ), где r {write r, append r }; e i N S S 0, e i + 1 E 0 \ E B и существует сущность e i + 1 E 0 \ E B, такая, что e i + 1 B e i + 1, и истинен предикат can_share( r, e i, e i + 1, G 0, L S ), где r R r ; e i + 1 N S S 0 и истинен предикат can_share(read r, e i + 1, e i, G 0, L S ); e i, e i + 1 N S S 0 и существуют сущности e i, e i + 1 E 0 \ E B, такие, что или e i B e i + 1, или e i + 1 B e i, и истинны предикаты can_share( r, e i, e i, G 0, L S ) и can_share( r, e i + 1, e i + 1, G 0, L S ), где r, r R r ; e i, e i + 1 N S S 0 и или истинен предикат can_share(own r, e i, e i + 1, G 0, L S ), или истинен предикат can_share(own r, e i + 1, e i, G 0, L S ). Условия реализации информационного потока по времени

20 Метод предотвращения запрещенных информационных потоков по времени Метод 1. Метод 1. Условие применения метода. Пусть определена система (G*, OP, G 0 ) с начальным состоянием G 0 = (S 0, E 0, R 0 A 0 F 0, H 0 ) и определены множества доверенных субъектов L S, недоверенных субъектов N S и запрещенных информационных потоков N f. Шаг 1. Шаг 1. Создать в системе доверенный субъект u L S S 0, который будет реализовывать блокирующие доступы. Шаг 2. Шаг 2. Для каждого запрещенного информационного потока по времени (x, y, write t ), где x и y недоверенные субъекты, использовать алгоритм проверки истинности предиката can_write_time_block(x, y, G 0, L S ). Если предикат can_write_time_block(x, y, G 0, L S ) является истинным, рассмотреть все пути (пролеты моста) в G 0, с использованием которых возможна реализация информационного потока. Если для всех запрещенных информационных потоков из N f по времени предикат can_write_time_block(x, y, G 0, L S ) является ложным, то закончить применение метода. Шаг 3. Шаг 3. Для каждого пути, определенного на шаге 2, определить его вид. Возможны два вида путей. Если путь первого вида, то с его использованием реализуется информационный поток по памяти. Если путь второго вида, то с его использованием может быть реализован только информационный поток по времени. Шаг 4. Шаг 4. Если пролет моста первого вида, то удалить любое ребро пути (удалить у недоверенного субъекта право доступа к сущности). Перейти на шаг 2. Шаг 5. Шаг 5. Если путь второго вида реализовать блокирующий доступ доверенного субъекта u к любой сущности, не являющейся субъектом и принадлежащей пути. Перейти на шаг 2. Теорема. Теорема. Пусть G 0 = (S 0, E 0, R 0 A 0 F 0, H 0 ) начальное состояние системы (G*, OP, G 0 ). Пусть определены множества доверенных субъектов L S, недоверенных субъектов N S и запрещенных информационных потоков N f. Тогда в результате применения в системе метода 1 для каждого информационного потока (x, y, write t ) N f, где x и y недоверенные субъекты, предикат can_write_time_block(x, y, G 0, L S ) является ложным.

21 ДП-модель с функционально ассоциированными с субъектами сущностями G 0 G 1 own r write m control(x, y, z) x z y x z y Рис. 5. Пример применения правила control(x, y, z) Рис. 6. Связь условий и результатов применения правил преобразования состояний Права доступа Информационные потоки по памяти Информационные потоки по времени Доступы

22 ДП-модель с функционально ассоциированными с субъектами сущностями G 0 own r own r write m own r own r write m xs 1 e 1 s 2 s 3 s 4 e 2 y Рис. 7. Рис. 7. Пример состояния, в котором возможно получение недоверенным субъектом x права доступа владения к доверенному субъекту y Определение. Определение. Доверенного субъекта y назовем функционально корректным, если во множество функционально ассоциированным с ним сущностей [y] не входят недоверенные субъекты. Определение. Определение. Доверенного субъекта y назовем корректным относительно сущности e, не являющейся доверенным субъектом, если субъект y не реализует информационный поток по памяти от сущности e к сущности e, функционально ассоциированной с некоторым доверенным субъектом y. При этом по определению каждый доверенный субъект корректен относительно другого доверенного субъекта.

23 ДП-модель для политики безопасного администрирования Определение. Определение. В политике безопасного администрирования рассматриваются две угрозы безопасности КС. Угроза 1. Угроза 1. Наличие у пользователя возможности разместить ресурсы на компьютере (запустить процесс или разместить на компьютере файлы) несет угрозу получения им всех прав доступа и привилегий на данном компьютере. Угроза 2. Угроза 2. Обращение пользователя к компьютеру (с целью получить данные файлов локально или по сетевым коммуникационным каналам) несет угрозу захвата его прав доступа и привилегий пользователем, разместившим свои ресурсы на этом компьютере. Предположение. Предположение. Будем считать, что нарушитель имеет два уровня возможностей: если нарушитель может разместить на компьютере свой ресурс, то он имеет возможность управления функциями КС (нарушитель третьего уровня); если нарушитель может только удаленно обращаться к компьютеру, то он имеет возможность ведения диалога с КС (нарушитель первого уровня). Определение. Определение. Будем говорить, что в КС реализована политика безопасного администрирования тогда, и только тогда, когда в КС выполняется следующее условие: получение нарушителем полного контроля (всех привилегий и прав доступа к сущностям, размещенным на компьютере) над компьютером КС не должно приводить к захвату нарушителем полного контроля над другими компьютерами КС посредством реализации нарушителем угроз 1 и 2.

24 ДП-модель для политики абсолютного разделения административных и пользовательских полномочий Определение. Определение. Для системы (G*, OP) рассматриваются два возможных начальных состояния системы и два вида траекторий: G 0 начальное состояние для пользовательских траекторий функционирования системы P(G 0 ), на которых недоверенные пользователи выполняют свои функции в системе; GA 0 начальное состояние для административных траекторий функционирования системы P(GA 0 ), предназначенных только для администрирования системы. Предположение. Предположение. На всех траекториях системы из множеств P(G 0 ) и P(GA 0 ) определены доверенные пользователи, обладающие правом доступа владения к каждой сущности, размещенной на компьютере. Кроме того, на траекториях системы из множества P(G 0 ): определен доверенный пользователь kernel c S пользователь-«ядро ОС», при этом всегда выполняется условие (kernel c, own r ) RC(c); всегда найдется недоверенный пользователь, активизировавший процесс от своего имени на компьютере c. Предположение. Предположение. Доверенный пользователь kernel c реализован функционально корректным и корректным относительно всех сущностей ECE(c) компьютера c. На траекториях P(GA 0 ) активизируют процессы только доверенные пользователи, которые являются корректными относительно всех сущностей ECE(c) компьютера c. Если в системе (G*, OP) существует доверенный пользователь s 1 S \ {kernel c }, который в состоянии G = (S, E, R A F, H) системы активизировал процесс от своего имени на компьютере c EC, то выполняются условия (s 1, c, write r ) R, ECE(c) [s 1 ]. При этом, если недоверенный пользователь s 2 S в состоянии G системы активизировал процесс от своего имени на компьютере c, то выполняется условие s 2 [s 1 ].

25 Методы предотвращения возможности получения права доступа владения Метод предотвращения возможности получения права доступа владения недоверенным субъектом к доверенному субъекту с использованием реализации информационного потока по памяти к сущности, функционально ассоциированной с доверенным субъектом; Метод реализации политики безопасного администрирования (для распределенных КС); Метод реализации политики абсолютного разделения административных и пользовательских полномочий (для рабочих станций пользователей).

26 Мандатная ДП-модель. Виды запрещенных информационных потоков Определение. Определение. Определим как запрещенные в КС с мандатным управлением доступом следующие четыре вида информационных потоков (запрещенные информационные потоки из множества N f ). 1.Информационные потоки по памяти и по времени между сущностями одного уровня конфиденциальности (определяются в соответствии с априорно заданной политикой управления доступом и информационными потоками). 2.Информационные потоки по памяти от сущностей с большим уровнем конфиденциальности к сущностям с меньшим уровнем конфиденциальности информации. 3.Информационные потоки по времени от сущностей с большим уровнем конфиденциальности к сущностям с меньшим уровнем конфиденциальности информации. 4.Информационные потоки по памяти от субъектов с низким уровнем доступа к субъектам с высоким уровнем доступа или к сущностям, функционально ассоциированным с субъектами с высоким уровнем доступа.

27 Мандатная ДП-модель. Основные определения (L, ) решетка линейно упорядоченных уровней доступа и конфиденциальности; ES E \ S множество сущностей, которые могут быть применены для создания новых субъектов. Определим функции: f s : S L функция, определяющая уровень доступа каждого субъекта системы (G*, OP); f e : E \ S L функция, определяющая уровень конфиденциальности каждой сущности системы, не являющейся субъектом, при этом, если для двух сущностей e 1, e 2 E выполняется неравенство e 1 e 2 (сущность e 1 содержится в контейнере e 2 ), то по определению выполняется условие f e (e 1 ) f e (e 2 ); CCR: E \ S {true, false} функция, определяющая способ доступа к сущностям, не являющимся субъектами, внутри контейнеров. Определение. Определение. В состоянии G = (S, E, R A F, H, (f s, f e ), CCR) системы (G*, OP) доступ (s, e, ) A, где субъект s S, сущность e E \ S, вид доступа R a, обладает ss-свойством, если выполняются условия: f s (s) f e (e); для каждой сущности-контейнера e E \ S, такой, что e < e и CCR(e) = true, выполняется неравенство f s (s) f e (e). Определение. Определение. В состоянии G = (S, E, R A F, H, (f s, f e ), CCR) системы (G*, OP) доступы (s, e 1, read a ), (s, e 2, ) A, где субъект s S, сущности e 1, e 2 E \ S, вид доступа {write a, append a }, обладают *-свойством, если выполняется условие f e (e 1 ) f e (e 2 ).

28 Мандатная ДП-модель. Правила преобразования состояний

29 Условия несанкционированного повышения уровня доступа субъекта Теорема. Теорема. Пусть уровень доступа l L и G 0 = (S 0, E 0, R 0 A 0 F 0, H 0, (f s0, f e0 ), CCR 0 ) состояние системы (G*, OP), которое безопасно в смысле Белла-ЛаПадула и в котором существует недоверенный субъект x N S S 0, и A 0 = F 0 =. Предикат can_increase_level(x, G 0 ) является истинным тогда, и только тогда, когда для l = f s0 (x) существует субъект y S 0 \ N S (l), такой, что f s0 (y) l и выполняется одно из условий: Условие 1. Условие 1. Субъект y функционально некорректен относительно субъекта x. Условие 2. Условие 2. Существует субъект y S 0 такой, что f s0 (y) l, и субъект y некорректен относительно сущности x и субъекта y. Условие 3. Условие 3. Существует сущность e E 0 такая, что e [y], f e0 (e) l, и для каждой сущности-контейнера e E 0 такой, что e < e и CCR 0 (e) = true, выполняется неравенство f e0 (e) l. Условие 4. Условие 4. Существуют сущность e E 0 и субъект y S 0 такие, что f e0 (e) l, f s0 (y) l, и для каждой сущности-контейнера e E 0 такой, что e < e и CCR 0 (e) = true, выполняется неравенство f e0 (e) l, и субъект y некорректен относительно сущности e и субъекта y.

30 Информационные потоки по времени x read a s x write t f e0 (x) write t read a z x write t B write a z y s y write a write m write t f e0 (y) y Рис. 8. Пример доступов и информационных потоков в системе с мандатным управлением доступом

31 Мандатные ДП-модели с блокирующими доступами доверенных субъектов Мандатная ДП-модель с блокирующими доступами доверенных субъектов; отождествлением порожденных субъектов ДП-модель с отождествлением порожденных субъектов (в системе существует только один недоверенный субъект, от имени которого порождены все другие недоверенные субъекты, и доступы всех недоверенных субъектов рассматриваются как доступы одного субъекта); для политики строгого мандатного управления доступом ДП-модель для политики строгого мандатного управления доступом (в системе могут существовать несколько недоверенных субъектов, каждый из которых реализует доступы к сущностям только одного уровня конфиденциальности).

32 Метод предотвращения возможности реализации запрещенных информационных потоков по времени Метод. Метод. Условие применения метода. Пусть определена система (G*, OP, G 0 ) с начальным состоянием G 0 = (S 0, E 0, R 0 A 0 F 0, H B0, (f s0, f e0 ), CCR 0 ) и A 0 = A B, F 0 =. Шаг 1. Шаг 1. Выделить в системе (G*, OP, G 0 ) компьютеры EC1, функциональность которых ограничена. Шаг 2. Шаг 2. Для компьютеров из EC1 обеспечить доверенность всех активизируемых на них субъектов. Реализовать систему управления доступом системы таким образом, чтобы обеспечивалась безопасность в смысле Белла-ЛаПадула доступов доверенных субъектов. Шаг 3. Шаг 3. Выделить компьютеры EC2, на каждом из которых должна быть обеспечена возможность активизации субъектов от имени только одного недоверенного субъекта-пользователя. Шаг 4. Шаг 4. Если это необходимо для реализации используемой в моделируемой реальной КС технологии обработки информации, то для каждого недоверенного субъекта-пользователя компьютера из EC2, во множество доступных ему сущностей включить сущности, размещенные на компьютерах из EC1. При этом реализовать иерархию подчиненности сущностей системы, обеспечивающую невозможность доступов недоверенных субъектов к сущностям в одной иерархии. Шаг 5. Шаг 5. Реализовать систему управления доступом системы (G*, OP, G0) таким образом, чтобы обеспечивалась безопасность доступов доверенных субъектов компьютеров из EC2 в смысле Белла-ЛаПадула, доступов недоверенных субъектов, активизированных от имени субъектов-пользователей компьютеров из EC2, в смысле Белла-ЛаПадула с отождествлением порожденных субъектов. Шаг 6. Шаг 6. Выделить компьютеры EC3, на каждом из которых должна быть обеспечена возможность активизации субъектов несколькими недоверенными субъектами-пользователями. При этом реализовать иерархию подчиненности компьютеров системы, удовлетворяющую условию: для любых c 1 EC2, c 2 EC3 не выполняется одно из сравнений: c 1 < c 2 или c 2 < c 1. Шаг 7. Шаг 7. Если это необходимо для реализации используемой в моделируемой реальной КС технологии обработки информации, то для каждого недоверенного субъекта-пользователя user N S, активизирующего субъектов на компьютерах из EC3, во множество сущностей EU(user) включить сущности, размещенные на компьютерах из EC1. При этом реализовать иерархию подчиненности сущностей системы, обеспечивающую невозможность доступов недоверенных субъектов к сущностям в одной иерархии. Шаг 8. Шаг 8. Реализовать систему управления доступом системы (G*, OP, G 0 ) таким образом, чтобы обеспечивалась безопасность доступов доверенных субъектов компьютеров из EC3 в смысле Белла-ЛаПадула, недоверенных субъектов-пользователей компьютеров из EC3 в смысле строгого мандатного управления доступом. Шаг 9. Шаг 9. Реализовать всех доверенных субъектов системы (G*, OP, G 0 ) таким образом, чтобы на всех траекториях функционирования системы доверенные субъекты не создавали недоверенных субъектов.

33 Семейство ДП-моделей Базовая ДП-модель КС с дискреционным управлением доступом Случай кооперации всех субъектов Передача прав доступа Информационные потоки по памяти Информационные потоки по времени ДП-модель без кооперации доверенных и недоверенных субъектов Передача прав доступа Информационные потоки по памяти Информационные потоки по времени ДП-модель с блокирующими доступами доверенных субъектов Информационные потоки по времени ДП-модель с функционально ассоциированными с субъектами сущностями Информационные потоки по памяти Корректные субъекты ДП-модель для политики безопасного администрирования ДП-модель для политики абсолютного разделения административных и пользовательских полномочий МандатнаяДП-модель Безопасность в смысле Белла- ЛаПадула Повышение субъектом уровня доступа Мандатная ДП-модель с отождествлением порожденных субъектов Мандатная ДП-модель для политики строгого мандатного управления доступом Мандатная ДП-модель с блокирующими доступами доверенных субъектов

34 Сравнительный анализ возможностей применения моделей безопасности в современных КС