Работа посвящена разработке механизмов мандатного контроля целостности в мандатной ДП-модели СУБД MySQL. Вводятся основные элементы модели (решётка уровней целостности сущностей, функции избирательности контроля целостности, уровней целостности сущностей и т.д.), с помощью которых обеспечивается мандатный контроль целостности; описываются некоторые правила преобразования состояний системы; определяются состояния системы, в которых не происходит нарушения целостности, и формулируются условия, которые необходимы, чтобы система оставалась в этих состояниях.
Integrity control in mandatory DP-model of DBMS MySQL.pdf Рассматривается расширение мандатной ДП-модели MySQL [1], включающее в себя мандатный контроль целостности, основанный на модели Биба [2, 3]. Целью мандатного контроля целостности является предотвращение возможности получить доступ на запись сущности с высоким уровнем целостности субъект-сессией с низким уровнем целостности. Разрешается изменять сущность только таким субъект-сессиям, чьи уровни целостности не меньше уровня целостности сущности. Помимо этого, накладывается запрет на вызов процедур, целостность которых ниже целостности пользователя, от имени которого предписано их выполнение. В противном случае решение о возможности выполнить запрос процедуры, который, ввиду его низкой целостности, мог быть изменён третьим лицом, будет выполняться на основе более высокой целостности пользователя. Подобный сценарий может нарушить целостность других сущностей, что, несомненно, является недопустимым. Для расширения модели мандатным контролем целостности вводятся следующие дополнительные элементы (недостающие специальные термины и обозначения из теории ДП-моделей см. в [3]): 1. Решётка упорядоченных уровней целостности сущностей (LI, 2. Функция HLSI : O U (C \ c0) ^ {true, false} определяет наличие проверок мандатного контроля целостности при доступе к сущности. Если HLSI(e) = true, то доступ к сущности e осуществляется с учётом проверок мандатного контроля целостности, в противном случае - без него. При этом значение функции HLSI(e) наследуется всеми сущностями, которые иерархически подчинены e, т.е. Ve' < e (HLSI(e') = HLSI(e)). Предполагается, что если 3e G O U C (HLSI(e) = true), то для всякого e' G Op U U Ot выполняется HLSI(e') = true. То есть если доступ хотя бы к одному объекту или контейнеру осуществляется с учётом мандатного контроля целостности, то так же осуществляется доступ ко всем процедурам и триггерам. 3. Функция ide : OUC ^ LU{0} определяет уровень целостности сущности-объекта или контейнера таким образом, что выполняются следующие условия для e G O U C: - если HLSI(e) = false, то ide(e) = 0; - если HLSI(e) = true и -3e' > e(ide(e') = 0), то ide(e') = 0; - если ide(e) = 0 и 3e' > e(ide(e') = 0), то ide(e) > ide(e'). 4. Функция : U ^ L U {0} определяет уровень целостности учётной записи пользователя. Предполагается, что если значение функции ide определено хотя бы для одной сущности e, то функция определена для всех пользователей, т. е. (3e g O U C (ide(e) = 0)) ^ (Vu G U (ids(u) = 0)). 5. Функция ihe : O U C ^ L U {0} задаёт иерархические уровни целостности сущностей. Определена для e G O U C следующим образом: - если ide(e) = 0, то ihe(e) = ide(e); - иначе - если HLSI(e) = true, 3e' > e (HLSI(e') = true,«4(e') = 0, -3e'' (e' > e'' > e, ide (e'') = 0)), то ihe (e) = ide(e'); - если HLSI(e) = false, то ihe(e) = 0. Корректность определения функции ihe обосновывает следующее Утверждение 1. Если HLSI(e) = true и ide(e) = 0, то 3e' > e (HLSI(e') = true,^4(e') = 0). В качестве примера приведём следующие правила преобразования состояний расширенной модели (таблица). Правило Исходное состояние G Результирующее состояние G' access read(s, e) s G S, e G DB U TAB U COL; если HLSI(e) = true, то -3e'GO U C(HLSI(e') = true, ihe(e')>ihe(e), (s, e', writea)GA) A' = A U {(s, e, reada)}, F' = F U {(e, s,writem)} access write(s, e) s G S, e G DB U TAB U COL если HLSI(e)=true, то ids(user(s))^ihe(e) и -Be'GOUC(HLSI(e')=true, ihe(e')
Колегов Д. Н., Ткаченко Н. О., Чернов Д. В. Разработка и реализация мандатных механизмов управления доступом в СУБД MySQL // Прикладная дискретная математика. Приложение. 2013. № 6. С. 62-67.
Biba K. J. Integrity Considerations for Secure Computer Systems. Technical Report MTR-3153. MITRE Corp., 1975.
Девянин П. Н. Модели безопасности компьютерных систем. Управление доступом и информационными потоками: учеб. пособие для вузов. М.: Горячая линия-Телеком, 2012. 320 c.