Матрица управления доступом
Матрица управления доступом (англ. access control matrix, также матрица доступа) — абстрактная, формальная модель безопасности состояния защиты в компьютерных системах, описывающая права каждого субъекта по отношению к каждому объекту системы. Впервые предложена Батлером Лэмпсоном в 1971 году[1].
Матрицу управления доступом можно представить в виде прямоугольной таблицы, строки которой соответствуют субъектам, а столбцы — объектам. Ячейка на пересечении строки и столбца, то есть для каждой конкретной пары «субъект—объект», определяет режим доступа, разрешённый субъекту к объекту. Каждый столбец эквивалентен списку управления доступом (ACL) для объекта, а каждая строка — «профилю доступа» субъекта[2].
Определение
Согласно данной модели, состояние защиты компьютерной системы абстрагируется набором объектов — то есть множеством сущностей, требующих защиты (например, процессы, файлы, страницы памяти), а также набором субъектов — всеми активными сущностями (например, пользователи, процессы). Кроме того, существует набор прав вида , где , и . Право определяет тип доступа, который субъекту разрешено выполнять над объектом.
Пример
В следующем примере матрицы существуют два процесса, два ресурса, файл и устройство. Первый процесс является владельцем ресурса 1, может выполнять ресурс 2, читать файл и записывать информацию на устройство, тогда как второй процесс владеет ресурсом 2 и может читать ресурс 1.
| Ресурс 1 | Ресурс 2 | Файл | Устройство | |
|---|---|---|---|---|
| Роль 1 | чтение, запись, выполнение, владелец | выполнение | чтение | запись |
| Роль 2 | чтение | чтение, запись, выполнение, владелец |
Применение
Поскольку модель матрицы управления доступом не определяет гранулярность средств защиты, она может использоваться для моделирования статических прав доступа в любой системе управления доступом. Однако она не отражает правила изменения разрешений в конкретной системе, поэтому даёт только неполное описание политики безопасности системы.
Матрица управления доступом служит исключительно абстрактной моделью разрешений в заданный момент времени; прямая реализация в виде двумерного массива была бы чересчур затратной по памяти. Безопасность, основанная на полномочиях и списки управления доступом — примеры реальных механизмов контроля доступа, статические разрешения которых можно смоделировать с помощью матрицы управления доступом. Хотя иногда оба этих механизма рассматривались (например, в статье Батлера Лэмпсона «Protection») как простые реализации матрицы управления доступом по строкам и столбцам, такой подход критиковался как вводящий в заблуждение — он не учитывает динамическое поведение систем[3].
Примечания
Литература
- Bishop, Matt. Computer security: art and science : [англ.]. — Addison-Wesley, 2004. — ISBN 0-201-44099-7.