Полная версия

Главная arrow Информатика arrow ЗАЩИТА ИНФОРМАЦИИ: ОСНОВЫ ТЕОРИИ

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>

Вероятностная и процессная модели контроля доступа

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

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

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

Исходя же из того, что, как следует из существующей статистики, вероятности возникновения уязвимостей реализации в различных программных средствах существенно различаются (рис. 3.5), имеет смысл говорить о вероятностной модели контроля доступа [18].

Распределение уязвимостей по типам ПО

Рис. 35. Распределение уязвимостей по типам ПО

Построим вероятностную модель контроля доступа. Будем считать, что множество С = {Ср ..., С/} — линейно упорядоченное множество субъектов доступа (процессов, идентифицируемых полными именами их исполняемых файлов, т.е. включающих все каталоги до корня файловой системы); R = {/?,,..., RJ — конечное множество прав доступа (чтение (г), запись (w), удаление (d), исполнение (х), 0 — отсутствие прав доступа) субъекта С, к объекту Oj из множества О = (О,,..., О,}. Разрешенное (санкционированное) право доступа субъекта С, к объекту 0; будем обозначать Су(/?)0; (соответственно, Cf(r)0- разрешено чтение, Ci(w)Of — запись и т.д., С,.(0)О- — доступ не разрешен). Разграничительная политика доступа субъектов к объектам описывается матрицей доступа М, где М[С, О] — ячейка матрицы, содержит набор прав доступа субъекта из множества С = {Ср ..., С/} к объекту из множества О = {Ov ..., О,}. В любой момент времени система описывается своим текущим состоянием Q = (С, О, М).

Введем следующие обозначения. Пусть множество Р= {Р,,..., Р;} — линейно упорядоченное множество вероятностей обнаружения и присутствия уязвимостей реализации в процессах из множества субъектов С = {С,, ..., С,}. С учетом того, что эти уязвимости приводят к несанкционированной записи (включим сюда и удаление) w либо к несанкционированному чтению г, будем считать, что вероятность несанкционированной записи субъектом С, в объект О, (куда ему разрешены запись и чтение) составляет Р.(да), несанкционированного чтения — Р.(г), при этом НСД: Р, = P(w) + Py(r), i = 1,I.

В общем случае запись в один и тот же объект О- (в который разрешена запись пользователю) разрешена всем субъектам-процессам С = {С,,..., С,}, вероятность несанкционированной записи i-го субъекта в j-й объект Pt j(w), несанкционированного чтения Ру_/.(г), поэтому здесь следует говорить о суммарных вероятностях, связанных с возможностью возникновения соответствующих уязвимостей одновременно в нескольких (в пределе — во всех) процессах, несанкционированной записи в объект 0;: PjC(w)> соответственно, несанкционированного чтения: из объекта Р,с(г), определяемых следующим образом (ранее отмечали, что события возникновения (обнаругде

жения) и присутствия в системе уязвимостей реализации являются независимыми):

соответственно

где

Вероятностная модель контроля доступа, определяющая вероятности НСД к объектам за счет возникновения уязвимостей субъектов-процессов из множества С = {С,,С,}, описывается матрицей контроля доступа, ячейка которой МД С, О] содержит суммарные вероятности несанкционированного чтения Pjc(r) и записи Pjc(w) объекта, осуществляемого за счет атак на уязвимости субъектов С = {Ср ..., С,}.

Диагональная матрица доступа вероятностной модели контроля доступа Мрк имеет следующий вид:

При этом в матрице контроля доступа Мрк

Утверждение. При реализации разграничительной политики, основанной на полной изоляции обработки процессами (приложениями) информации, что описывается диагональной матрицей контроля доступа Мрк вероятностной модели, последствия от возникновения угроз уязвимостей реализации процессов минимальны и составляют: Р,(г), Р{(г&), i = 1,..., /.

Доказательство. Для диагональной матрицы контроля доступа Мрк имеет место: P.c(r) = P,(r), Pc(w) = P,(w). Значения Р.с(г) и Pc(w) сделать меньше без запрета соответствующих прав доступа C^rJO,., Cj(w)Oi (т.е. без запрета необходимых прав доступа к соответствующим объектам) не представляется возможным. Включение же в матрицу любого дополнительного права доступа Cfr)О., соответственно, С((ш)0:> приведет к увеличению значений Pf(r) и Pfc(w).

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

Утверждение. Безопасным является включение в диагональную матрицу контроля доступа (присутствует право С,(г, w)Of) права доступа С .(г)О,, соответственно, Cfw) О,, i ^ j, при выполнении условия: Pfw) Рг(да), соответственно, Pj(r) < Pj(r).

Доказательство. При включении в диагональную матрицу контроля доступа права доступа С7(г)0, и, соответственно, Cfw)Oi9 г ^у, получаем

при выполнении условий Pfw) Pfw) и, соответственно, Pfr) Pfr)

Утверждение. Максимально опасным является включение в диагональную матрицу контроля доступа (присутствует право Cfr, w)О,) права доступа C.(r)Of, соответственно, Cfw)Oi9 i * j, при выполнении условия: Pfw) ^> Pfw), соответственно, Р;(г) »ВД-

