Модели контроля целостности. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Модели контроля целостности.



Следующей по порядку, но не по значимости, в нашем списке находится угроза целостности информации. Данный параграф начинается с рассмотрения модели аналогичной БЛМ, используемой для синтеза механизмов контроля цело­стности информации в системе, модели Биба (2.2.2.1.). Дан­ное рассмотрение заканчивается рассмотрением попытки объединения моделей БЛМ и Биба в одну модель. Далее мы рассмотрим модель Кларка- Вилсона(КВМ) (2.2.2.2.). Эта модель является примером неформального выражения по­литики безопасности. Данная модель сформулирована в виде набора неформальных правил, и, хотя в литературе, она названа моделью безопасности, ее скорее можно на­звать политикой контроля целостности. Параграф заканчи­вается рассмотрением особого случая применения механиз­мов контроля целостности — проблеме контроля целостности ядра системы, механизмам часовых (2.2.2.3.).

2.2.2.1. Модель Биба.

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

Два этих наблюдения сделал в середине 1970-х Кен Биба. Они были последовательно внесены в модель безопасности, которая с тех пор называется моделью целосности Биба (или просто моделью Биба). Биба выразил свою модель таким же способом, каким была выраженаБЛМ, затем исключением, что правила его модели являются полной противоположностью правилам БЛМ. В этом параграфе рассмотрим три вариации модели Биба: мандатную модель целостности, модель понижения уровня субъекта и модель понижения уровня объекта. Фактически, общий термин "модель Биба" используется для обозначения любой или сразу всех трех моделей. Для мандатной модели целостности предлагается формальное описание и дается пример системы, удовлетворяющей модели Биба для иллюстрации определения.

Мандатную модель целостности Биба часто называют инверсией БЛМ. Это довольно точное название, поскольку основные правила этой модели просто переворачиют правила БЛМ. Мы будем ссылаться на эти правила как "нет чтения снизу" (NRD) и "нет записи наверх" (NWU), и определим их в терминах субъектов, объектов, и нового типа уровней безопасности — уровней целостности, над которыми может быть введено отношение преобладания.

Правило NRD мандатной модели целостности Биба определяется как запрет субъектам на чтение информации из объекта с более низким уровнем целостности. NRD является

полной противоположностью правила NRU БЛМ, за исключе­нием того, что здесь используются уровни целостности, а не безопасности, как в БЛМ. Правило NWU мандатной модели целостности Биба определяется как запрет субъектам на запись информации в объект с более высоким уровнем це­лостности. Это правило является полной противоположнос­тью правила NWD БЛМ, для случая уровней целостности, а не безопасности.

Одним из преимуществ этой модели является то, что она унаследовала многие важные характеристики БЛМ, включая ее простоту и интуитивность. Это значит, что проектировщики реальных систем могут легко понять суть этих правил и использовать их для принятия решений при проектировании. Кроме того, поскольку мандатная модель целостности Биба, подобно БЛМ, основана на простой иерархии, ее легко объяснить и изобразить пользователям системы.

С другой стороны, модель представляет собой очевидное противоречие с правилами NRU и NWD. Это значит, что если необходимо построить систему, которая предотвращает угрозы как секретности, так и целостности, то одновременное использование правил моделей БЛМ и Биба может привести к ситуации, в которой уровни безопасности и целостности будут использоваться противоположными способами.

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

Начнем с представления множества субъектов и объектов. Уровни целостности субъекта или "объекта х обозначаются как уровень(х), и для них введено отношение преобладания. Используя эти определения, сформулируем правила NRD и NWU мандатной модели целостности Биба в терминах булевой функции разрешить:

NRD: "sÎ субъекты, оÎобъекты:

разрешить (s, о, чтение) если и только если уровень(о) преобладает уровень(з)

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

NWU: "sÎсубъекты, оÎобъекты:

разрешить (s, о,запись) если и только если уровень (s) преобладает уровень(о)

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

Модель понижения уровня субъекта.

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

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

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

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

Модель понижения уровня объекта.

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

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

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

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

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

В качестве дополнительной критики модели Биба можно

упомянуть то, что она не предусматривает механизмов повышения целостности, что ведет к монотонному снижению целостности системы. Помимо этого, многие исследователи критиковали модель Биба за то, что она использует целостность как некую меру и ставили под сомнение то, что понятие "большей целостности" имеет какой-либо смысл. Их аргументом было то, что целостность субъектов и объектов следует рассматривать как двоичный атрибут, который или есть или нет. В качестве примера они приводили утверждение, что компьютерная программа работает или правильно или неправильно. С точки зрения логики это имеет смысл, но можно представить себе некоторые уровни правильности (например, минимальные синтаксические ошибки в программе могут снизить ее правильность намного меньше, чем значительный семантический изъян).

