Читайте также:
|
|
Наиболее важными являются характеристики множества субъектов и объектов системы, по которым могут быть классифицированы модели разграничения доступа (табл. 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 ≤ i ≤ n;
Scls(X) ≤ sc ⇔ sexi ≤ sc, ∀ i, 1 ≤ i ≤ n
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 (∀ti ∈ T)является средством получения доступа к объекту оi (∀ оi ∈ О). Связь между объектами и угрозами типа «один к многим», т.е. одна угроза может распространяться на любое число объектов и
объект может быть уязвим со стороны более чем одной угрозы. Цель защиты состоит в том, чтобы перекрыть каждое ребро графа и воздвигнуть барьер для несанкционированного доступа по этому пути.
Завершает модель третий набор, включающий в себя средства безопасности М, которые используются для защиты процессов переработки информации в вычислительной системе. Идеально каждое mk (∀mk ∈ M) должно устранять некоторое ребро < 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 | Нарушение авторских прав