Классификация систем защиты. Системы гарантированной защиты.



Классификация систем защиты. Пример гарантированно защищенной системы обработки информации.

Записывает во внешнюю память все объекты, которые он хочет сохранить для дальнейших сеансов;

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

Построим пример гарантированно защищенной системы обработки информации. Сначала определим модель å системы, которая оперирует с ценной информацией. Считаем, что время дискретно и принимает значения из множества N={l, 2,... }, информация в системе å, включая описание самой системы, представима в форме слов некоторого гипотетического языка Я над некоторым конечным алфавитом А. Напомним, что объект в å - это конечное множество слов из Я, состояние объекта - выделенное слово из множества, определяющего этот объект. С понятием объекта связано агрегирование информации в å и о å. Например, объектом является принтер, который можно рассматривать как автомат с конечным множеством состояний, а эти состояния - суть слова языка Я. Другой пример объекта - файл. Множество слов, которые могут быть записаны в файле, является конечным и определяет объект, а состояния объекта -это текущая запись в файле, которая тоже является словом в языке Я.

Принято считать, что вся информация о å в данный момент может быть представлена в виде состояний конечного множества объектов. Поэтому будем считать, что состояние системы å - это набор состояний ее объектов. Объекты могут создаваться и уничтожаться, поэтому можно говорить о множестве объектов системы å в момент t, которое мы будем обозначать Оt, |Ot|<¥.

Для каждого tÎN выделим в Оt подмножество St субъектов. Любой субъект SÎSt есть описание некоторого преобразования информации в системе å. Для реализации этого преобразования в å необходимо выделить определенные ресурсы (домен) и организовать определенное взаимодействие ресурсов, приводящее к преобразованию информации, которое назовем процессом. Тогда каждый субъект может находиться в двух состояниях: в форме описания, в котором субъект называется неактивизированным, и в форме (домен, процесс), в которой субъект называется активизированным.

Активизировать субъект может только другой активизированный субъект. Для каждого tÎN на множестве St можно определить орграф Гt, где S1 и S2 из St соединены дугой S1->S2 тогда и только тогда, когда в случае активизации S1 возможна активизация S2. Если субъект S - такой, что для каждого Гt в вершину S не входит дуг, то такой субъект будем называть пользователем. Для простоты положим, что в системе S всего два пользователя: U1 и U2. Пользователи считаются активизированными по определению и могут активизировать другие субъекты.

Если в любой момент t в графе Гt в вершину S не входят дуги и не выходят дуги, то такие субъекты исключаем из рассмотрения.

Обозначим ,процедуру активизации процессом S1 субъекта S2.

Предположение 1. Если субъект S активизирован в момент t, то существует единственный активизированный субъект S' в S t, который активизировал S. В момент t=0 активизированы только пользователи.

Лемма. 1. Если в данный момент t активизирован субъект S, то существует единственный пользователь U, от имени которого активизирован субъект S, то есть существует цепочка

Доказательство. Согласно предположению 1 существует единственный субъект Sk, активизирующий S. Если Sk=U1, или Sk=U2, то лемма доказана. Если , i=l, 2, то существует единственный субъект Sk-1, активизировавший Sk. В силу конечности времени работы системы S и того факта, что в начальный момент активизированы могут быть только пользователи, получаем в начале цепочки одного из них. На этом, согласно определению пользователей, цепочка обрывается. Лемма доказана.

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

Кроме активизации в системе å существуют и другие виды доступа активизированных субъектов к объектам. Будем обозначать множество всех видов доступов через R и считать |R|<¥. Если р ÍR,то будем обозначать множество доступов р активизированного субъекта S к объекту О через . Если в некоторый промежуток времени [t, t+k] реализована последовательность доступов

то будем считать, что произошел доступ от имени субъекта S к объекту О. Нас не интересует, какую задачу решает система å, мы лишь моделируем функционирование системы последовательностью доступов.

Предположение 2. Функционирование системы å описывается последовательностью доступов множеств субъектов к множествам объектов в каждый момент времени tÎN.

Обобщим введенный орграф Гt добавив дуги S ->O, обозначающие возможность любого доступа субъекта S к объекту О в момент t, в случае активизации S. Обозначим Dt(S) = {O | S -->*0 в момент t}, гдеS->*O означает возможность осуществления цепочки доступов S ->S1->S2->...Sk->O (возможность доступа к О от имени S). Тогда для любого tÎN в системе определены Dt(U1) и Dt(U2). Будем считать, что D = Dt(U1)ÇDt(U2) фиксировано для всех t, Ot= Dt(U1)ÈDt(U2), в начальный момент t = 0: O 0= {U1,U2}È D

Определение. Множество объектов О называется общими ресурсами системы.

