Спецификация модели управления доступом к разнокатегорийным ресурсам компьютерных систем

СПЕЦИФИКАЦИЯ МОДЕЛИ УПРАВЛЕНИЯ ДОСТУПОМ К РАЗНОКАТЕГОРИЙНЫМ РЕСУРСАМ КОМПЬЮТЕРНЫХ СИСТЕМ

Козачок А.В.'

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

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

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

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

1. Введение

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

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

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

Особенно важно производить моделирование механизмов защиты компьютерных систем. Так, например, «Требования безопасности информации к операционным системам» ФСТЭК России и разработанные на их основе в соответствии с ГОСТ Р ИСО/МЭК 15408 профили защиты и задания по безопасности содержат требования функциональной компоненты ADV_SPM.1 по представлению формальной политики безопасности

DOI: 10.21681/2311-3456-2018-4-2-8

[1, 2]. В научных исследованиях вопросам формального описания политик безопасности и моделей управления доступом в операционных системах также уделяется особое внимание [3-6].

Существует ряд формальных языков и соответствующих программных инструментов, предоставляющих возможность формализованного описания математической модели [7]: Alloy [8], B [9], Event-B [10, 11], VDM [12], Z [13], TLA+ [14-17].

2. Постановка задачи

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

В рамках проводимого исследования была поставлена задача по разработке модели управления доступом к разнокатегорийным ресурсам, обеспечивающей выполнение требований мандатного контроля целостности и конфиденциальности без учета информационных потоков по времени [18]

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

1 Козачок Александр Васильевич, кандидат технических наук, сотрудник Академия ФСО России, г. Орёл, Россия. E-mail: a.kozachok@academ.msk.rsnet.ru

Автором для задания модели управления доступом был выбран язык темпоральной логики действий Лэм-порта (^А+), поскольку его нотация представляется наиболее близкой к общепринятой математической и выразительные возможности и инструментальные средства позволяют описывать и верифицировать системы, заданные в виде конечных автоматов [19-21]. Также в ряде исследовательских работ данная нотация применялась для решения задачи верификации моделей управления доступом [22].

3. Спецификация модели

Расширенной формой темпоральной логики является темпоральная логика действий Лэмпорта [14]. Она позволяет описывать взаимодействующие и незамкнутые системы.

В отличие от логики предикатов темпоральная логика действий содержит следующие операторы [14]:

- оператор «всегда в будущем»;  - оператор «всегда в прошлом»; О - оператор «в следующий момент времени»; © - оператор «в предыдущий момент времени»; О - оператор «однажды в будущем»; ♦ - оператор «однажды в прошлом»; и - бинарный оператор «до тех пор пока»; 5 - бинарный оператор «с тех пор как».

Основные соотношения между операторами можно представить следующим образом:

О Р Е -|П-1р =

О Р = V -,руи.р +Р = V -п/7)

Логические формулы в рамках предлагаемой модели управления доступа задаются следующим образом (в форме Бэкуса-Наура):

где РгеСАс^оп действия, р -предикат арности п,

- термы, х переменная.

В общем виде спецификация модели управления доступом на языке Т1_А+ имеет следующий вид:

Spec = lnit Л

где Init - процедура инициализации начальных значений переменных модели, Next - предикат действия, изменяющий состояние модели и значения переменных, vars - переменные модели.

3.1 Определение переменных модели

Значения переменных могут изменяться после выполнения предикатов действий:

VARIABLES А, О, S,

где A - множество текущих (произошедших) доступов, O множество объектов, S - множество субъектов, А - символ «равно по определению».

3.2 Задание типов данных, описывающих объекты и субъекты модели

В языке TLA+ отсутствует строгая типизация (по умолчанию производится проверка только встроенных типов), однако, проверка инвариантов типов является неотъемлемой частью спецификации, поскольку верификация производится методом ModelChecking [23]. Ряд значений, заданных в модели, являются модельными для снижения ресурсоемкости процесса верификации, но не влияют на общность и адекватность модели в целом. Описание типа, задающего объекты:

