Модели обеспечения конфиденциальности

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

Формальные модели безопасности и их анализ

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

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

При функционировании АС происходит взаимодействие меж­ду ее компонентами, порождаются информационные потоки. Ос­новная цель создания политики безопасности и описания ее в виде формальной модели — это определение условий, которым

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

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

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

а) дискреционные модели (матрицы доступа Харрисона, Руззо и Ульмана, модели Take-Grant, Белла—Лападула и др.);

б) мандатные модели (Белла—Лападула, Биба, систем воен­ных сообщений);

в) модели ролевого разграничения доступа, которые нельзя отнести ни к дискреционным, ни к мандатным.

Модели данного типа широко используются в большинстве реальных систем. Так, в наиболее ответственных АС требуется обязательное сочетание дискреционного и мандатного доступа, поэтому рассмотрим их подробнее.

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

Для описания дискреционной модели используется матрица доступа — таблица, отображающая правила доступа. Например, в столбцах матрицы могут быть размещены S-субъекты, в строках — О-объекты, а на пересечении столбцов и строк размещаются R-права доступа. Права доступа могут быть типа: чтение, запись, запуск процесса, управление доступом к файлу для других пользо­вателей и т.п. Матрицу доступа можно задавать по-разному: от­талкиваясь либо от субъектов, либо от объектов.

Примером дискреционной модели является модель Харрисо­на, Руззо и Ульмана. Элементы этой модели — субъекты, объек­ты, права доступа и матрица доступов. Рассматриваются следую­щие права доступа: чтение, запись, владение. Функционирование системы рассматривается только с точки зрения изменений в мат­рице доступов. Изменения происходят за счет выполнения ко­манд, которые составляются из 6 примитивных операторов: вне­сти/удалить право, создать/уничтожить субъект/объект.

Авторы модели доказали, что в самом общем случае вопрос определения безопасности компьютерной системы неразрешим, т.е. не существует алгоритм, позволяющий определить, безопасна система или нет. Вместе с тем если в системе отсутствуют коман­ды вида Create object, Create subject, то ее безопасность может быть оценена полиномиальным алгоритмом. Конечно, такая си­стема является нереалистичной, поэтому было выполнено мно­жество исследований на тему «Какие самые слабые ограничения можно наложить на систему, чтобы вопрос безопасности оставал­ся разрешимым?». Эти исследования привели, в частности, к раз­работке системы Take-Grant, в которой вопрос безопасности раз­решим, причем за полиномиальное время. К достоинствам моделей дискреционного доступа можно от­нести их гибкость.

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

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

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

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

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

1) допускается чтение и запись информации между объектами одного уровня конфиденциальности;

2) не допускается запись информации «вниз», т.е. от объектов с большим уровнем конфиденциальности к объектам с меньшим уровнем;

3) не допускается чтение «вверх», т.е. от объектов с меньшим уровнем конфиденциальности к объектам с большим уровнем,

Второе правило разрешает проблему троянских коней, так как запись информации на более низкий уровень запрещена.

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

Ясно, что в «чистом» виде модель Белла—Лападула нереалис­тична. В самом деле, у субъекта, находящегося на высоком уровне конфиденциальности, может возникнуть потребность создания несекретного документа, однако он вынужден будет присвоить ему высокий гриф.

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

В реальных АС всегда есть администраторы, управляющие со­стоянием системы: они добавляют и удаляют субъекты, объекты, изменяют права доступа. Подобные действия администраторов не могут контролироваться правилами модели Белла—Лападула. Ад­министраторами могут быть не только физические лица, но и процессы и драйверы, обеспечивающие критические функции. Модель Белла—Лападула не устанавливает никаких специальных правил поведения доверенных субъектов.

Фундаментальным недостатком мандатных систем является проблема существования в них скрытых каналов утечки инфор­мации. Особенно это актуально для распределенных систем. На­пример, субъект высокого уровня конфиденциальности одного сегмента АС посылает запрос на чтение объекта с меньшим уров­нем конфиденциальности другого сегмента. Этот запрос есть не­желательный информационный поток «сверху вниз», нарушающий правила модели Белла—Лападула. Можно привести примеры и других скрытых каналов, образуемых как по памяти, так и но времени.

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

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

В модели СВС описываются четыре постулата безопасности, обязательных для выполнения:

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

2. Пользователь верно назначает уровни конфиденциальности модифицируемых им сущностей.

3. Пользователь корректно направляет сообщения по адресам И определяет множества доступа к созданным им сущностям.

4. Пользователь правильно определяет атрибут контейнера.

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

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

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

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

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

РРД активно применяется в существующих АС. В данной мо­дели субъект замещается понятиями «пользователь» и «роль», пользователь — человек, работающий с системой, выполняющий определенные служебные обязанности. Роль — активно действу­ющая в системе абстрактная сущность, с которой связана сово­купность прав доступа. Количество ролей в системе может не со­ответствовать количеству пользователей. Один пользователь мо­жет выполнять несколько ролей, а несколько пользователей мо­гут выполнять одну и ту же роль.

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

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

Для обеспечения соответствия реальным компьютерным си­стемам на множестве ролей строится иерархическая структура. Это позволяет пользователю, авторизованному на некоторую роль, быть автоматически авторизованным на все роли, меньшие ее в иерархии.

Ролевая политика обеспечивает удобное администрирование безопасности АС, так как пользователям даются не индивидуаль­ные права, а предоставляются права, связанные с конкретной ролью. Понятие роли используется в ГОСТ Р ИСО МЭК 15408 — 2002, а также в стандарте SQL3.

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

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

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

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

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

Главное достоинство данной модели по сравнению с моделью Белла—Лападула — отсутствие в ней скрытых каналов. Недоста­ток заключается в высокой сложности верификации модели.

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

Требования информационной невыводимости более строгие, чем требования безопасности модели Белла—Лападула, и предполага­ют изоляцию друг от друга высокоуровневых и низкоуровневых объектов системы, что практически нереализуемо на практике.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: