Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Модели безопасности по разграничению доступа в систему

Читайте также:
  1. C. Потребности в безопасности
  2. III. Обеспечение безопасности участников и зрителей
  3. IV. Основные требования по обеспечению пожарной безопасности детей в летнем детском лагере
  4. IX. Основные требования по обеспечению безопасности детей на воде при организации купания в детских летних лагерях
  5. Quot;Тотально разрушить систему"...
  6. V. Системно-теоретические модели
  7. VI. Основные характеристики состояния национальной безопасности

Наиболее важными являются характеристики множества субъек­тов и объектов системы, по которым могут быть классифицирова­ны модели разграничения доступа (табл. 3.1).

Из табл. 3.1 следует, что десять модификаций моделей можно объединить в три основные группы моделей доступа:

 
 

предоставления прав;

вероятностные;

 
 

основанные на принципах теории информации К. Шеннона.

 
 

Модели предоставления прав могут быть двух типов: дискретного и мандатного доступа.

Модели дискретного доступа (DAC) предоставляют пользова­телю право доступа к объекту, которое неформально может быть описано как «билет». Владение «билетом» разрешает доступ к не­которому объекту, указанному в билете, при осуществлении дискретного подхода к нему.

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

Одной из первых моделей безопасности была модель АДЕПТ-50. В ней представлено четыре типа сущностей: пользователи (и), за­дания (j), терминалы (t) и файлы (f). Каждая сущность описыва­ется тройкой (L, F, М), включающей в себя следующие парамет­ры:

уровень безопасности L (скаляр) — элементы из набора иерар­хически упорядоченных уровней безопасности;

полномочия F — группа пользователей, имеющих право досту­па к определенному объекту;

режим М — набор видов доступа, разрешенных к определен­ному объекту или осуществляемых объектом. Пример: «читать дан­ные», «присоединять данные», «исполнить программу».

Если U = {и} обозначает набор всех пользователей, известных системе, a F(i) — набор всех пользователей, имеющих право ис­пользовать объект i, то для модели формулируются следующие правила.

1.Пользователь и получает доступ к системе

2.Пользователь и получает доступ к терминалу , т.е. в том и только в том случае, когда пользователь и имеет право использовать терминал t.

3.Пользователь и получает доступ к файлу j , , и ,т.е. только в случае, когда:

привилегии выполняемого задания шире привилегий файла или равны им;

пользователь является членом F(f).

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

Теперь рассмотрим модель, называемую пятимерным простран­ством безопасности Хартстона. В данной модели используется пя­тимерное пространство безопасности для моделирования про­цессов установления полномочий и организации доступа на их основании. Модель имеет пять основных наборов:

А — установленных полномочий;

U — пользователей;

Е — операций;

R — ресурсов;

S — состояний.

Область безопасности будет выглядеть как декартово произведение: .

Доступ рассматривается как ряд запросов, осуществляемых пользователями и для осуществления операции е над ресурсами R в то время, когда система находится в состоянии s. Напри­мер, запрос на доступ представляется четырехмерным кортежем: g = (и, е, R, s), u U, e E, s S, r R. Величины и и s задаются системой в фиксированном виде. Таким образом, запрос на до­ступ — подпространство четырехмерной проекции пространства безопасности. Запросы получают право на доступ в том случае, когда они полностью заключены в соответствующие подпрост­ранства.

Процесс организации доступа можно описать алгоритмически следующим образом. Для запроса q, где q (и, е, R, s), набора U' вполне определенных групп пользователей, набора R' вполне оп­ределенных единиц ресурсов и набора Р правильных (установленных) полномочий процесс организации доступа будет состоять из следующих процедур.

1.Вызвать все вспомогательные программы, необходимые для предварительного принятия решений.

2.Определить из набора U тегруппы пользователей, к которым принадлежит и. Затем выбрать из Р спецификации полномочий, которым соответствуют выделенные группы пользователей. Этот набор полномочий F(u) определяет привилегию пользователя и.

3.Определить из Р набор F(e) полномочий, которые устанавливают е как основную операцию. Этот набор называется привилегией операции е.

4.Определить из Р набор F(R) (привилегию единичного ресурса R) — полномочия, которые определяют поднабор ресурсов из R', имеющего общие элементы с запрашиваемой единицей ресурса R.

Полномочия, которые являются общими для трех привилегий в процедурах 2, 3, 4, образуют D(q), так называемый домен полномочий для запроса q: D(q) = F(u) F(e)F(R).

