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

Матрица управления доступом (англ. access control matrix, также матрица доступа) — абстрактная, формальная модель безопасности состояния защиты в компьютерных системах, описывающая права каждого субъекта по отношению к каждому объекту системы. Впервые предложена Батлером Лэмпсоном в 1971 году[1].

Матрицу управления доступом можно представить в виде прямоугольной таблицы, строки которой соответствуют субъектам, а столбцы — объектам. Ячейка на пересечении строки и столбца, то есть для каждой конкретной пары «субъект—объект», определяет режим доступа, разрешённый субъекту к объекту. Каждый столбец эквивалентен списку управления доступом (ACL) для объекта, а каждая строка — «профилю доступа» субъекта[2].

Определение

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

Пример

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

Ресурс 1 Ресурс 2 Файл Устройство
Роль 1 чтение, запись, выполнение, владелец выполнение чтение запись
Роль 2 чтение чтение, запись, выполнение, владелец

Применение

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

Матрица управления доступом служит исключительно абстрактной моделью разрешений в заданный момент времени; прямая реализация в виде двумерного массива была бы чересчур затратной по памяти. Безопасность, основанная на полномочиях и списки управления доступом — примеры реальных механизмов контроля доступа, статические разрешения которых можно смоделировать с помощью матрицы управления доступом. Хотя иногда оба этих механизма рассматривались (например, в статье Батлера Лэмпсона «Protection») как простые реализации матрицы управления доступом по строкам и столбцам, такой подход критиковался как вводящий в заблуждение — он не учитывает динамическое поведение систем[3].

Примечания

  1. Lampson, Butler W. (1971). “Protection”. Proceedings of the 5th Princeton Conference on Information Sciences and Systems: 437.
  2. RFC 4949: Internet Security Glossary, Version 2 (англ.). IETF Datatracker. Internet Engineering Task Force. Дата обращения: 29 июня 2024.
  3. Miller, Mark S.; Ka-Ping Yee; Jonathan Shapiro (2003-03-01). “Capability Myths Demolished” (PDF) [англ.]. Лаборатория системных исследований, факультет информатики Университета Джонса Хопкинса. Дата обращения 2024-06-29.

Литература

  • Bishop, Matt. Computer security: art and science : [англ.]. — Addison-Wesley, 2004. — ISBN 0-201-44099-7.

Категории