Objects = [oíd: OdjectIDs,meta: ObjectM eta, body: ObjectBody, owner:5ubjectIDs,grantm, Granted/lights,

Описание типа, задающего субъекты:

Subjects é [sid: SubjectIDs.cnfl: ConfidLevels,

Lntl: IntegrLevels, cat: SUBSET Categories,

Множества идентификаторов субъектов и объектов (значения модельные):

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

Categories á= {"cl","c2", "сЗ"}.

Множество состояний объекта («в работе», «утвержден», «помещен в архив», «отменен»):

ObjectStates A {"work", "approved", "archived", "cancelled"}.

Множество видов доступа и кортеж задания прав доступа:

CrantedRights = (sid: SubjectlDs.r: Rights),

Для электронных документов в системах электронного документооборота характерно разделение прав доступа к метаинформации и содержимому документа [24]. В разработанной модели была также учтена данная возможность:

ObjectMeta = [cnfl: ConfidLevels, intl: IntegrLevels], ObjectBody = [cnfl: ConfidLevels, inti. Inte gr Lev els].

Также были определены вспомогательные операторы и функции для выбора: дочернего элемента объекта (sc(o)), множества дочерних элементов объекта (scs(o)), множества копий объекта (scp(o), множества дочерних объектов субъекта (sw(s)) и обновления владельца субъекта (UpdateOwner(sh,sp)).

3.3 Инициализация начальных значений

Множество текущих доступов A на этапе инициализации является пустым. Множество объектов O также может быть пустым на этапе инициализации. Однако

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

meta w [cnfl и 0, intL н» 0], grantm н> {<0,"write"), (O/'read")},

где oid - идентификатор объекта, meta - метаинфор-мация объекта, body содержимое объекта, cnfl - уровень конфиденциальности, intl - уровень целостности, cat категория, st - состояние объекта, owner владелец, incl - множество вложенных документов, grantm - права доступа назначенные к метаинформации, grantb - права доступа назначенные к содержимому объекта, sid - идентификатор субъекта.

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

3.4 Предикаты действий

В модели были определены следующие возможные действия:

Next =v CreateSubjectD v DeleteSubjectD

V DeleteObjectD V GrantRightsD

V RemoveRightsD V IncludeObjectD

V ExcludeObjectD V ApproveObjectD

V ArchiveObjectD V CancelObjectD

где CreateSubjectD создание субъекта, DeleteSubjectD удаление субъекта, readD чтение, writeD запись, AppendWD дозапись («слепая» запись), CreateOjectD создание объекта, DeleteOjectD удаление объекта, GrantRightsD назначение прав доступа, RemoveRightsD удаление прав доступа, IncludeOjectD

вложение объекта в объект, ExcludeOjectD исключение вложенного объекта, ApproveOjectD утверждение объекта (документа), ArchiveOjectD отправка объекта (документа) в архив, CancelOjectD отмена действия утвержденного объекта (документа), CopyOjectD копирование объекта (документа).

На примере действия ReadD представленного в выражении (3), рассмотрим порядок задания необходимых пред- и постусловий. Предусловиями являются предикаты, выполнение которых необходимо для обеспечения безопасности выполнения действия. Постусловия определяют как по результатам выполнения действия изменяются переменные модели.

Действие Read (s, o, r, op) осуществляется субъектом в отношении объекта r=«read» с правом и определенной составляющей документа - метаинформации (op=«meta») или его содержимого (op=«body»). Само действие в рамках модели определяет следующие постусловия добавляется текущий доступ ко множеству доступов (А' = A\J{(ssid,ojoid,r,op)}) и остаются неизменными множества субъектов и объектов UNCHANGED{S, О)).

Действие предъявляет требования по учету всех возможных состояний модели (Зг Е R: 3i е S: Эо Е О: Sop fc OhjectParts) и п ро ве р ке необходимых предикатов безопасности выполнения действия (предусловий).

Ключевыми являются проверки меток конбилении-альности (s.cnfl & o.meta.cnfl и s.cnfl nobody.cnfl), а та кже кате го p и й ка к соста вля ю ще й м а н датн о го ко нтро-ля конфиденциальности (o.cat С s.cat). Затем производится проверка условия наличия права доступа у субъекта к объекту в зависимости от ({ssid,г) С o.grantm или (ssid,г) С o.grantb).

Также возможна ситуация, когда субъект является владельцем объекта о , в этом случае требование по наличию права во множестве прав доступа к объекту не предъявляется владелец обладает полными правами (o.owner=s.sid ).

Рассмотрим также действие по создании копии объекта CopyObjectD выражение (4).

CopyObject(s,o,id) =A0' U{[oid >-> id,

meta >-> [cnfl »-» o. meta. cnfl,

intl o. meta. intl],

body h> [cnfl i-» o.body.cnfl,

owner i-» s.sid,

grantra o.grantm,

grantb o. grantb,

cat i-» o. cat,

incl o. incl,

st "approved",

copy i-» (o. old}]}

A A' = A U {

CopyObject =

3s e 5:

A 3 o e 0: A o.owner = s.sid A o. incl = {} A o.st = "approved" As.cat £ o.cat A s. cnfl = o.meta. cnfl As. intl > o. meta. intl A s. cnfl — o. body, cnfl A s. intl > o. body, intl A Cardinality(scp(o)) < 2 A3 id e ObjectlDs: A Voo £ 0: Aid 1= oo.oid A CopyObject(s, o, id).

Действие CopyObject(s,o,id) осуществляется субъектом в отношении объекта o. В качестве параметра также передается идентификатор для создаваемого объекта id, выбор которого осуществляется с учетом требования по уникальности идентификаторов всех объектов (3id EObjectlDs: VooGO: id * oo.oid). В рамках указанного действия производится добавление нового объекта ко множеству объектов, обладающего атрибутами исходного объекта o, за исключением поля copy, в котором указывается копией какого объекта является данный объект. Также производится добавление текущего доступа ко множеству доступов A и указание на то, что множество субъектов при выполнении этого действия не изменяется.

Действие CopyObjectD предъявляет требования по учету всех возможных состояний модели (B.feS'iO* {} л и проверке необходимых пред-

условий:

- субъект является владельцем объекта (o.owner=s. sid );

- объект не имеет вложенных объектов (o.incl={});

- объект находится в состоянии «утвержден» (o.st=«approved»);

категории субъекта являются подмножеством категорий объекта (s.cat С o.cat):

- уровень конфиденциальности субъекта равен уровню конфиденциальности объекта (srnfl = o.meta.cnfl л лги/7 = о body.cnfl);

- уровень целостности субъекта больше или равен уровню целостности объекта (s.intl o.meta.intl л sintl a ohodyintl)-

- число копий объекта не превышает указанного значения (Cardinality(scp{p))< 2);

- создаваемый объект должен иметь уникальный идентификатор.

3.5 Инварианты модели

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

Базовым и общепринятым инвариантом является инвариант типов выражение (5).

Л VonЕО: IF Зоте 0:ЛотФоп

Он включает в себя проверку соответствия всех полей для всех объектов, также проверку соответствия типу всех субъектов и проверку уникальности всех идентификаторов субъектов и объектов.

Вторым заданным в модели инвариантом является инвариант безопасности выражение (6). Он осуществляет проверку следующих условий:

- уровень конфиденциальности метаинформации объекта не превышает уровня конфиденциальности содержимого объекта (o.meta.cnfl <. o.body.cnfl),

- уровень целостности метаинформации объекта Da вен VDOBHto целостности содержимого объекта {о.meta.intl = о body.intl);

- если объект содержит вложенный объект, то множество прав доступа к родительскому объекту является подмножеством прав доступа к дочернему объекту и состояние родительского объекта равно состоянию дочернего ( o.grantm С oi.grantm л o.grantb С oi.grantb л o.st = о.ist),

- число вложенных объектов не превышает указанного значения (Cardinality{scs(o))sf);

- число копий объекта не превышает указанного значения (Cardinality(scp(o)) <; 2);

если субъект является владельцем объекта, права для него не назначаются, так как он обладает полными правами {-•o.grantm С (s.sidхRights) л -o.grantb С (s.sid х Rights),

- если объект находится в состоянии «помещен в архив» или «отменен», то запрещено назначать право «записи» кому-либо из субъектов (o.grantm П(SubjectlDs х {"write"}) * }} V о.grantb П (SubjectlDs x {"write"}) *{}).

Safety £A Vo G Q:A o. meta. cnfl < o. body, cnft Ai o.meta. intl = o. body, intl A iFo.ind # 0 THEN Vi £ o.inci. A 3oi £ 0: A oi.oid * o.oid A o. oid = i

A o.flrarttm £ oi . tfronim Ao.^fantfi £ o/..g?'antb A o.st = oi.si ELSE TRUE A Cardinality(scs(o) ) < 1 A Cai-dmaitty(scp(o)} < 2 A 3$ e 5: A o. owner = s.sid A IF o.grantm £ {} THEN -.o.grantm £ ({s.sid}xÄig/its) ELSE TRUE A W o.grantb * {}

THEN -lO.ßrantö E ({s.sidjxiiigfiis) ELSE TRUE A -i3o e 0:AV o.st = "archived" V o.st = "cancelled" AV o.£!-atttm n (SuöjectiDsx {"write"}) * {} AV o.grantb n (SubjecLlDsx {"write"}) t- {}.

Выполнение инвариантов для всех состояний модели обеспечивает доказательство следующей теоремы (7) относительно спецификации модели (1) и инвариантов (5), (6):

Теорема. Spec => n

3.6 Верификация модели

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

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

Верификация разработанной модели производилась с помощью инструментального средства TLC2 версии 2.13 [25]. При этом время, затраченное на верификацию, составило порядка 2835 минут (более 47 часов) на сервере с операционной системой Ubuntu 16.04, 24 ядрами Intel Xeon E5-2620 v2 2.10 ГГц и 32 Гб оперативной памяти. Было проверено 16 284 800 554 состояний при средней производительности системы 5 743 616 состояний в минуту.

4. Выводы

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

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

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

Рецензент: Цирлов Валентин Леонидович, кандидат технических наук, доцент Московского государственного технического университета им. Н.Э. Баумана, г. Москва, Россия. E-mail: v.tsirlov@bmstu.ru

Литература

1. Девянин П. Н. О проблеме представления формальной модели политики безопасности операционных систем // Труды ИСП РАН. 2017. Т. 29, № 3. С. 7-16. DOI: 10.15514/ISPRAS-2017-29(3)-1.

2. Девянин П. Н. Реализация невырожденной решётки уровней целостности в рамках иерархического представления МРОСЛ ДП-модели // Прикладная дискретная математика. Приложение. 2017. № 10. С 111-114. DOI: 10.17223/2226308X/10/44.

3. Девянин П. Н. Администрирование системы в рамках мандатной сущностно-ролевой ДП-модели управления доступом и информационными потоками в ОС семейства Linux // Прикладная дискретная математика. Приложение. 2013. № 4. С. 22-40.

4. Девянин П. Н. Необходимые условия нарушения безопасности информационных потоков по времени в рамках МРОСЛ ДП-модели // Прикладная дискретная математика. Приложение. 2015. № 8. С. 81-83. D0I:10.17223/2226308X/8/30.

5. Девянин П. Н. О результатах формирования иерархического представления МРОСЛ ДП-модели // Прикладная дискретная математика. Приложение. 2016. № 9. С. 83-87. DOI: 10.17223/2226308X/9/32.

6. Девянин П. Н. Уровень запрещающих ролей иерархического представления МРОСЛ ДП-модели // Прикладная дискретная математика. 2018. № 39. С. 58-71. D0I: 10.17223/20710410/39/5.

7. Моделирование и верификация политик безопасности управления доступом в операционных системах / П. Н. Девянин [и др.]. - Институт системного программирования им. В. П. Иванникова РАН, 2018. 181 с. URL: http://www.ispras.ru/ publications/security_policy_modeling_and_verification.pdf.

8. Jackson D. Software Abstractions: Logic, Language, and Analysis. The MIT Press, 2012. 376 pp.

9. A Comparison of the Declarative Modelling Languages B, Dash, and TLA+ / A. Abbassi [et al.] // 2018 IEEE 8th International Model-Driven Requirements Engineering Workshop (MoDRE). - IEEE. 2018. - P. 11-20.

10. Boiten E. Modeling in Event-B System and Software Engineering Abrial Jean-Raymond Cambridge University Press, May 2010 ISBN-10:0521895561 // Journal of Functional Programming. 2012. Vol. 22, no. 2. P. 217-219.

11. Comparison of specification decomposition methods in Event-B /P. N. Devyanin

[et al.] // Programming and Computer Software. 2016. July. Vol. 42, no. 4. P. 198-205. DOI: 10.1134/ S0361768816040022. URL: https://doi.org/10.1134/S0361768816040022.

12. Fitzgerald J., Larsen P. G. Modelling Systems: Practical Tools and Techniques in Software Development. - 2nd. - New York, NY, USA : Cambridge University Press, 2009. - 304 p.

13. Singh M., Sharma A. K., Saxena R. Formal Transformation of UML Diagram: Use Case, Class, Sequence Diagram with Z Notation for Representing the Static and Dynamic Perspectives of System // Proceedings of International Conference on ICT for Sustainable Development. Singapore: Springer Singapore, 2016. P. 25-38. DOI: 10.1007/978-981-10-0135-2_3.

14. Lamport L. The Temporal Logic of Actions // ACM Trans. Program. Lang. Syst. 1994. Vol. 16, no. 3. P. 872-923. DOI: 10.1145/177492.177726. URL: http://doi.acm.org/10.1145/ 177492.177726.

15. Lamport L. Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley, 2002.

16. Hansen D., Leuschel M. Translating B to TLA+ for validation with TLC // Science of Computer Programming. - 2016. - Vol. 131. - P. 109-125.

17. Wayne H. Practical TLA+ Planning Driven Development. - Apress, 2018. - 332 pp. - DOI: 10.1007/978-1-4842-3829-5.

18. Девянин П. Н. Условия безопасности информационных потоков по памяти в рамках МРОСЛ ДП-модели // Прикладная дискретная математика. Приложение. 2014. № 7. С. 82-85.

19. TLA + Proofs / D. Cousineau [et al.] // FM 2012: Formal Methods - 18th International Symposium, Paris, France, August 2731, 2012. Proceedings. 2012. P. 147-154. DOI: 10.1007/978-3-642-32759-9_14. URL: https://doi.org/10.1007/978-3-642-32759-9%5C_14.

20. Wayne H. PlusCal // Practical TLA+. - Springer, 2018. - P. 23-42.

21. Merz S., Vanzetto H. Encoding TLA+ into Many-Sorted First-Order Logic // Abstract State Machines, Alloy, B, TLA, VDM, and Z / ed. by M. Butler [et al.]. Cham : Springer International Publishing, 2016. P. 54-69.

22. Gouglidis A., Grompanopoulos C., Mavridou A. Formal Verification of Usage Control Models: A Case Study of UseCON Using TLA+ // Proceedings of the 1st International Workshop on Methods and Tools for Rigorous System Design, MeTRiD@ ETAPS 2018, Thessaloniki, Greece, 15th April 2018. 2018. P. 52-64. DOI: 10.4204/EPTCS.272.5. URL: https://doi. org/10.4204/EPTCS.272.5.

23. McMillan K. L. Eager Abstraction for Symbolic Model Checking // Computer Aided Verification / ed. by G. Chockler Hana and Weissenbacher. Cham : Springer International Publishing, 2018. P. 191-208. DOI: 10.1007/978-3-319-96145-3_11.

24. Storey V. C., Song I.-Y. Big data technologies and Management: What conceptual modeling can do // Data & Knowledge Engineering. 2017. Vol. 108. P. 50-67. DOI: 10.1016/j.datak.2017.01.001. URL: http://www.sciencedirect.com/science/ article/pii/ S0169023X17300277.

25. How AmazonWeb Services Uses Formal Methods / C. Newcombe [et al.] // Commun. ACM. New York, NY, USA, 2015. Mar. Vol. 58, no. 4. P. 66-73. DOI: 10.1145/2699417. URL: http://doi.acm.org/10.1145/2699417.

SPECIFICATION OF THE ACCESS CONTROL MODEL FOR COMPUTER SYSTEM RESOURCES OF VARIOUS CATEGORIES

Kozachok A.'

Purpose: Developing an access control model for computer system resources of various categories to ensure compliance with the mandatory integrity and confidentiality monitoring requirements, without time accounting of information flows, and its verification for meeting security invariants by the Model Checking method.

Research methods: Modeling using the language of Lamport's temporal logic of actions, as its notation seems to be closest to the generally accepted mathematical one; expressive capabilities and tools help describe and verify systems specified as finite automata in the automatic mode using the Model Checking method.

Results: A model was set up to control access to electronic documents of various categories, which takes into account life cycle features of electronic documents and their handling procedure. The model implements the following operations: subject creating/deleting, reading, writing, adding

1 Alexander Kozachok, Ph. D., official for Academy of Federal Guard Service, Oryol, Russia. E-mail: a.kozachok@academ.msk.rsnet.ru

and security checks (include checking confidentiality/integrity marks of interacting subjects and objects, and validity

of the rights assignment procedure).

Keywords: security models, computer systems, verification, modelling, temporal logic, security policy, access

control.

References:

1. Devyanin P. N. O probleme predstavleniya formal'noj modeli politiki bezopasnosti operacionnyh system. Trudy ISP RAN [Proceedings of ISP RAS]. 2017. Vol. 29, no 3. Pp. 7-16. DOI: 10.15514/ISPRAS-2017-29(3)-1. [In Russ.]

2. Devyanin P. N. Realizaciya nevyrozhdennoj reshyotki urovnej celostnosti v ramkah ierarhicheskogo predstavleniya MROSL DP-modeli. PDM. Prilozhenie [Applied Discrete Mathematics. Supplement]. 2017. No 10. Pp. 111-114. DOI: 10.17223/2226308X/10/44. [In Russ.]

3. Devyanin P. N. Administrirovanie sistemy v ramkah mandatnoj sushchnostno-rolevoj DP-modeli upravleniya dostupom i informacionnymi potokami v OS semejstva Linux. PDM. Prilozhenie [Applied Discrete Mathematics. Supplement]. 2013. No 4. Pp. 22-40. [In Russ.]

4. Devyanin P. N. Neobhodimye usloviya narusheniya bezopasnosti informacionnyh potokov po vremeni v ramkah MROSL DP-modeli. PDM. Prilozhenie [Applied Discrete Mathematics. Supplement]. 2015. No 8. Pp. 81-83. DOI:10.17223/2226308X/8/30. [In Russ.]

5. Devyanin P. N. O rezul'tatah formirovaniya ierarhicheskogo predstavleniya MROSL DP-modeli. PDM. Prilozhenie [Applied Discrete Mathematics. Supplement]. 2016. No 9. Pp. 83-87. DOI: 10.17223/2226308X/9/32. [In Russ.]

6. Devyanin P. N. Uroven' zapreshchayushchih rolej ierarhicheskogo predstavleniya MROSL DP-modeli. PDM [Applied Discrete Mathematics]. 2018. No 39. Pp. 58-71. DOI: 10.17223/20710410/39/5. [In Russ.]

7. Modelirovanie i verifikaciya politik bezopasnosti upravleniya dostupom v operacionnyh sistemah / P. N. Devyanin [i dr.]. - Institut sistemnogo programmirovaniya im. V.P. Ivannikova RAN, 2018. 181 p. URL: http://www.ispras.ru/publications/security_policy_ modeling_and_verification.pdf.. [In Russ.]

8. Jackson D. Software Abstractions: Logic, Language, and Analysis. The MIT Press, 2012. 376 p.

9. A Comparison of the Declarative Modelling Languages B, Dash, and TLA+ / A. Abbassi [et al.]. 2018 IEEE 8th International Model-Driven Requirements Engineering Workshop (MoDRE). - IEEE. 2018. - P. 11-20.

10. Boiten E. Modeling in Event-B{System and Software Engineering Abrial Jean-Raymond Cambridge University Press, May 2010 ISBN-10:0521895561. Journal of Functional Programming. 2012. Vol. 22, no. 2. P. 217-219.

11. Comparison of specification decomposition methods in Event-B /P. N. Devyanin [et al.]. Programming and Computer Software. 2016. July. Vol. 42, no. 4. P. 198-205. DOI: 10.1134/S0361768816040022. URL: https://doi.org/10.1134/S0361768816040022.

12. Fitzgerald J., Larsen P. G. Modelling Systems: Practical Tools and Techniques in Software Development. - 2nd. - New York, NY, USA : Cambridge University Press, 2009. - 304 p.

13. Singh M., Sharma A. K., Saxena R. Formal Transformation of UML Diagram: Use Case, Class, Sequence Diagram with Z Notation for Representing the Static and Dynamic Perspectives of System. Proceedings of International Conference on ICT for Sustainable Development. Singapore : Springer Singapore, 2016. P. 25-38. DOI: 10.1007/978-981-10-0135-2_3.

14. Lamport L. The Temporal Logic of Actions. ACM Trans. Program. Lang. Syst. 1994. Vol. 16, no. 3. P. 872-923. DOI: 10.1145/177492.177726. URL: http://doi.acm.org/10.1145/177492.177726.

15. Lamport L. Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley, 2002.

16. Hansen D., Leuschel M. Translating B to TLA+ for validation with TLC. Science of Computer Programming. - 2016. - Vol. 131. - P. 109-125.

17. Wayne H. Practical TLA+ Planning Driven Development. - Apress, 2018. - 332 pp. - DOI: 10.1007/978-1-4842-3829-5.

18. Devyanin P. N. Usloviya bezopasnosti informacionnyh potokov po pamyati v ramkah MROSL DP-modeli. PDM. Prilozhenie [Applied Discrete Mathematics. Supplement]. 2014. No 7. Pp. 82-85. [In Russ.]

19. TLA + Proofs / D. Cousineau [et al.] // FM 2012: Formal Methods - 18th International Symposium, Paris, France, August 27-31, 2012. Proceedings. 2012. P. 147-154. DOI: 10.1007/978-3-642-32759-9_14. URL: https://doi.org/10.1007/978-3-642-32759-9%5C_14.

20. Wayne H. PlusCal // Practical TLA+. - Springer, 2018. - P. 23-42.

21. Merz S., Vanzetto H. Encoding TLA+ into Many-Sorted First-Order Logic // Abstract State Machines, Alloy, B, TLA, VDM, and Z / ed. by M. Butler [et al.]. Cham : Springer International Publishing, 2016. P. 54-69.

22. Gouglidis A., Grompanopoulos C., Mavridou A. Formal Verification of Usage Control Models: A Case Study of UseCON Using TLA+ // Proceedings of the 1st International Workshop on Methods and Tools for Rigorous System Design, MeTRiD@ETAPS 2018, Thessaloniki, Greece, 15th April 2018. 2018. P. 52-64. DOI: 10.4204/EPTCS.272.5. URL: https://doi.org/10.4204/ EPTCS.272.5.

23. McMillan K. L. Eager Abstraction for Symbolic Model Checking // Computer Aided Verification / ed. by G. Chockler Hana and Weissenbacher. Cham : Springer International Publishing, 2018. P. 191-208. DOI: 10.1007/978-3-319-96145-3_11.

24. Storey V. C., Song I.-Y. Big data technologies and Management: What conceptual modeling can do // Data & Knowledge Engineering. 2017. Vol. 108. P. 50-67. DOI: 10.1016/j.datak.2017.01.001. URL: http://www.sciencedirect.com/science/article/pii/ S0169023X17300277.

25. How AmazonWeb Services Uses Formal Methods / C. Newcombe [et al.] // Commun. ACM. New York, NY, USA, 2015. Mar. Vol. 58, no. 4. P. 66-73. DOI: 10.1145/2699417. URL:

http://doi.acm.org/10.1145/2699417.