5.Удостовериться, что запрашиваемый ресурс R полностью включается в D(q), т. е. каждый элемент из R должен содержаться в некоторой единице ресурса, которая определена в домене полномочий D(q).

6.Осуществить разбиение набора D(q) на эквивалентные классы так, чтобы два полномочия попадали в эквивалентный класс тогда и только тогда, когда они специфицируют одну единицу ресурса. Для каждого такого класса логическая операция ИЛИ (И) выполняется с условиями доступа элементов каждого класса.

Новый набор полномочий — один на каждую единицу ресур­са, указанную в D(q), есть F(u, q) — фактическая привилегия пользователя и по отношению к запросу q.

7. Вычислить ЕАС — условие фактического доступа, соответствующего запросу q, осуществляя логическое И (ИЛИ) над условиями доступа членов F(u, q). Это И (ИЛИ) выполняется над всеми единицами ресурсов, которые перекрывают единицу запрошенного ресурса.

8.Оценить ЕАС и принять решение о доступе: разрешить доступ к R, если R перекрывается; отказать в доступе в противном случае.

9.Произвести запись необходимых событий.

10.Вызвать все программы, необходимые для организации доступа после принятия решения.

11.Выполнить все вспомогательные программы, вытекающие для каждого случая из условия 8.

12. Завершить физическую обработку, если решение о доступе было положительным.

Автор модели А. Хартстон отмечает, что приведенная последо­вательность шагов не всегда необходима в полном объеме. Напри­мер, в большинстве реализации шаги 2 и 6 осуществляются во время регистрации пользователя в системе.

Достоинством моделей дискретного доступа является относи­тельная простота. В качестве примера реализации данного типа моделей можно привести так называемую матрицу доступа, стро­ки которой соответствуют субъектам системы, а столбцы — объек­там; элементы матрицы характеризуют права доступа. К недостат­кам относится статичность модели. Это означает то, что модель не учитывает динамику изменений состояния ВС и не накладывает ограничений на состояние системы.

Модели дискретного доступа обеспечивают хорошо гранулиро­ванную защиту, но обладают рядом недостатков. В частности, в си­стемах, построенных на основе DAC, существует проблема троян­ских программ. Троянскую программу следует определять как любую программу, от которой ожидается выполнение некоторого жела­емого действия, а она на самом деле выполняет какое-либо неожи­данное и нежелательное действие. Так, троянская программа мо­жет выглядеть как вполне хороший продукт, но реально она может оказаться даже более опасной, чем можно было бы ожидать.

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

В отличие от DAC, который позволяет передавать права от од­ного пользователя к другому без всяких ограничений, мандатный доступ (MAC) накладывает ограничения на передачу прав досту­па от одного пользователя к другому. Это позволяет разрешить проблему «троянских коней». Классической моделью мандатного доступа, лежащей в основе построения многих систем MAC и по­родившей остальные модели MAC, является модель Белла—Лападула (БЛМ). К сожалению, данная модель не лишена недостат­ков. Для их устранения были созданы некоторые специфичные специализированные модели, основанные на рассмотрении кон­кретных требований, в соответствии с которыми синтезируется данная модель.

Модель Белла—Лападула до сих пор оказывает огромное вли­яние на исследования и разработки в области компьютерной бе­зопасности. Она является базисной для построения MAC. Идеи, заложенные в БЛМ, могут быть использованы при построении различных СБ. Основным положением этой модели является то, что все субъекты и объекты ассоциируются с уровнями безопа­сности, варьирующимися от низких уровней (неклассифициро­ванных) до высоких (совершенно секретных). Для предотвраще­ния утечки информации к неуполномоченным субъектам этим субъектам с низкими уровнями безопасности не позволяется чи­тать информацию из объектов с высокими уровнями безопаснос­ти. Тогда можно сформулировать первое правило БЛМ. Простое свой­ство безопасности, также известное как правило «нет чтения вверх» (NRU), гласит, что субъект с уровнем безопасности xs может чи­тать информацию из объекта с уровнем безопасности х0, только если xs преобладает над х0. Это означает, что если в системе, удов­летворяющей правилам модели БЛМ, субъект с секретным уров­нем доступа попытается прочитать информацию из объекта, клас­сифицированного как совершенно секретный, то такой доступ не будет разрешен.

