Пашков Юрий, Пашков Кузьма — Lead InfoSec, EMC, VMWare trainer @ training.muk.ua

Многолетний опыт преподавания по направлению «Информационная безопасность» (далее ИБ) позволяет констатировать положительные тенденции в этой области:

  • Владельцы бизнеса, наконец, стали считать риски ИБ такими же значимыми как финансовые и операционные, и все чаще ищут не только доверенных, но квалифицированных советников на должности уровня CSO (Chief Security Officer)
  • Нормативный подход к построению систем защиты позволил ИБ стать массово потребляемой услугой
  • Взрывной рост рисков ИБ поддерживает стабильно высокий спрос и предложение на рынке услуг обучения по соответствующему направлению


В тоже время налицо и отрицательные:

  • Подтвердить свою квалификацию в ИБ сегодня так же сложно, в особенности если успешный опыт работы получен в странах СНГ, а потенциальный работодатель находится в США\Европе
  • Массовость приводит к проблеме консьюмеризации ИБ
  • Падает качество услуг обучения и уровень квалификации специалистов


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

Настоящая статья демонстрирует возможности доказательного подхода для создания защищенных автоматизированных систем и носит учебный характер.

1. Технология работы с данными

Предположим, что в некоторой организации используется следующая технология работы:
  1. В организации сотрудники работают в составе нескольких разных отделов, решающих взаимосвязанные, но разные задачи;
  2. решение задач каждого отдела автоматизировано; для решения задач отдела используется общая база данных, доступная всем сотрудникам отдела в рамках коллективной работы. Содержание базы данных тайной не является, однако ее доступность является критическим параметром для деятельности отдела и организации в целом. Иначе говоря, если база данных не будет доступна, то организация понесет ущерб;
  3. при выполнении сотрудниками служебных обязанностей используются конфиденциальные сведения, содержащиеся в документах. Иначе говоря, если содержание документов станет известно неограниченному кругу лиц, то организации может быть нанесен ущерб;
  4. документы разрабатываются и печатаются сотрудниками с помощью средств автоматизации на своих автоматизированных рабочих местах (далее – АРМ), подключенных к локальной вычислительной сети (далее – ЛВС).


Для создания документов используются средства многозадачной операционной системы. Операционная система (далее – ОС) позволяет пользователю запустить на выполнение несколько программ. Данные документов хранятся в файлах и обрабатываются программами ОС.

Коллективная работа обеспечивается с помощью АРМ сотрудников, сетевого оборудования ЛВС, сервера и средств сетевой операционной системы.

2. Политика безопасности
Рассмотрим избирательную политику безопасности, которая может быть использована в нашем случае:
  1. документы и БД организации являются ценными. Должна быть реализована система разграничения доступа к документам и БД на основе комплекса организационно-технических мер и средств защиты;
  2. система автоматизации замкнутая — к документам и БД имеют доступ только должностные лица организации;
  3. управление организации в лице администратора системы имеет право доступа ко всем документам и БД;
  4. руководитель организации с помощью администратора определяет права по доступу сотрудников к документам и БД;
  5. сотрудники имеют право доступа к объектам, созданным ими самими, а также являющимся объектом коллективного использования группы пользователей, к которой данный сотрудник принадлежит;
  6. доступ от имени некоторого пользователя к объектам, созданным другим пользователем или принадлежащим объектам коллективного использования группы пользователей, к которой данный пользователь не принадлежит, запрещен.


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

В различных системах механизмы защиты могут быть реализованы по-разному; их конструкция определяется общей концепцией системы.

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

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

3. Модель автоматизированной системы

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

Пусть время дискретно и принимает значения из N — множества значений времени, N=(1,2,…). Обозначим через t?N текущее значение времени.

Принято считать, что состояние системы в данный момент может быть представлено в виде состояний конечного множества объектов. Поэтому будем считать, что состояние системы — это набор состояний ее объектов. Объекты могут создаваться и уничтожаться, поэтому можно говорить о множестве объектов системы в некоторый момент времени t?N, которое определим как Ot, |Ot|<? — множество объектов системы в момент времени t. Множество объектов конечно. Под объектом будем понимать произвольное конечное множество слов некоторого языка Я.

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