В частности, средствами из D пользователь может создавать объекты и уничтожать объекты, не принадлежащие D. Создание и уничтожение каких-либо объектов является доступом в R к некоторым объектам из O (и к уничтожаемым объектам).

Мы считаем, что из объектов системы åпостроена некоторая подсистема, которая реализует доступы. Будем полагать, что любое обращение субъекта S за доступом р к объекту О в эту подсистему начинается с запроса, который мы будем обозначать .

При порождении объекта субъект S обращается к соответствующей процедуре, в результате которой создается объект с уникальным именем. Тогда в силу леммы 1, существует единственный пользователь, от имени которого активизирован субъект, создавший этот объект. Будем говорить, что соответствующий пользователь породил данный объект. Обозначим через Оt(U) множество объектов из О t, которые породил пользователь U. Естественно, будем считать, чтоUÎOt(U).

Лемма 2. Для каждого tÎN, для каждого OÎ O t, ОÏ D, существует единственный пользователь U такой, что OÎOt(U).

Доказательство. Поскольку O 0={U1, U2}ÈD, то объект ОÏ D, OÎOt, порожден в некоторый момент s, 0<s<t. Тогда в О существовал активизированный субъект S, создавший О. Тогда, как отмечено ранее, существует единственный пользователь U, породивший О. Лемма доказана.

Обратимся теперь к вопросам безопасности информации в системе. Если в R есть доступы read и write, то ограничимся опасностью утечки информации через каналы по памяти, которые могут возникнуть при доступах к объектам. Таким каналом может бытьследующая последовательность доступов при s<t

в момент s и в момент t,

При определенных условиях может оказаться опасным доступ от имени пользователя:

в момент s и в момент t, s<t,

С некоторой избыточностью мы исчерпаем возможные каналы по памяти, если будем считать неблагоприятными какие-либо доступы p1,p2Í R вида

, , (1)

которые мы и считаем каналами утечки.

Предположение 3. Если OÎ D, то доступы в (1) при любых р1 и р2 не могут создать канал утечки.

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

Тогда в (1)достаточно ограничиться объектами О, не лежащими в D. Это значит, что в одном из доступов в (1) имеется , где OÎOt(Uj), . Таким образом, в системе считаются неблагоприятными доступы вида:

,

, OÎOt(Uj), . (2)

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

Предположение 4. Если некоторый субъект S, SÎ D, активизирован от имени пользователя Ui (т.e. ), в свою очередь субъекту S предоставлены в момент t доступ к объекту О, то либо OÎ D, либо OÎOt(Ui), либо система прекращает работу и выключается. Определим следующую политику безопасности (ПБ):

Если , то при S,OÎOt(U) доступ разрешается, если SÎOt(Ui), OÎOt(Uj), i¹j, то доступ невозможен.

Теорема 1. Пусть в построенной системе выполняются предположения 1-4. Если все доступы осуществляются в соответствии с ПБ, то утечка информации (2) невозможна.

Доказательство. Предположим противное, то есть

Пусть S1,..., Sm - все активизированные субъекты, имеющие доступы bÊр, i=l,...,m, в момент t к объекту О. Тогда согласно лемме 2 множество этих субъектов разбивается на три непересекающиеся множества:

A = {S1|S1ÎD},

B = {S1|S1ÎOt(Ui)},

C = {S1|S1ÎOt(Uj),i¹j}.

Согласно лемме 1 для любого Sl, l=l.....m, существует единственный пользователь, от имени которого активизирован субъект Sl. Если S1ÎA, то согласно предположению 4 и условию теоремы 1, что доступ - разрешен, получаем, что S, активизирован от имени Uj. Это противоречит предположению.

Если S1ÎВ, то невозможен согласно политике безопасности. Значит, если , то существует цепочка длины (k+l)

,

и субъект .Тогда существует цепочка длины k такая, что

.

Повторяя эти рассуждения, через k шагов получим, что

.

Последний доступ невозможен, если выполняется ПБ. Поэтому предположение неверно и теорема 1 доказана.

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

Условие 1. (Идентификация и аутентификация). Если для любых tÎ N, pÍ R, S, ОÎ О t, , то вычислены функции принадлежности S и О к множествам Оt(U1), Оt(U2), D.

Условие 2. (Разрешительная подсистема). Если SÎОt(Ui), OÎОt(Uj) и в момент t, то из i=j следует , и из i¹j следует (не разрешается доступ).

Условие 3. (Отсутствие обходных путей политики безопасности). Для любых tÎ N, рÍ R, если субъект S, активизированный к моменту t, получил в момент t доступ , то в момент t произошел запрос на доступ .

Теорема 2. Если в построенной системе å выполняются предположения 1-4 и условия 1-3, то выполняется политика безопасности.

Доказательство. Утверждение теоремы следует из двух утверждений:

а) Если для произвольного рÍ R , SÎOt(Ui), OÎOt(Ui), то доступ разрешен.