В случаях когда субъектам не позволяется размещать информа­цию или записывать ее в объекты, имеющие более низкий уро­вень безопасности, или, например, когда совершенно секретный документ помещается в неклассифицированное мусорное ведро, может произойти утечка информации. Тогда можно сформулиро­вать второе правило БЛМ. Свойство, известное как правило «нет записи вниз» (NRD), гласит, что субъект безопасности xs может писать информацию в объект с уровнем безопасности х0, только если х0 преобладает над xs. Это означает, что если в системе, удов­летворяющей правилам модели БЛМ, субъект с уровнем доступа «совершенно секретный» попытается записать информацию в не­классифицированный объект, то такой доступ не будет разрешен.

Правило запрета по записи является большим упрощением некоторых реализаций БЛМ. Так, некоторые описания включают в себя более детальное понятие типа доступа (например, добавле­ние и выполнение). Помимо этого многие модели БЛМ включают в себя понятие дискретной защиты для обеспечения хорошо гра­нулированной защиты при сохранении всех преимуществ БЛМ.

Правила запрета по записи и чтению БЛМ отвечают интуитив­ным понятиям того, как предотвратить утечку информации к не­уполномоченным источникам.

Рассмотрим формализацию БЛМ. В соответствии с определе­ниями:

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

О — множество объектов;

L — решетка уровней безопасности;

F: — функция, применяемая к субъектам и объектам: определяет уровни безопасности своих аргументов в данном со­стоянии;

V— множество состояний, или множество упорядоченных пар (F, М), где М — матрица доступа субъектов системы к объектам.

Система представляется начальным состоянием u0 определен­ным множеством запросов R и функцией переходов T:(V,R)→V, такой что система переходит из состояния в состояние после ис­полнения запроса. Сформулируем определения, необходимые для доказательства основной теоремы безопасности (ОТБ), доказан­ной для БЛМ.

Определение 1. Состояние (F, М) безопасно по чтению (RS) тогда и только тогда, когда для и «чтение» .

Определение 2. Состояние (F, М) безопасно по записи (WS) тогда и только тогда, когда для и «запись» .

Определение 3. Состояние безопасно тогда и только тогда, когда оно безопасно по чтению и записи.

Определение 4. Система (u0 R, Т) безопасна тогда и только тогда, когда состояние u0безопасно и любое состояние, достижи­мое из u0после исполнения конечной последовательности запро­сов из R, безопасно в смысле определения 3.

Описание доказательства теоремы ОТБ и ее подробный анализ представлены в работе [24].

Недостатком БЛМ является отсутствие в модели поддержки многоуровневых объектов (например, наличие несекретного па­раграфа в секретном файле данных) и зависящих от приложения правил безопасности. Эти недостатки были устранены при проек­тировании системы передачи военных сообщений (MMS) К. Лендвером и Дж. МакЛином. Ими была разработана модель MMS, ко­торая является разновидностью модели представления прав, по­строенная на основе степени доверия пользователю.

В модели MMS используются следующие определения.

Классификация — обозначение, накладываемое на информацию, которое отражает ущерб, причиненный неавторизованным досту­пом; включает в себя уровни (TOP SECRET, SECRET и др.) и множество разграничений (CRYPTO, NUCLEAR и т.д.). Множе­ство классификаций и отношение между ними образуют решетку.

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

Пользовательский идентификатор — строка символов, исполь­зуемая для того, чтобы отметить пользователя системы. Для при-

менения системы пользователь должен предъявить ей пользова­тельский идентификатор, и система должна провести аутентифи­кацию пользователя. Данная процедура называется login. Каждый пользователь должен иметь уникальный идентификатор.

Пользователь — персона, уполномоченная для использования системы.

Роль — работа, исполняемая пользователем (например, удале­ние, распространение или понижение классификации объектов). Пользователь всегда ассоциирован, как минимум, с одной ролью из нескольких в данный момент, и он может менять роль в тече­ние сессии. Для действий в данной роли пользователь должен быть уполномочен. Некоторые роли могут быть связаны только с од­ним пользователем (например, распространителем) в данный момент времени. С любой ролью связана способность выполнения определенных операций.

Объект — одноуровневый блок информации. Это минималь­ный блок информации в системе, который имеет классификацию. Объект не содержит других объектов, он не многоуровневый.