Активизировать субъект может только другой активизированный субъект. На множестве S, субъектов системы для каждого момента времени t?N определим граф Гt, — граф функционирования системы. Вершины S1 и S2 графа соединены дугой S1>S2 тогда и только тогда, когда в случае активизации S1 возможна активизация S2. Если в любой момент времени t?N в графе Гt, в вершину S не входят дуги и не выходят дуги, то такие субъекты исключим из рассмотрения. Обозначим через процедуру активизации субъекта S2 субъектом S1. Под активизацией будем понимать передачу управления субъектом S2 субъекту S1.

Из множества St субъектов системы выделим подмножество U — множество пользователей системы. Под пользователем понимается такой субъект S из множества субъектов, для которого во всех графах Гt, в вершину S не входят дуги. Пользователи активизированы по определению и могут активизировать другие субъекты системы. Введем понятие группы пользователей, которую будем обозначать как G. Под группой пользователей понимается подмножество множества пользователей U, в которое включены пользователи, имеющие равные права по доступу к объектам коллективного использования группы. Кроме активизации в системе возможны и другие виды доступов. Определим множество R — множество видов доступа. Множество конечно, т.е. |R|<?. Примерами видов доступа являются «чтение», «запись», «исполнение». Для каждого субъекта S можно определить ? — множество доступов активизированного субъекта S к объекту О, которое является подмножеством множества видов доступа ??R.

Обозначим S>O —доступ субъекта S к объекту О. Непосредственный доступ субъекта S системы к объекту О системы не всегда возможен.
Определим тогда S>*O — доступ от имени субъекта S к объекту О. Это означает, что в некоторый промежуток времени [t,t+ ?] реализована последовательность доступов



Поскольку функционирование системы описывается доступами активизированных субъектов системы к объектам системы, то для каждого момента времени t?N можно определить

Dt={O|S>*O в момент времени t}
— множество объектов, к которым осуществляется доступ в момент времени t?N.

В этом множестве выделим
Dt(U)={O|U>*O в момент времени t}
— множество объектов, к которым осуществляется доступ от имени пользователя U в момент времени t?N, а также
Dt(G)={O|Ui>*O, Ui ?G, i=1(1)n в момент времени t}
— множество объектов, к которым осуществляется доступ группой пользователей в момент времени t?N.

Из множества объектов, к которым возможен доступ, выделим группу объектов, к которым осуществляется обращение всех пользователей
D=?tDt(Ui), i=1(1)n

Это общие объекты системы. В частности, средствами из D пользователь может создавать объекты и уничтожать объекты, не принадлежащие D. Для каждой группы пользователей можно выделить также множество объектов
Dg(G)=?tDt(G)
— объекты коллективного использования группы G.

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

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

Среди всех пользователей выделим привилегированного пользователя Uadm — администратора системы. Данный пользователь имеет полный набор привилегий по доступу к общим объектам системы. В любой момент времени t?N этот пользователь единственен.

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



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



4. Доказательство необходимости условий безопасности

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

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

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

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

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

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



Доказательство. Согласно предположению 1 существует единственный субъект Sk, активизирующий S. Если Sk = Ui,Ui?{U}, то лемма доказана.

Если Sk?Ui, то существует единственный субъект Sk-1 > активизировавший Sk. В силу конечности времени работы системы ? и того факта, что в начальный момент времени активизированы могут быть только пользователи, находим в начале цепочки одного из них. На этом, согласно определению пользователей, цепочка обрывается. Лемма доказана.

Будем моделировать функционирование системы последовательностью доступов активизированных субъектов системы к объектам системы.

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

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

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

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

Предположение 3. В системе ? в каждый момент времени t?N существует единственный пользователь Uadm, который обладает всеми правами по отношению к общим объектам системы.
Предположим, что невозможно сохранить какую-либо ценную информацию в объектах общего доступа.