Доказательство. При включении в диагональную матрицу доступа права доступа С;-(г)0., соответственно, Cfw)Op i ^ / получаем

при выполнении условия: Pfw) Pfw)> соответственно, Pfr) Pt(r)

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

Таким образом, процессная модель контроля доступа состоит в реализации разграничительной политики доступа для субъекта доступа «процесс» из множества С = {Ср С,}, при этом она может реализовываться как для статичных, так и для создаваемых объектов, и описывается соответствующей матрицей контроля доступа:

Имя субъекта доступа «процесс» задается полным именем его исполняемого файла. При этом при задании процессов могут использоваться маски и переменные среды окружения.

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

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

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

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

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

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

Уровни абстракции рассмотренных моделей соответствующим образом совпадают с уровнями абстракции моделей методов дискреционного контроля доступа к статичным и создаваемым объектам, отличие от которых здесь состоит в использовании в качестве субъекта в разграничительной политике доступа сущности «процесс».

Теперь рассмотрим следующее условие. Пусть на множестве Р= {Pv ..., Р,} (линейно упорядоченное множество вероятностей обнаружения и присутствия уязвимостей реализации в процессах из множества субъектов доступа С = {Ср ..., С,}) задано следующее отношение: Р{ Р2 ... (. Получим матрицу контроля доступа Мкб, описывающую максимально безопасную разграничительную политику доступа при рассматриваемом условии:

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

Будем считать, что множество С = {Ср ..., С7} — линейно упорядоченное множество субъектов доступа-процессов, идентифицируемых полными именами их исполняемых файлов, О = {О,,..., О,} — множество объектов доступа, а множество Р = {Pv ..., Р,} — линейно упорядоченное множество вероятностей обнаружения уязвимостей реализации процессов из множества субъектов доступа С = {Ср ..., Cj}, причем Р{ Р2 ... <$С Рг Метки безопасности являются элементами линейно упорядоченного множества М = {Мр ..., М7}. Метки безопасности назначаются субъектам (процессам, приложениям) и служат для формализованного представления отношения значений вероятностей обнаружения их уязвимостей реализации на множестве Р= {Pv..., Р7}. Условимся считать, что чем меньше значение Pj субъекта, тем меньшее значение метки М,., i = 1,..., /, ему присваивается, т.е. М, < М2 < М3< ... < МЛ

Пусть

  • М(. — метка безопасности субъекта (группы субъектов) доступа;
  • Мо — метка безопасности объекта (группы объектов) доступа.

Сформулируем правила контроля доступа.

  • 1. Субъект С имеет доступ к объекту О в режиме R = {ze, г), если выполняется условие: Мс > М0.
  • 2. Субъект С имеет доступ к объекту О в режиме R = {z&, г, d), если выполняется условие: Мс = М0.
  • 3. В случае Мг < М() доступ субъекта С к объекту О запрещен.

При запросе доступа к объекту диспетчер доступа по заданному правилу сравнивает метку безопасности субъекта, запросившего доступ, Мс с меткой безопасности объекта, к которому запрошен доступ, М(). В результате этого, в соответствии с правилом контроля доступа, диспетчер либо разрешает запрошенный субъектом доступ, либо отказывает в нем.

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

Отметим, что реализация процессной модели контроля доступа является эффективным решением защиты от вторжений в ИС [ 18].

Поясним. Вторжение, в предположении о корректной реализации разграничительной политики доступа, может быть реализовано одним из двух способов — либо посредством занесения на компьютер вредоносной программы с последующим исполнением ее пользователем (например, в виде вложения в письмо и т.д.), либо посредством наделения легально используемого процесса вредоносными свойствами, путем использования соответствующей уязвимости его реализации или путем наделения его вредоносными свойствами в результате прочтения вредоносного командного файла. То есть в конечном счете любое вторжение в ИС реализуется с целью получения потенциальным нарушителем необходимого «инструмента» (естественно, что в качестве такого инструмента в ИС может рассматриваться процесс) для последующей реализации им требуемой атаки.

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

Замечание. Здесь появляется соответствующая задача моделирования. Ранее мы строили абстрактную модель контроля доступа, исходя из следующего посыла. Пусть Р = {Р,,..., Р,} — линейно упорядоченное множество вероятностей обнаружения уязвимостей реализации процессов из множества субъектов доступа — процессов С = {С,,С,}. При этом уже говорилось о том, что процессная модель контроля доступа реализуется для защиты от вредоносных программ и для реализации разграничительной политики доступа для процессов, которые с большой вероятностью могут использоваться для реализации вторжения. Как видим, одной из задач моделирования, применительно к вопросам реализации в СЗИ процессной модели контроля доступа, является задача определения и упорядочения значений вероятностей обнаружения уязвимостей реализации процессов, причем как прикладных, так и системных.

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

Система ЗИ при этом устанавливается на хост-машину, решающую соответствующие задачи виртуализации. Для хост-машины каждая виртуальная машина, в зависимости от реализации — это либо отдельный системный процесс (например в системе виртуализации VMware), либо отдельный системный пользователь (например в системе виртуализации Hyper-V), и ко всем физическим ресурсам виртуальная машина обращается именно этими субъектами доступа.

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

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

 
<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>