Контейнер — многоуровневая информационная структура, ко­торая имеет классификацию и может содержать объекты (каждый со своей классификацией) и (или) другие контейнеры. Файл — это контейнер. Некоторые структуры файла могут быть контейне­рами. Различие между объектом и контейнером базируется на типе, а не на текущем содержимом: если один из файлов данного типа является контейнером, то все остальные файлы данного типа яв­ляются контейнерами, даже если некоторые из них содержат только объекты или пусты. Устройства, такие как диски, принтеры, лен­ты, сетевые интерфейсы и пользовательские терминалы, — кон­тейнеры.

Сущность — объект или контейнер.

Требование степени доверия контейнеров — атрибут некоторых контейнеров. Для них важно требовать минимум степени доверия, т. е. пользователь, не имеющий соответствующего уровня благона­дежности, не может просматривать содержимое контейнера. Такие контейнеры помечаются соответствующим атрибутом (CCR). На­пример, пользователь, имеющий степень доверия CONFIDENTAL, не может просматривать аналогичный параграф сообщения, поме­ченного TOP SECRET, если оно содержится в CCR-контейнере. Если пользователь должен иметь возможность просматривать дан­ное сообщение, то контейнер не должен быть помечен как CCR.

Идентификатор (ID) — имя сущности без ссылки на другие сущности. Например, имя файла является его идентификатором. Обычно все сущности имеют идентификатор.

Ссылка на сущность прямая, если это идентификатор сущности.

Ссылка на сущность косвенная, если это последовательность двух или более имен сущностей (из которых только первая — идеитификатор). Пример: «текущее сообщение, первый абзац, вторая строка».

Операция — функция, которая может быть применена к сущ­ности. Она может позволять просматривать или модифицировать сущность. Некоторые операции могут использовать более одной сущности (например, операция копирования).

Множество доступа — множество троек (пользовательский идентификатор или роль, операция, индекс операнда), которое связано с сущностью. Операция, которая может быть специфи­цирована для особых сущностей, зависит от типа данной сущно­сти. Если операция требует более одного операнда, то индекс операнда специфицирует позицию, на которой ссылка на дан­ный операнд может появиться в операции. Сообщение — особый тип, реализуемый в MMS. Оно является контейнером и включа­ет в себя следующие поля: «куда», «откуда», «время», «пред­мет», «текст», «автор». Графические сообщения содержат поле чертежа.

Другая неформальная модель MMS может быть представлена в следующем виде. Пользователь получает доступ к системе только после прохождения процедуры login. Для этого пользователь пре­доставляет системе пользовательский идентификатор и система производит аутентификацию, используя пароли, отпечатки паль­цев или другую адекватную технику. После успешного прохожде­ния аутентификации пользователь запрашивает у системы опера­ции для исполнения функций системы. Операции, которые пользователь может запросить у системы, зависят от его ID или роли, для которой он авторизован: используя операции, пользователь может просматривать или модифицировать объекты или контей­неры. Система реализует ограничения, описанные ниже.

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

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

2.Пользователь вводит корректную классификацию, когда изменяет или объединяет информацию.

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

4.Пользователь должным образом контролирует информацию объектов, требующих благонадежности.

При этом имеются определенные ограничения безопасности.

1.Авторизация — пользователь может запрашивать операции над сущностями, только если пользовательский идентификатор или текущая роль присутствуют в множестве доступа сущности вместе с этой операцией и со значением индекса, соответствующим позиции операнда, в которой сущность относят к требуемой операции.

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

3.Изменения в объектах — информация, переносимая из объекта, всегда наследует классификацию данного объекта. Информация, вставляемая в объект, должна иметь классификацию ниже классификации этого объекта.

4.Просмотр — пользователь может просматривать (на некотором устройстве вывода) только сущности с классификацией меньше, чем классификация устройства вывода и степень доверия к пользователю (данное ограничение применяется к сущностям, адресуемым прямо или косвенно).

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

6.Преобразование косвенных ссылок — пользовательский идентификатор признается законным для сущности, к которой он обратился косвенно, только если он авторизован для просмотра этой сущности через ссылку.

7.Требование меток — сущности, просмотренные пользователем, должны быть помечены его степенью доверия.

8.Установка степеней доверия, ролей, классификации устройств — только пользователь с ролью офицера безопасности системы может устанавливать данные значения. Текущее множество ролей пользователя может быть изменено только офицером безопасности системы или этим пользователем.

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

10. Уничтожение информации — операция уничтожения информации проводится только пользователем с ролью «пользователь, уничтожающий информацию».

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

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

