Формальные модели безопасности
Наибольшее развитие получили два подхода, каждый из которых основан на своем видении проблемы безопасности и нацелен на решение определенных задач, — это формальное моделирование политики безопасности и криптография. Причем эти различные по происхождению и решаемым задачам подходы дополняют друг друга: криптография может предложить конкретные методы защиты информации в виде алгоритмов идентификации, аутентификации, шифрования и контроля целостности, а формальные модели безопасности предоставляют разработчикам основополагающие принципы, лежащие в основе архитектуры защищенной системы и определяющие концепцию ее построения.
Модель политики безопасности — формальное выражение политики безопасности. Формальные модели используются достаточно широко, потому что только с их помощью можно доказать безопасность системы, опираясь при этом на объективные и неопровержимые постулаты математической теории.
Основная цель создания политики безопасности ИС и описания ее в виде формальной модели — это определение условий, которым должно подчиняться поведение системы, выработка критерия безопасности и проведение формального доказательства соответствия системы этому критерию при соблюдении установленных правил и ограничений. На практике это означает, что только соответствующим образом уполномоченные пользователя получат доступ к информации и смогут осуществлять с ней только санкционированные действия.
Среди моделей политик безопасности можно выделить два основных класса: дискреционные (произвольные) и мандатные (нормативные). В данном подразделе в качестве примера изложены основные положения наиболее распространенных политик безопасности, основанных на контроле доступа субъектов к объектам.
Дискреционная модель Харрисона—Руззо — Ульмана.Модель безопасности Харрисона—Руззо —Ульмана, являющаяся классической дискреционной моделью, реализует произвольное управление доступом субъектов к объектам и контроль за распространением прав доступа.
В рамках этой модели система обработки информации представляется в виде совокупности активных сущностей — субъектов (множество S), которые осуществляют доступ к информации, пассивных сущностей — объектов (множество О), содержащих защищаемую информацию, и конечного множества прав доступа R = {r1, ..., rn}, означающих полномочия на выполнение соответствующих действий (например, чтение, запись, выполнение).
Причем для того чтобы включить в область действия модели и отношения между субъектами, принято считать, что все субъекты одновременно являются и объектами. Поведение системы моделируется с помощью понятия «состояние». Пространство состояний системы образуется декартовым произведением множеств составляющих ее объектов, субъектов и прав — OSR. Текущее состояние системы Q в этом пространстве определяется тройкой, состоящей из множества субъектов, множества объектов и матрицы прав доступа М, описывающей текущие права доступа субъектов к объектам, — Q = (S, О, М). Строки матрицы соответствуют субъектам, а столбцы — объектам, поскольку множество объектов включает в себя множество субъектов, матрица имеет вид прямоугольника. Любая ячейка матрицы M[s, о]содержит набор прав субъекта s к объекту о, принадлежащих множеству прав доступа R. Поведение системы во времени моделируется переходами между различными состояниями. Переход осуществляется путем внесения изменений в матрицу М с помощью команд следующего вида:
Здесь а — имя команды; хi — параметры команды, являющиеся идентификаторами субъектов и объектов; si и оi — индексы субъектов и объектов в диапазоне от 1 до k; opi — элементарные операции.
Элементарные операции, составляющие команду, выполняются только в том случае, если все условия, означающие присутствие указанных прав доступа в ячейках матрицы М, являются истинными. В классической модели допустимы только следующие элементарные операции:
enter r into M[s, о] (добавление субъекту s права r для объекта о)
delete r from M[s, о] (удаление у субъекта s права r для объекта о)
create subject s (создание нового субъекта s)
create object о (создание нового объекта о)
destroy subject s (удаление существующего субъекта s)
destroy object о (удаление существующего объекта о)
Критерий безопасности модели Харрисона — Руззо — Ульмана формулируется следующим образом.
Для заданной системы начальное состояние Q0= (S0, O0, М0) является безопасным относительно права r, если не существует применимой к Q0последовательности команд, в результате которой право r будет занесено в ячейку матрицы М, в которой оно отсутствовало в состоянии Q0.
Нужно отметить, что все дискреционные модели уязвимы по отношению к атаке с помощью «троянского коня», поскольку в них контролируются только операции доступа субъектов к объектам, а не потоки информации между ними. Поэтому, когда «троянская» программа, которую нарушитель подсунул некоторому пользователю, переносит информацию из доступного этому объекта в объект, доступный нарушителю, то формально никакое правило дискреционной политики безопасности не нарушается, но утечка информации происходит.
Таким образом, дискреционная модель Харрисона—Руззо — Ульмана в своей общей постановке не дает гарантий безопасности системы, однако именно она послужила основой для целого класса моделей политик безопасности, которые используются для управления доступом и контроля за распределением прав во всех современных системах.
Типизованная матрица доступа.Другая дискреционная модель, получившая название «Типизованная матрица доступа» (Type Access Matrix — далее ТАМ), представляет собой развитие модели Харрисона—Руззо—Ульмана, дополненной концепцией типов, что позволяет несколько смягчить те условия, для которых возможно доказательство безопасности системы.
Состояние системы описывается четверкой Q = (S, О, t, М), где S, О и М обозначают соответственно множество субъектов, объектов и матрицу доступа, a t: O → Т — функция, ставящая в соответствие каждому объекту некоторый тип.
Состояние системы изменяется с помощью команд из множества С. Команды ТАМ имеют тот же формат, что и в модели Харрисона—Руззо—Ульмана, но всем параметрам приписывается определенный тип:
Перед выполнением команды происходит проверка типов фактических параметров, и, если они не совпадают с указанными в определении, команда не выполняется. Фактически введение контроля типов для параметров команд приводит к неявному введению дополнительных условий, так как команды могут быть выполнены только при совпадении типов параметров. В модели используются следующие шесть элементарных операций, отличающихся от аналогичных операций модели Харрисона—Руззо —Ульмана только использованием типизованных параметров:
Смысл элементарных операций совпадает со смыслом аналогичных операций их классической модели Харрисона — Руззо — Ульмана с точностью до использования типов.
Таким образом, ТАМ является обобщением модели Харрисона—Руззо—Ульмана, которую можно рассматривать как частный случай ТАМ содним-единственным типом, к которому относятся все объекты и субъекты. Появление в каждой команде дополнительных неявных условий, ограничивающих область применения команды только сущностями соответствующих типов, позволяет несколько смягчить жесткие условия классической модели, при которых критерий безопасности является разрешимым.
Несмотря на различающиеся подходы, суть всех моделей безопасности одинакова, поскольку они предназначены для решения одних и тех же задач. Целью построения модели является получение формального доказательства безопасности системы, а также определения достаточного критерия безопасности.
Безопасность системы определяется в равной степени тремя факторами: свойствами самой модели, ее адекватностью угрозам, воздействующим на систему, и тем, насколько корректно она реализована. Поскольку при существующем разнообразии теоретических наработок в области теории информационной безопасности выбор модели, адекватной заданным угрозам, не является проблемой, последнее, решающее слово остается за ее реализацией в защищенной системе.