Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТОКБ-Лекционный курс.doc
Скачиваний:
69
Добавлен:
09.12.2018
Размер:
1.96 Mб
Скачать

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

  1. Каким образом десять неформальных свойств модели СВС реализуются в ее формальном описании?

  2. В каком случае система (T, s0) безопасна?

  3. Где в определениях безопасности модели СВС реализовано ss-свойство безопасности классической модели Белла-ЛаПадулы?

  4. Где в определениях безопасности модели СВС реализовано *-свойство безопасности классической модели Белла-ЛаПадулы?

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

Лекция 8. Модели безопасности информационных потоков

Автоматная модель безопасности информационных потоков

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

V  множество состояний системы;

U  множество пользователей;

M  множество матриц доступов;

CC  множество команд пользователей, изменяющих матрицу доступов;

VC  множество команд пользователей, изменяющих состояние;

C = CC VC  множество всех команд пользователей;

Out  множество выходных значений;

cvdo: U C V M V M  функция переходов системы.

В зависимости от вида команды при переходе системы в последующее состояние изменяется или состояние системы, или вносятся изменения в матрицу доступов. При этом для каждого пользователя в матрице доступов определяются команды, которые ему разрешено выполнять. Таким образом, автоматная модель безопасности информационных потоков реализует дискреционное управление доступом.

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

out: U V Out  функция выходов системы.

Таким образом, определен автомат, в котором:

  • (v0, m0)  начальное состояние;

  • V M  множество внутренних состояний автомата;

  • U C  входной алфавит;

  • Out  выходной алфавит;

  • cvdo  функция переходов автомата;

  • out  функция выходов автомата.

Функция cvdo может быть по индукции определена для конечных последовательностей команд пользователей:

cvdo: (U C)*  V M V M.

Пусть w  (U C)*  последовательность команд пользователей; s U  пользователь; G U  подмножество множества пользователей; A C  подмножество множества команд. Используем обозначения:

[[w]]  последовательность состояний, полученная из исходного состояния в результате выполнения последовательности команд пользователей w;

[[w]]s  последовательность выходов, наблюдаемых пользователем s при реализации последовательности состояний [[w]];

PG(w)  подпоследовательность последовательности w, полученная из нее удалением всех пар (s, c), где s G;

PA(w)  подпоследовательность последовательности w, полученная из нее удалением всех пар (s, c), где c A;

PGA(w)  подпоследовательность последовательности w, полученная из нее удалением всех пар (s, c), где s G и c A.

Определение 8.1. Пусть G, G U. G информационно не влияет на G (обозначим через G :| G’), если для каждой w  (U C)* и для s G справедливо равенство [[w]]s = [[PG(w)]]s.

Определение 8.2. Пусть A C, G U. A информационно не влияет на G (обозначим через A :| G’), если для каждой w  (U C)* и для s G справедливо равенство [[w]]s = [[PA(w)]]s.

Определение 8.3. Пусть A C, G, G U. G и A информационно не влияют на G (обозначим через G, A :| G’), если для каждой w  (U C)* и для s G справедливо равенство [[w]]s = [[PGA(w)]]s.

Определение 8.4. Политика безопасности в автоматной модели безопасности информационных потоков  это набор требований информационного невлияния.

Пример 8.1. Пусть f  файл, s U  пользователь, A = {create(f), write(f), modify(f), delete(f)}  набор команд. Тогда {s}, A :| {s}, означает, что пользователь s может осуществлять только чтение из файла f. ■

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

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

(L, )  шкала уровней доступа к информации;

level: U L  функция уровней доступа пользователей;

U[– ∞, x] = {s U: level(s) ≤ x}  множество пользователей с уровнем доступа не большим x L;

U[x, + ∞] = {s U: level(s) ≥ x}  множество пользователей с уровнем доступа не меньшим x L.

Тогда мандатная политика безопасности есть совокупность требований информационного невлияния:

для x, x L, x < x выполняется U[x’, + ∞] :| U[– ∞, x]. ■

Определение 8.5. Пусть G U. Пользователи из G невидимы для остальных пользователей, если G :| (U \ G). Пользователи из G изолированы от остальных пользователей, если G :| (U \ G) и (U \ G) :| G.

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

Вероятностная модель безопасности информационных потоков

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

Пусть на множестве значений объектов системы задано вероятностное распределение, т.е. H и L являются случайными величинами.

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

Информационная невыводимость

Определение 8.6. КС соответствует требованиям информационной невыводимости, если для p(H) > 0, p(L) > 0 справедливо неравенство p(H | L) > 0.

Так как при p(H) > 0, p(L) > 0 справедливо равенство