б) Если SÎOt(Ui), OÎOt(Uj), i¹j, то какой-либо доступ в момент t субъекта S к объекту О невозможен.

Докажем а). Если , то по условию 1 вычислены функции принадлежности и определено, что SÎOt(Ui), OÎOt(Uj). Если i = j, то выполнена посылка условия 2. Тогда согласно условию 2 доступ разрешен.

Докажем теперь б). Если , вычислены функции принадлежности и определено, что SÎOt(Ui), OÎOt(Uj), i¹j. Тогда по условию 2 доступ не разрешен.

Если доступ стал возможен, минуя запрос , и S - активизирован к моменту t, то сделанное предположение противоречит условию 3. Если S - не активизирован, то наличие доступа противоречит определению доступа. Теорема доказана.

Теорема означает, что гарантировав выполнение условий 1-3, мы гарантируем выполнение политики безопасности.

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

1. В каждый момент только один пользователь может работать с системой. Физическое присутствие другого исключено.

2. При смене пользователей системы друг другом уходящий:

 

* записывает во внешнюю память все объекты, которые он хочет сохранить для дальнейших сеансов;

 

* выключает питание системы, после чего все содержимое оперативной памяти стирается, остаются записи на внешней памяти и ПЗУ, где хранятся объекты общего доступа.

3. Новый пользователь организует свою работу с включения системы и вызывает свои объекты из внешней памяти, опираясь на объекты общего пользования.

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

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

Предположение 1 и другие допущения в описании системы вполне приемлемы для рассматриваемой архитектуры. Так как неблагоприятные состояния системы и политики безопасности выражены в терминах доступов, то для приемлемости предположения 2 достаточно, чтобы возможные вычислительные процессы однозначно отражались в терминах последовательностей доступов и значений функций принадлежности объектов к множествам Оt(U1), Оt(U2), D. Если объект только создан и находится в оперативной памяти, то доступ к нему со стороны процессов от имени создавшего пользователя автоматически разрешен и можно считать, что функция принадлежности вычислена. Если объект вызван из внешней памяти, то сам вызов и доступ к информации в объекте возможны, если установлен правильный ключ, что эквивалентно вычислению функции принадлежности к Оt(U). Предположения 3 и 4 выполняются, так как вновь подключенный пользователь работает один и вызывает из ПЗУ функции и объекты D. В системе нет субъекта, реализующего разрешительную систему, она естественно реализована за счет того, что расшифрованная информация читается тогда и только тогда, когда в шифраторе К установлен нужный ключ. Если пользователь или процесс от его имени обращается за доступом к объекту на внешней памяти, то любой доступ разрешен, если ключ зашифрования объекта (ключ создателя объекта) совпадает с ключом текущего пользователя. Наоборот, при несовпадении ключей допуск автоматически не разрешается, так как имя объекта и его содержание не расшифровываются правильно.

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

Доступ к объекту возможен лишь при обращении к внешней памяти через шифратор, или в случае, когда объект создан в течение текущего сеанса, или вызван из ПЗУ. Если считать, что доступ к объектам в оперативной памяти автоматически опирается на данное пользователю разрешение на доступ к ним, а активизированными могут быть субъекты от его же имени, то можно считать, что любой доступ в этом случае выполняется в соответствии с условиями 1 и 2.

Что касается условия 3, то невозможность получить доступ минуя разрешительную систему определяется разнесенностью работы пользователей, отсутствием подслушивания, необходимостью расшифровывать информацию для получения доступа к ней. Это не касается объектов из D, или только созданных, где нет проблем из-за разнесенности сеансов. Также мы считаем, что отсутствует физическое проникновениеи модификация системы.

В результате получим, что данная архитектура реализует условия теорем 1 и 2 и поддерживает политику безопасности.

Суммируем то, что обеспечивает гарантии в построенной системе (то есть, что поддерживает условия теорем 1 и 2):

* обеспечение работы только одного пользователя (охрана);

* отключение питания при смене пользователей;

* стойкость шифратора К и сохранность в тайне ключей каждого пользователя;

* недопустимость физического проникновения в аппаратную часть или подслушивание (охрана).

Известно, как обеспечивать эти требования, а гарантии их обеспечения являются гарантией защищенности системы в смысле выбранной политики безопасности.

Отметим некоторые стороны построенной модели, которые будут встречаться далее.

1) Гарантии построены при четкой политике безопасности.

2) Для поддержки политики потребовалась идентификация объектов (+ вычисление добавочной идентификационной функции).

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

4) Значительная часть условий определяет функциональную защищенность самой системы защиты.

Далее в обзоре "Оранжевой книги" мы встретим такие же условия.

74. Два типа оценки:


Дата добавления: 2016-01-05; просмотров: 23; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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