Москва
+7-929-527-81-33
Вологда
+7-921-234-45-78
Вопрос юристу онлайн Юридическая компания ЛЕГАС Вконтакте

Формальные модели безопасности и их применение при оценке возможностей реализации угроз безопасности информации

Обновлено 09.06.2025 05:24

При анализе угроз безопасности информации в ИС важным аспектом является доказательство принципиальной возможности при их реализации доступа к защищаемой информации. В ряде случаев, особенно при применении мер и средств защиты, такая возможность может вообще отсутствовать. Это привело к необходимости поиска таких доказательств на основе формальных моделей безопасности. Количество таких моделей весьма велико. Как отмечено в [50], это обусловлено тем, что такие модели могут быть использованы: 

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

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

Формальные модели разрабатывались для различных «политик управления доступом» [50, 51], к основным из которых относятся:

дискреционная политика, основными формальными моделями безопасности для которой являются модель управления доступом Харрисона- Ру ззо-Ульмана, модель Take-Grant, модель типизированной матрицы доступа (модель ТМД);

мандатная (полномочная) политика, основными формальными моделями безопасности для которой являются модель Белла-ЛаПадуллы, мандатные ДП-модели (модели Девянина П.Н. [50]), модель безопасности переходов и т.п.;

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

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

Ниже дается краткая характеристика некоторых из указанных моделей, а также модели Кларка-Вилсона и модели Биба для обеспечения целостности информации.

В основе подавляющего большинства формальных моделей безопасности лежит теория детерминированных конечных автоматов. Использование теории конечных автоматов для анализа защищенности автоматизированных систем обусловлено некоторой схожестью данной проблематики с проблемами, решаемыми в теории надежности, где модели на основе конечных автоматов достаточно широко использовались и используются при синтезе таких систем, обосновании их функциональной надежности и др. В формальных моделях безопасности теория конечных А = {яѵ},ѵ = 1,Ѵ, автоматов используется без учета фактора времени для выявления возможных состояний ИС, в которых могут иметь место нарушения безопасности обрабатываемой в ИС информации, хотя в самой теории конечных автоматов время рассматривается как важный параметр [52,63-66].

Конечным автоматом называется совокупность пяти объектов:

1) конечного непустого множества входных данных А = {аѵ},ѵ = 1,Ѵ, называемого входным алфавитом автомата, а его элементы называют входными символами-буквами;

2) конечного непустого множества выходных данных В = {bt},l = l,L, называемого выходным алфавитом автомата, а его элементы называют выходными символами-буквами;

3) конечного непустого множества S = {sz},z = \,Z состояний автомата;

4) переходной функции состояний /, отображающих множество всех упорядоченных пар av,s_ в множество S;

5) выходной функции g, отображающих множество всех упорядоченных пар av,s_ в множество В .

В классических формальных моделях безопасности, основанных на теории конечных автоматов, постулируется, что все возможные нарушения безопасности информации могут относиться к одной из трех групп: нарушения конфиденциальности, нарушения целостности и нарушения доступности. Эту триаду впервые предложили использовать Зальцер и Шредер в 1975 г. Для ссылки на триаду - конфиденциальность, целостность, доступность иногда используют аббревиатуру КЦД [51]. Как правило, в формальных моделях используется детерминированный автомат, в котором переходная функция является детерминированной. Однако возможно использованием и стохастических автоматов, когда указанная функция является вероятностной.

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

Исторически первыми появились формальные модели для дискреционного принципа управления доступом, наиболее известной из которых стала модель Харрисона-Руззо-Ульмана. Она формально описывает управление доступом субъектов к объектам системы, то есть к файлам, каталогам, директориям, полям и записям в базах данных и т.п., и контроль распространения прав доступа (сокращенно ее называют «модель ХРУ»), В рамках этой модели система обработки информации представляется в виде совокупности активных сущностей - субъектов (множество S), пассивных сущностей - объектов (множество О), содержащих защищаемую информацию, и конечного множества прав доступа R = означающих полномочия на выполнение соответствующих действий. При этом принято считать, что все субъекты одновременно являются объектами (для включения в область действия модели отношений между субъектами), то есть ScO.B модели не учитывается временной фактор. Как и в большинства таких моделей поведение системы моделируется с помощью понятия состояния, при этом пространство состояний - это произведение OxSxR. Текущее состояние системы Q в этом пространстве определяется тройкой, состоящей из множества субъектом, множества объектов и матрицы прав доступа М, то есть Q = (S,OtM). Строки матрицы соответствуют субъектам, а столбцы объектам. Любая ячейка M[s,o] содержит набор прав доступа субъекта s к объекту о. Поведение системы моделируется переходами между состояниями. Переход осуществляется путем внесения изменений в матрицу М с помощью команд следующего вида: command а{х1,х0....лу)