p(L | H) = p(H, L) / p(H) = p(H | L) p(L) / p(H),

то в условиях определения из истинности неравенства p(H | L) > 0 следует истинность p(L | H) > 0, что предполагает отсутствие информационных потоков от низкоуровневых объектов к высокоуровневым. Таким образом, требования информационной невыводимости являются более строгими, чем требования безопасности классической модели Белла-ЛаПадулы, и фактически предполагают изоляцию друг от друга высокоуровневых и низкоуровневых объектов системы, что является чрезмерно жестким требованием.

Информационное невлияние

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

Определение 8.7. КС соответствует требованиям информационного невлияния (без учета времени), если для p(H) > 0, p(L) > 0, выполняется:

p(L | H) = p(L).

При p(H) > 0, p(L) > 0 условие определения равносильно условию

p(H | L) = p(H).

Условие определения 8.7 также является жестким. Однако если ввести параметр времени, то возможно данное условие сделать в большей степени применимым для использования в реальных системах. Конечный вид условия информационного невлияния получим в результате последовательности рассуждений.

Если Lt описывает состояния всех низкоуровневых объектов, а Ht всех высокоуровневых объектов в момент времени t = 0, 1, 2, …, то нет необходимости требовать выполнения условия

p(Ht | Lt1) = p(Ht),

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

Например, если низкоуровневыми являются некий неконфиденциальный файл, обрабатываемый пользователем с низким уровнем доступа, а высокоуровневым объектом является журнал аудита. Тогда значение файла и операции, совершаемые над ним пользователем в момент t, могут отображаться в журнале аудита в момент t + 1, о чем «знает» низкоуровневый пользователь.

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

p(Lt | Ht1)= p(Lt) или p(Ht1 | Lt ) = p(Ht1), для t = 1, 2, ….

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

Монитор ссылок в реальных системах защиты является высокоуровневым субъектом, принимающим решения по запросам на доступ к объектам, полученным от других субъектов системы. Очевидно, что такое решение, полученное низкоуровневым субъектом в момент t работы системы, содержит информацию о значении высокоуровневого монитора ссылок в предыдущий момент времени t – 1.

Более целесообразным представляется подход, обеспечивающий невозможность накопления низкоуровневыми объектами новой информации о значение высокоуровневых объектов. Более формально, необходимо потребовать, чтобы знание значений Lt1 и Lt, не давало бы новой информации о Ht1, т.е. должно выполняться условие

p(Lt | Ht1, Lt1) = p(Lt | Lt1), для t = 1, 2, …,

или

p(Ht1 | Lt, Lt1) = p(Ht1 | Lt1), для t = 1, 2, ….

Таким образом, запрещается обратный информационный поток из Lt в Ht1, но не запрещается поток из Lt в Ht + 1. Кроме того, следует отметить, что, решая проблемы, обозначенные в рассмотренных выше примерах, последнее правило блокирует возникновение запрещенных информационных потоков по времени.

Дадим определение информационного невлияния с учетом времени.

Определение 8.8. КС соответствует требованиям информационного невлияния (с учетом времени), если для p(Ls) > 0, p(Lt) > 0, p(Hs) > 0, выполняется условие

p(Lt | Hs, Ls) = p(Lt | Ls), где s, t = 0, 1, 2, … и s < t.

Пример 8.3. Согласно описанию автоматной модели безопасности информационных потоков система защиты представляется детерминированным автоматом, на вход которого поступает последовательность команд пользователей. Для каждого пользователя системы задана функция выходов, определяющая, что каждый из них «видит» на устройстве вывода в соответствующем состоянии системы. Если всех пользователей системы разделить на две группы (низкоуровневые и высокоуровневые), то требование информационного невлияния автоматной модели является требованием независимости низкоуровневого вывода системы от ее высокоуровневого ввода.

Рассмотрим систему автоматной модели как совокупность 4-ех объектов: высокоуровневых и низкоуровневых портов ввода/вывода high-in, high-out, low-in, low-out. При этом системный вывод полностью определяется системным вводом. Вероятностные отношения исключаются.

Однако, если интерпретировать детерминированность автомата, используя события с вероятностью {0, 1}, то информационное невлияние можно определить следующим образом.

Определение 8.9. Пусть система автоматной модели безопасности информационных потоков представляется совокупностью четырех событий с вероятностью {0, 1}: high-int, high-outt, low-int, low-outt для t = 0, 1, 2, …. Тогда система автоматной модели соответствует требованиям информационного невлияния, если выполняется условие

p(low-outt | high-ins, low-ins) = p(low-outt | low-ins), где s, t = 0, 1, 2, … и s < t. ■