Обединение моделей безопасности.

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

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

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

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

Для этого рассмотрим несколько технических вопросов, касающихся объединения моделей БЛМ и Биба в системе, которая должна решать как проблемы секретности, так и целостности.

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

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

Еще один подход основан на использовании одного уровня как для целостности, так и для безопасности. В этом случае уровень безопасности обрабатывается в соответствии с БЛМ, но с помощью ловкого подхода будет обеспечиваться также и контроль целостности. Этот подход подразумевает размещение субъектов и объектов с высокой целостностью на нижней ступени иерархии безопасности. Поскольку субъекты и объекты с высокой целостностью находятся внизу иерархии, а компоненты с низкой целостностью — наверху иерархии, то правила NRU и NWD имитируют мандатную модель целостности Биба в структуре БЛМ. То есть, чтение сверху в иерархии БЛМ является чтением снизу иерархии модели Биба. Аналогично, запись наверх в БЛМ является записью вниз в модели Биба.

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

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

2.2.2.2. Модель Кларка-Вилсона.

В 1987 г. Дэвид Кларк и Дэвид Уилсон представили модель целостности, которая существенно отличалась от уровнеориентированных моделей безопасности БЛМ и Биба[11]. Созданию этой модели, которая известна как модель Кларка-Вилсона (КВМ), способствовал анализ методов управления коммерческими организациями целостностью своих бумажных ресурсов в неавтоматизированном офисе. То есть, был рассмотрен ряд хорошо известных методов учета и сделана попытка распространения их на случай ком­пьютерных приложений. Получившаяся модель целостности представляет собой руководство для разработчиков и про­ектировщиков компьютерных систем для обеспечения цело­стности определенных вычислительных ресурсов.

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

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

Исходные концепции модели КВМ.

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

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

Чтобы различать данные, обладающие целостностью и не обладающие, создатели модели разделили D на два не­пересекающиеся подмножества, которые называются ограниченные элементы данных (CDI) и неограниченные элементы данных (UDI). Это можно изобразить следующими определениями:

D = CDI ⋃ UDI

CDI ∩ UDI = 0

Первое определение показывает, что D является объединением CDI и UDI, а второе определение показывает, что нет элементов, принадлежащих и CDI и UDI. Набор D paзделен таким образом, потому что мы хотим показать как может меняться целостность данных. То есть, данные не имеющие целостности и находящиеся поэтому в UDI, могут быть некоторым образом модернизированы, так чтобы иметь целостность и находиться соответственно в CDI.

Для упрощения нашего обсуждения мы будем ссылаться на элементы CDI и UDI как CDI и UDI.

Субъекты включены в модель как множество компонент, которые могут инициировать так называемые npоцедуры преобразования. Процедура преобразования определяется как любая ненулевая последовательность элементарных действий. Элементарное действие, в свою очередь, определяется как переход состояния, который может вызвать изменение некоторых элементов данных. Например, cyбъекты могут устранять элементы данных, изменять информацию в элементах данных, копировать их, и т.д. Каждая из этих операций называется процедурой преобразования (или посто ПП), поскольку действительный способ, которым каждая из них выполняется, включает в себя последовательность элементарных действий (например, копирование А в В обычно состоит из таких операций как чтение А, создание В, запись в В).

Если мы будем ссылаться на множество субъектов как на субъекты, то ПП могут быть представлены как функции, ставящие в соответствие субъект и элемент данных с новым элементом данных следующим образом (вспомните, что А*В является множеством пар (а, b), где аÎА, bÎВ):

ПП: субъекты х D→D

ПП являются просто действиями, которые над данными выполняют субъекты, способные изменить определенные данные. Чтобы проиллюстрировать это определение, мы можем определить некоторый ПП, называемый копирование, который обозначает свойство: sÎсубъекты, dÎD: копирование (s, d) = d.

Правило модели КВМ.

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

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

Правило 1: в системе должны иметься IVP, утверждаю­щие целостность любого CDI.

Можно представить себе IVP как некий тип просмотра или процедуру проверки исправности для утверждения це­лостности каждого CDI и подтверждения отсутствия целост­ности каждого UDI. Простейшим примером такой процедуры утверждения является проверка контрольной суммы. При использовании этого подхода вычисляется контрольная сум­ма некоей хранимой информации и копии этой информации сравниваются с оригиналом путем проверки соответствую­щих контрольных сумм. Различия в контрольных суммах сиг­нализируют о внесении изменений.

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

Второе правило модели КВМ гласит, что когда любой ПП применяется к любому CDI, то производимые изменений не должны приводить к снижению целостности этих данных,

Правило 2: Применение любого ПП к любому CDI долж­но сохранять целостность этого CDI.



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 801; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.13.173 (0.028 с.)