2.Данная абстрактная модель может быть интерпретирована для доказательства безопасности других систем.

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

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

В данном учебнике не рассматриваются модели распределен­ных систем. Подробно они описаны в работах [5, 18, 24].

Модель защищенности сети дает описание требования безопас­ности для построения защищенной сети. Предполагается, что имеется множество защищенных и незащищенных станций, свя­занных в сеть.

При этом компонентами сети являются хосты, устройства вво­да/вывода и устройства вывода (принтеры).

Каждый компонент сети имеет классификацию защищенно­сти, а пользователь сети — уровень благонадежности. Предполага­ется, что на множестве классов защищенности установлен час­тичный порядок доминирования (≥). Отношение частичного по­рядка рефлексивно, антисимметрично и транзитивно. Для двух классов безопасности sc1, и sc2, если sc1, ≥ sc2, говорят, что sc1, доминирует над sc2. Для двух элементов sc1, и sc2:

множество классов безопасности, доминирующее над sc1 и sc2, — непустое и содержит наибольшую внешнюю границу (sup), доми­нирующую над всеми классами;

множество классов безопасности, над которыми доминируют sc1 и sc2, — непустое и содержит наименьшую внешнюю границу (inf), над которой доминируют все классы.

Далее предполагается, что сущности X и Y (субъекты или объекты) могут иметь более одной классификации Scls(X) = {scx1 scx2,..., sexn} и Scls(Y) = {scy1,scy2,..., scym}Допустим, что sc — класс безопасности, тогда:

Scls(X) ≥ sc ⇔ sexi ≥ sc, ∀ i, 1 ≤ in;

Scls(X) ≤ sc ⇔ sexi ≤ sc, ∀ i, 1 ≤ in