Предположение 4. Если O?D, то доступы вида , при любых ?1,?2?R не могут создать канал утечки информации.
Предположим, что порядок работы системы при попытке обращения субъекта, активизированного от имени некоторого пользователя к объекту системы, следующий.

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

Теорема 1. Пусть в построенной системе выполняются предположения 1-5 и правила политики безопасности. Тогда в системе несанкционированный доступ невозможен.

Доказательство. Предположим противное, т. е. что существует в некий момент времени t такой вид доступа р, при котором от имени пользователя Ui не входящего в группу, осуществляется доступ к объекту О другого пользователя Uj или к общим объектам другой группы:


при

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


Субъекты, являющиеся объектами, порожденными от имени пользователя Ui или от группы G:


Субъекты, являющиеся объектами, осуществляющие несанкционированный доступ (по предположению):


Согласно лемме 1, для любого Sl, l=1,2,…,m, существует единственный пользователь, от имени которого активизирован субъект Sl. Если Sl?A, то, согласно предположению 5 и условию теоремы 1, что доступ разрешен, получаем, что Sl активизирован от имени Uj или Ui?G. Это противоречит предположению.

Если Sl?B, то доступ невозможен согласно политике безопасности.

Значит, если , то существует цепочка длины (k+1):

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

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


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

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

Условие 1 (идентификация и аутентификация). Если для любых то вычислены функции принадлежности S и O к множествам Ot(Ui),i=1(1)n; D;Dg(Gk),k=1(1)g.

Условие 2 (разрешительная подсистема). Если в момент t, то из t=j следует и из t?j следует . Аналогично, если в момент t, то из U?G следует и из U?G следует .

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

Теорема 2. Если в построенной системе выполняются условия 1-3, то выполняется политика безопасности (достаточность условий для выполнения политики).
Доказательство. Утверждение теоремы состоит из двух утверждений:
а) если для произвольного ??R,



то доступ разрешен;
б) если для произвольного ??R,



то какой-либо доступ в момент t субъекта S к объекту О невозможен.

Докажем утверждение а). Если , то по условию 1 вычислены функции принадлежности и определена принадлежность субъекта S и объекта О к множествам Ot(Ui),i=1(1)n; D;Dg(Gk),k=1(1)g. Если Ui*S,O?Ot(Uj) и i=j, то выполняется посылка условия 2, и доступ разрешен. Если объект O?Dg(G), т. е. является объектом коллективного использования группы пользователей, а также пользователь U?G — член этой группы, то, согласно условию 2, пользователь также разрешен.

Докажем теперь утверждение б). Если , вычислены функции принадлежности и определено, что и i?j, то по условию 2 доступ не разрешен. Аналогично, если определено, что то доступ не разрешен, согласно посылке условия 2.

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

Следствием теоремы 2 является тот факт, что, обеспечив выполнение условий 1-3 при функционировании системы, мы гарантируем выполнение политики безопасности.

Таким образом, если верны предположения 1-5 и при функционировании системы выполняются условия 1-3, то несанкционированный доступ к объектам системы невозможен.

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

Продолжение следует. Ждем вопросы по обучению и сертификациям CISSP/CISM/CISA/Security+ по адресу PashkovK@muk.com.ua

Учебные курсы по информационной безопасности, которые ведет один из авторов статьи Кузьма Пашков (УЦ МУК — Киев)
Ближайшие курсы по Информационной безопасности (ведет Кузьма Пашков)
18 — 22 января 2016 — MUK-S0101 SecurityPlus
1 — 5 февраля 2016 — MUK-S0102 CISA

Комментарии (2)


  1. KepJIaeda
    16.12.2015 15:27
    +3

    А почему это называется доказательством защищенности? В чем оно состоит? Что система отвечает заданной модели? Для меня утверждения приведенные в статье звучат примерно следующим образом: если пользователь не владелец, не состоит в нужной группе и не админ доступа к документу он не получит. Но ведь можно неправильно дать доступ или имеет место быть НДВ или иное событие которое выходит за рамки описанной модели и защищенными данные не будут.


    1. PavelMSTU
      16.12.2015 21:23

      Авторы попытались сделать что-то аналогичное модели Беллы-Лападуллы.