if t\іпМ[-А, ’-И, ] ап^ {условия выполнения команды)

>% in А/[^лу2,хо J and {условия выполнения команды)

rminM^xs ,хо J and {условия выполнения команды) then...opl,op2,...opn {операции, составляющие команду)

Здесь а - имя команды, je,. - параметры команды, являющиеся идентификаторами объекта и субъекта, s. и ог - индексы субъектов и объектов в диапазоне от 1 до к; орі - элементарные операции. Элементарные операции выполняются только в том случае, если все условия, означающие присутствие указанных прав доступа в ячейках матрицы М, являются истинными. В классической модели допускаются только следующие операции (примитивные операторы):

Enter г intoM\s,o\ ("добавление субъекту s права г для объекта о);

Delete г fromM\s,o\ (удаление у субъекта s права г для объекта о);

Create subject s............(создание нового субъекта s);

Create subject о...........(создание нового бъекта о);

Destroy subject s...........(удаление нового субъекта л);

Destroy object о...........(удаление нового объекта о).

Модель не налагает каких-либо ограничений на содержание прав доступа и их использование в условиях команд, считая их равнозначными. Поэтому те условия, которые участвуют в выполнении команд, фактически представляют собой не столько права доступа, сколько права управления доступом. То есть модель описывает не только доступ субъектов к объектам, но и распространение прав доступа в системе. На ее основе можно построить формальные процедуры определения возможности перехода системы в опасное для информации состояние, в состояние с нарушением прав доступа, если таковое возникнет в результате модификации матрицы. Харрисон, Руззо и Ульман доказали, что в общем случае не существует алгоритма, который может для произвольной системы, ее начального состояния Q, и общего права г решить, является ли данная конфигурация безопасной. Однако для частных случаев такие алгоритмы существуют. Все подобные модели неадекватно оценивают уязвимость системы к атакам, реализуемым с помощью программ типа «троянский конь», атак типа «Подмена доверенного объекта», поскольку никакое правило дискреционной политики не нарушается. Развитием данной модели является дискреционная модель типизированной матрицы доступа (ТМД), дополненная концепцией типов объектов и субъектов, что позволяет несколько смягчить условия, для которых возможно доказательство безопасности системы. Формальное описание модели ТМД включает в себя элементы:

о - множество объектов системы;

s - множество субъектов системы ХсО;

R - множество прав доступа субъектов к объектам;

М - матрица доступов;

с - множество команд;

Т - множество типов объектов;

t-.o^T - функция, ставящая в соответствие каждому объекту его тип;

q = (S,0,t,M) - состояние системы;

Q - множество состояний системы.

Команды в модели ТМД имеют тот же смысл, что и в модели ХРУ, при этом для всех параметров команд указывается их тип. Перед выполнением команд проверяются типы фактических параметров и, если они не совпадают с указанными в определении команды, то команда не выполняется. При этом используются шесть видов примитивных операторов, отличающихся от аналогичных операторов модели «ХРУ» только использованием типизированных параметров.

Модель Белла-ЛаПадула, известная как «по read up, по write down», то есть «нельзя читать выше, нельзя записывать ниже», была разработана в 1975 г. и основана на правилах секретного документооборота, принятого во многих странах мира. Суть ее в назначении субъектам и объектам специальной метки, получившей название уровня безопасности. Контроль доступа осуществляется в зависимости от уровней безопасности взаимодействующих сторон на основе следующих правил:

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

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

Система в модели представляется так же, как в модели Харрисона-Руззо- Ульмана, в виде множества субъектов, объектов и прав доступа к выполнению функций read и write. В мандатной модели рассматриваются только эти два вида доступа, хотя она может быть расширена введением дополнительных прав, например, на добавление информации, выполнение программ и т.д. Это объясняется тем, что здесь контролируются не операции, а потоки информации, которые могут быть только двух видов - от субъекта к объекту (запись) и наоборот (чтение). Уровни безопасности задаются с помощью функции уровня безопасности F: S U О —► L, которая ставит в соответствие объекту и субъекту уровень безопасности, принадлежащий множеству L, на котором определена решетка, то есть формальная алгебра (і,^,»,®), где L - базовое множество уровней безопасности, оператор < определяет нестрогое отношение порядка для элементов этого множества, операторы • и Ѳ определяют процедуры нахождения наименьшей верхней и наибольшей нижней границы элементов на решетке. Модель системы ^(ѵ0,7?,Г) состоит из начального состояния ѵ0, множества запросов R и функции перехода T:(FxR)—>V, которая в ходе множества запросов переводит систему из одного состояния в другое. Множество состояний представляется в виде набора упорядоченных пар (F,M), где F -функция уровня безопасности, а М - матрица доступа, отражающая текущую ситуацию с правами доступа субъекта к объектам, но набор прав ограничен лишь правом чтения и записи. ЛаПадул доказал теорему, носящую его имя, о том, что система безопасна тогда и только тогда, когда ее начальное состояние безопасно и все состояния, достижимые из него путем применения конечной последовательности запросов из R безопасны. Эта теорема получила название основной теоремы безопасности. Суть ее в том, что при любом переходе системы из состояния в состояние не возникает никаких новых отношений и не сохраняется никаких старых отношений, которые будут небезопасны. Мак-Лин развил модель ЛаПадула, разработав целую решетку моделей ЛаПадула, сформировал критерий безопасности функций перехода, показал, что на множестве мандатных моделей может быть построена формальная алгебра и т.д. При всей развитости теоретических положений на практике все-таки применяют лишь фрагменты различных формальных моделей в основном там, где обрабатывается классифицированная информация.

Модель Биба - это интерпретация модели Белла-ЛаПадула, только в ней под безопасностью информации понимается ее целостность. Она предложена в 1977 г. Кеннетом Биба.

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

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

Первое правило - простая аксиома целостности - субъекту данного уровня целостности запрещено выполнять операции «читать» по отношению к объектам более низкого уровня целостности (правило «по read down»). Субъект, читая данные из объекта с более низким уровнем целостности, рискует испортить данные своего уровня. Сделать их менее достоверными. Зато он может читать достоверную информацию более высокого уровня.

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

Модель Кларка-Вилсона была разработана в интересах доказательства защищенности целостности данных как отсутствия ненадлежащих их изменений.

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

1) корректность транзакций;

2) аутентификация пользователей;

3) минимизация привилегий;

4) разграничение функциональных обязанностей;

5) аудит произошедших событий;

6) объективный контроль;

7) управление передачей привилегий;

8) обеспечение непрерывной работоспособности;

9) простота использования защитных механизмов.

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

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

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

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

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

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

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

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

Модель Кларка-Вилсона появилась в результате анализа реально применяемых методов обеспечения целостности документооборота в коммерческих компаниях. Основные понятия рассматриваемой модели - это корректность транзакций и разграничение функциональных обязанностей. Модель задает правила функционирования компьютерной системы и определяет две категории объектов данных и два класса операций над ними. Все содержащиеся в системе данные подразделяются на контролируемые и неконтролируемые элементы. Целостность первых обеспечивается моделью Кларка-Вилсона. Последние содержат информацию, целостность которой в рамках данной модели не контролируется. Данная модель вводит два класса операций над элементами данных: процедуры контроля целостности (integrity verification procedures - ІѴР) и процедуры преобразования (transformation procedures - ТР). Наконец, модель содержит 9 правил, определяющих взаимоотношения элементов данных и процедур в процессе функционирования системы.