Scls(X) ≥ Scls(Y) ⇔ ∀scxi(l ≤ i ≤ n), sexi ≥ lub(scy1, scy2,..., scym.

 

Определим модель безопасности сети MODEL:

MODEL = <S, О, A, s0>,

где S — множество состояний; О — множество операций систе­мы; А — функция системы; s0 начальное состояние системы.

Множество S моделирует состояние переменных, относящих­ся к защищенности сети. Множество О описывает сетевые опера­ции, а множество А - переходы модели из одного состояния в другое после применения последовательности операций из множества О. Состояние s0 описывает начальное состояние системы.

Определим основные множества, используемые для описания модели.

Sub: множество всех субъектов сети. Включает в себя множе­ство всех пользователей (Users) и всех процессов (Procs) сети: Sub = Procs ◡ Users.

Obj: множество всех объектов сети. Включает в себя множество сетевых компонентов (NC) и информационных блоков (UI) сети: Obj = NC ◡ UI.

Обычно множество сетевых компонентов содержит хосты (Н), устройства ввода-вывода (IOD) и устройства вывода (OD), а мно­жество информационных блоков включает в себя файлы и сооб­щения:

NC = H◡IOD◡OD.

Предполагается, что на множестве классов безопасности Scls определен частичный порядок. Множество ролей пользователя Rset включает в себя роль «офицер безопасности». Множество символь­ных строк обозначают Strings.

Опишем состояние системы. Каждое состояние s ∈S может быть представлено в следующем виде:

s = <Subs, Objs, authlist, conlist, accset, subcls, objcls, curcls,

subrefobj, role, currole, term, contents>,

где Subs — множество субъектов в состоянии s; Objs — множество объектов в состоянии s; authlist — множество, состоящее из эле­ментов в форме (sub, nc), где sub∈Subs, nc∈Objs. Существование элемента (subl, ncl) в множестве отмечает то, что субъект subl имеет право на связь с компонентом сети ncl; conlist — множе­ство, состоящее из элементов в форме (sub, nc). Это множество отражает текущее множество допустимых соединений в данном состоянии; accset — функция активизации пользователей; subcls — функция, приписывающая каждому субъекту его степень доверия: Sub → SCls; objcls — функция, приписывающая каждому объекту один или более уровней классификации: Obj → PS (SCls), где PS — мощность множества. Предполагается, что выходные ус­тройства и информационные блоки имеют единственный уровень классификации, тогда как хосты могут иметь несколько классификаций; curcls — функция, определяющая текущую степень до­верия субъекта: Sub → Scls; subrefobj — множество объектов, к которым субъект может обратиться в данном состоянии: Sub → PS (Obj); role — множество ролей, для которых авторизован пользо­ватель: Users PS (Rset); currole — текущая роль пользователя: Users → Rset; term — терминал, с которого пользователь вошел в систему: Users → IOD; contents — функция, которая отображает множество информационных блоков в множество строк: IU → Strings. Она выделяет содержание информационных объектов.

Для nс ∈ IOD◡OD, view(nc) — множество упорядоченных пар {(х1 у1), (х2, у2),..., (хn уп) }, где каждое уi отражается на компо­ненте nс; хi информационный блок; уi — результат применения функции contents к х i.

Модель сети содержит следующие предположения безопасности.

1.На хостах сети существует надежная схема пользовательской аутентификации. Каждый пользователь и процесс в сети имеет уникальный идентификатор.

2.Только пользователь с ролью «офицер безопасности сети» может присваивать классы безопасности субъектам и компонентам сети и роли пользователям.

3.Все сущности сети имеют сравнимые классы безопасности.

4.Имеет место надежная передача данных по сети.

5.В сети реализована надежная криптозащита.

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

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

Состояние s удовлетворяет ограничениям при доступе к систе­ме, если ∀ x ∈Userss:

subcls(x) ≥ objcls(term(x));

subcls(x) ≥ curcls(x);

currole(x) ∈ role(x).

При прохождении фазы установления связи для определения доступных соединений должны поддерживаться дискретная и мандатная сети. При этом имеется ограничение связи: состояние s удовлетворяет ограничениям связи, если ∀(sub, nc) ∉ connlist:

∀(sub, nc) ∉ authlist;

если nс ∉ OD ⇒ curcls(sub) ≥ sup(oc1oc2,..., ос j),

где objcls(nc) = {ос1ос2,..., ос j };

если пс е OD => objcls(nc) > subcls(sub).

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

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

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

Состояние s безопасно в следующих случаях:

s удовлетворяет ограничениям при доступе к системе;

s удовлетворяет ограничениям связи;

∀ʐ∈(IOD s и OD s), ∀ x ∈ (х, contents(x) ∈ view(x) ⇒ objcls(ʐ) ≥ objcls(x);

∀ʐ ∈Users, currole(u) ∈role(u).

Здесь предполагается, что начальное состояние системы s0 оп­ределено таким образом, что оно удовлетворяет условиям безо­пасного состояния, изложенным выше.

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

Игровая модель системы защиты строится по следующей техно­логии. Разработчик создает первоначальный вариант системы защиты. После этого злоумышленник начинает его преодолевать. Если к определенному моменту времени, в который злоумышленник преодолел систему защиты, у разработчика нет нового варианта, то система защиты преодолена, а если нет — процесс продолжа­ется. Данная модель описывает процесс эволюции системы защи­ты в течение времени.

Модель системы безопасности с полным перекрытием предпола­гает, что система должна иметь, по крайней мере, одно средство для обеспечения безопасности на каждом возможном пути про­никновения в систему (рис. 3.1).

В модели точно определяется каждая область, требующая за­щиты, оцениваются средства обеспечения безопасности с точки зрения их эффективности и их вклад в обеспечение безопасности во всей вычислительной системе. Считается, что несанкциониро­ванный доступ к каждому из набора защищаемых объектов О со­пряжен с некоторой величиной ущерба и он может (или не мо­жет) быть определен количественно.

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

Множество отношений объект — угроза образуют двухдольный граф, в котором ребро <ti оj > существует тогда и только тогда, когда ti (∀tiT)является средством получения доступа к объекту оi (∀ оiО). Связь между объектами и угрозами типа «один к мно­гим», т.е. одна угроза может распространяться на любое число объектов и

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

Завершает модель третий набор, включающий в себя средства безопасности М, которые используются для защиты процессов переработки информации в вычислительной системе. Идеально каждое mk (∀mkM) должно устранять некоторое ребро < ti, о j > из графа (см. рис. 3.1). Набор М средств обеспечения безопасности преобразует двухдольный граф в трехдольный. В защищенной си­стеме все ребра представляются в виде <ti mk> и <mk, oj>. Любое ребро в форме <tt oj> определяет незащищенный объект. Одно и то же средство обеспечения безопасности может перекрывать бо­лее одной угрозы и (или) защищать более одного объекта. Отсутствие ребра <ti oj> не гарантирует полного обеспечения безопас­ности (хотя его наличие дает потенциальную возможность несан­кционированного доступа, за исключением случая, когда вероят­ность появления ti, равна нулю).

Эта модель эффективно реализует базовую систему безопасно­сти Клеменса, представляющую собой пятикортежный набор:

S= {О, Т, М, V, В},

где О — набор защищаемых объектов; Т — набор угроз; М — на­бор средств обеспечения безопасности; V— набор уязвимых мест, т. е. отображение Т×О на набор упорядоченных пар Vi = <ti oj>, представляющих собой пути проникновения в систему; В — набор барьеров, т.е. отображение V×M или T×O×M набор упорядо­ченных троек < it, oj, mk>, представляющих собой точки, в кото­рых требуется осуществлять защиту в системе.

Система с полным перекрытием — это система, в которой име­ются средства защиты на каждый возможный путь проникнове­ния. В такой системе < ti, oj >∈ V предусматривает <ti oj, mk>B. Если это условие не соблюдено, то Оj, не защищено для некоторого j.

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

При синтезе систем защиты процессов переработки информа­ции данный подход полезен тем, что позволяет минимизировать накладные расходы (ресурсы вычислительной системы) для реа­лизации заданного уровня безопасности. Модели данного типа могут использоваться при анализе эффективности внешних по отношению к защищаемой системе средств защиты процессов переработки информации. Примером использования данной мо­дели является анализ на ее основе вероятности вскрытия за ко­нечный временной промежуток средств защиты, предлагаемых для системы MS DOS. Для систем защиты, построенных на основании других моделей, эта модель может применяться для анализа эф­фективности процедуры идентификации/аутентификации. При анализе систем защиты процессов переработки информации мо­дели данного типа позволяют оценить вероятность преодоления системы защиты и степень ущерба системе в случае преодоления системы защиты.

Модели, основанные на принципах теории ин­формации К.Шеннона, определяют ограничения на отно­шение ввода/вывода системы, которые часто достаточны для реализации системы. Информационные (потоковые) модели невме­шательства и невыводимости являются результатом применения шенноновской теории информации к проблеме безопасности си­стем (см. табл. 3.1). Метод, реализующий приведенные специфика­ции, должен определять разработчик. Теория данных математи­ческих моделей бурно развивается в настоящее время.

Модель невмешательства базируется на понятии «невмешатель­ство». Невмешательство — это ограничение, при котором ввод высокоуровневого пользователя не может смешиваться с выво­дом низкоуровневого. Модель невмешательства рассматривает си­стему, как состоящую из четырех объектов: высокий ввод (high-in), низкий ввод (low-in), высокий вывод (high-out), низкий вы­вод (low-out).

Рассмотрим систему, вывод которой пользователю и опреде­лен функцией out (u, hist.read(w)), где hist.read(w) — история вво­да системы (traces), чей последний ввод был read(w), команда чте­ния, исполненная пользователем и.

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

Определим cl, функцию от пользователей к уровням безопа­сности, такую что с1(и) — степень доверия к и и purge, функцию от usersitraces в traces, такую что:

purge (и, < >)= < >, где < > — пустая история ввода;

purge (и, hist.command(w)) = purge (и, hist).command(w), если command(w) — ввод, исполненный пользователем w; cl(u) cl(w).

purge (и, hist.command(w)) = purge (и, hist), если command(w) — ввод, исполненный пользователем w; cl(u) < cl (w).

Система удовлетворяет невмешательству только в том случае, если для всех пользователей и, всех историй Т и всех команд вы­вода соблюдается равенство out(u, Т.с(и))= out(u,purge(u, T).с(и)).

Рассмотрим вероятностную формулировку модели невмешатель­ства. При этом требование невмешательства формулируется сле­дующим образом:

р (low – outt |high – ins & low – ins) = p (low – outt |low – ins),

где ins — последовательность значений in для всех моментов времени, предшествующих t.

При сравнении данной модели с БЛМ можно сделать следую­щие выводы:

1.Модель Белла-Лападула слабее, чем модель невмешательства, так как последняя запрещает многие скрытые каналы, которые остаются при реализации примитивной БЛМ.

2.Модель невмешательства слабее, чем БЛМ, так как она разрешает низкоуровневым пользователям копировать один высокоуровневый файл в другой высокоуровневый файл, что БЛМ запретит, так как при этом нарушается ее безопасность по чтению.

В обоих случаях модель невмешательства ближе к интуитивно­му понятию безопасности, чем БЛМ. Преимуществом модели не­вмешательства для определенных систем является следующее: если последовательность входа X не смешивается с последовательно­стью вывода Y, а X независима от ввода других пользователей, то I(X, Y) = 0, где I(X, Y) — взаимная для X и Y информация.

Модель невыводимости определяется терминами «пользователь» и «информация», связанными с одним из двух возможных уров­ней секретности (высоким и низким). Система считается невыводимо безопасной, если пользователи с низкими уровнями безо­пасности не могут получить информацию с высоким уровнем безопасности в результате любых действий пользователей с высо­ким уровнем безопасности. Другими словами, в таких системах утечка информации не может произойти в результате посылки высокоуровневыми пользователями высокоуровневой информа­ции к низкоуровневым пользователям. Интуитивно это определе­ние относится не к информационным потокам, а к разделению информации. Однако такое определение безопасности не предох­раняет информацию высокоуровневых пользователей от просмот­ра низкоуровневыми пользователями. Оно просто требует, чтобы низкоуровневые пользователи не были способны использовать доступную им информацию для получения высокоуровневой ин­формации (это объясняет понятие невыводимости в моделях).

Многие исследователи предложили рассматривать понятия «по­сылка» и «интерпретация сигнала» шире, чем понятия «чтение» и «запись» в модели БЛМ. Таким образом, чтение и запись часто рассматриваются в контексте этой модели как явные операции, вызываемые пользователями компьютерной системы, и выпол­няются определенной автоматизированной последовательностью вычислительных действий. Посылку и интерпретацию сигналов или информации в контексте безопасности невыводимости часто можно рассматривать как действия, имеющие побочные эффекты рабо­ты, которые нельзя описать как чтение или запись информации. Поскольку данное определение неформально, то обычно появляется необходимость представить понятие невыводимости в более строгой форме. Это делается во избежание двусмысленности или других ошибок в характеристиках. Поэтому это понятие представ­ляют, используя модель машины с ограниченными атрибутами как средство для более точного определения невыводимости. В ча­стности, машина будет обладать детерминированным поведением и состоять из следующих частей:

набор пользователей с высоким или низким уровнем безопас­ности при разумных правилах спокойствия;

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

Предположим, что машина принимает последовательность вхо­дов от высоко- и низкоуровневых пользователей, обрабатывает ее некоторым образом, а затем формирует последовательность вы­ходов к высоко- и низкоуровневым пользователям в детермини­рованном виде. Возможно также, что на входе и выходе находятся одни и те же пользователи. Единственным различием между пользо­вателями является их уровень безопасности — высокий или низ­кий.

Если множество входов от пользователей в машину связано с множеством выходов, получаемых пользователями от машины каким-либо разумным образом (например, основываясь на вре­мени их поступления), то можно рассматривать выходную после­довательность как трассировку системы. Безопасность невыводимости может быть определена в соответствии с множеством всех трассировок системы и множеством входов и выходов, видимых пользователями. Точнее, система может быть признана невыводимо безопасной, если для каждой метки безопасности х и определенной трассировки есть вторая трассировка, показывающая то же поведение, видимое пользователями с меткой безопасности, меньшей или равной х, но не имеющая входов, не меньших или равных х. Другими словами, высокоуровневые входы всегда могут быть удалены из трассировки и это не повлияет на то, что видят низкоуровневые пользователи. Понятие невыводимости не охва­тывает ситуаций, основанных на концепции «интерпретации ин­формации» в той степени, в которой этого можно было ожидать. Это исправляется с помощью ограничения понятия составляю­щих входов и выходов модели. Предположим, что некоторая си­стема принимает входы и обеспечивает выходы для множества высоко- и низкоуровневых пользователей, каждый из которых ог­раничен определенным восприятием системы (например, види­мые входы и выходы) и может получить информацию, интерпретируя видимое ему поведение. Если система является невыводимо безопасной, то низкоуровневые пользователи не должны полу­чить новой информации, если на ее входе есть дополнительные высокоуровневые пользователи. Кроме того, если низкоуровне­вые пользователи могут получить определенную информацию, основываясь на видимом ими поведении, то удаление высоко­уровневых пользователей не должно изменить получаемой низко­уровневыми пользователями информации.

 


Дата добавления: 2015-12-08; просмотров: 198 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.049 сек.)