Мандатное управление доступом
Мандатное управление доступом (англ. Mandatory Access Control, MAC) — это политика управления доступом субъектов (пользователей, процессов, программ) к объектам (файлам, каталогам, устройствам, записям базы данных), основанная на системе меток безопасности, присвоенных всем субъектам и объектам информационной системы. Ключевым принципом является то, что решение о предоставлении доступа принимается не владельцем объекта или самим пользователем, а системой на основе набора глобальных правил, реализованных жёстко и не подлежащих изменению пользователями. Мандатное управление доступом противопоставляется дискреционному управлению доступом (DAC), где владелец объекта может самостоятельно назначать права доступа.
История
Концепция мандатного управления доступом возникла в 1960–1970-х годах как ответ на растущие потребности в обеспечении безопасности в многопользовательских вычислительных системах, особенно в военных и правительственных учреждениях. Основой для развития послужила модель безопасности Белла — Лападулы, разработанная Дэвидом Беллом и Леонардом Лападулой в 1973 году для Министерства обороны США. Эта модель формализовала принципы контроля доступа на основе меток и иерархий уровней секретности.
Первые практические реализации MAC были внедрены в операционных системах, таких как Honeywell Multics (Multics), которая обеспечивала мандатный контроль доступа к данным. В 1983 году Национальным центром компьютерной безопасности Министерства обороны США была опубликована «Оранжевая книга» (Trusted Computer System Evaluation Criteria, TCSEC), которая определила требования к системам с мандатным управлением доступом, классифицируя их по уровням безопасности (от A1 до D). Впоследствии принципы MAC были адаптированы для использования в коммерческих продуктах, включая операционные системы общего назначения (например, SELinux, AppArmor в ядре Linux) и корпоративные системы управления базами данных.
Принципы работы
Метки безопасности (Mетки)
Каждому субъекту и объекту в системе присваивается метка безопасности, представляющая собой кортеж, состоящий из двух основных компонентов:
- Уровень секретности (иерархический компонент): Иерархически упорядоченная категория, например: «Несекретно», «Секретно», «Совершенно секретно», «Особой важности». Чем выше уровень, тем более чувствительны данные.
- Категории (неиерархический компонент): Множество неиерархических категорий, представляющих собой тематические области или проекты, например: «Ядерная физика», «Операция "Буря"», «Кадровые документы». Субъект может иметь доступ только к объектам, которые соответствуют всем категориям, указанным в его метке.
Правила доступа
Доступ субъекта к объекту разрешается на основе двух правил, вытекающих из модели Белла — Лападулы:
- Правило простой безопасности (Simple Security Property — ss-property): Субъект может читать объект (получать доступ на чтение), если уровень секретности субъекта не ниже уровня секретности объекта, и все категории объекта включены в категории субъекта (правило «Не читать выше»).
- **Правило -свойства (Star-Property — -property):** Субъект может записывать в объект (осуществлять запись, модификацию), если уровень секретности субъекта не выше уровня секретности объекта, и все категории субъекта включены в категории объекта (правило «Не записывать ниже»). Это правило предотвращает утечку информации из объектов с высоким уровнем секретности в объекты с низким уровнем.
Дополнительно могут применяться другие мандатные политики, например, политика Бибера, которая управляет записью более строго, запрещая субъекту с высоким уровнем записывать в объект с низким уровнем (даже если иерархическое правило выполняется).
Классификация мандатного управления доступом
В зависимости от области применения и способа реализации различают несколько подходов к MAC:
- Мандатное управление доступом на уровне операционной системы: Реализуется в ядре ОС (например, SELinux, AppArmor, SMACK). Политики задаются администратором системы и распространяются на все файлы, процессы, сокеты и другие ресурсы.
- Мандатное управление доступом на уровне приложений: Реализуется в конкретных программных продуктах, таких как системы управления базами данных (СУБД) или системы документооборота (например, Oracle Label Security, IBM Guardium). Политики задаются на уровне записей или полей в базе данных.
- Мандатное управление доступом на уровне сети: Реализуется в сетевых устройствах (маршрутизаторах, межсетевых экранах) и определяет правила передачи данных на основе меток безопасности, встроенных в сетевые пакеты (например, механизм IPsec с использованием меток MLS).
- Мандатное управление доступом на уровне аппаратуры: Реализуется в специализированных аппаратных модулях безопасности (HSM) и процессорах, обеспечивающих аппаратную изоляцию и проверку меток (например, Intel SGX с политиками MAC).
Применение
Военные и правительственные системы
Основная область применения MAC — системы, обрабатывающие информацию, составляющую государственную тайну. Например, в автоматизированных системах управления войсками (АСУ ВО), системах связи, базах данных госорганов используется мандатное управление доступом, чтобы гарантировать, что пользователь с уровнем доступа «Секретно» не сможет прочитать документ уровня «Совершенно секретно» или записать секретные данные в открытый файл.
Банковский сектор
В банковских системах, особенно в процессинговых центрах и системах автоматизации банковской деятельности (АБС), MAC применяется для разделения доступа к данным различных отделов, продуктов или уровней конфиденциальности. Например, сотрудник отдела кредитования не может записывать данные в таблицы, содержащие информацию о транзакциях с драгоценными металлами, если его метка безопасности не содержит соответствующей категории.
Промышленность и критическая инфраструктура
В системах управления технологическими процессами (SCADA), ядерных реакторах, авиационных диспетчерских системах MAC используется для предотвращения несанкционированного доступа к критически важным параметрам и командам. Это обеспечивает защиту от случайных или намеренных изменений, способных привести к авариям.
Защищённые операционные системы
Операционные системы с высокими требованиями к безопасности (например, Red Hat Enterprise Linux с включённым SELinux, Astra Linux Special Edition, SecureView, Qubes OS) по умолчанию реализуют мандатное управление доступом. Это позволяет изолировать процессы и пользовательские сеансы, защищая систему от множества видов атак, включая эксплойты нулевого дня.
Преимущества и недостатки
Преимущества
- Высокий уровень безопасности: MAC обеспечивает жёсткое разделение доступа, которое не может быть отменено или изменено пользователями, включая администраторов, не обладающих соответствующими правами.
- Защита от утечек: Правило *-свойства предотвращает утечку данных из объектов с высоким уровнем секретности в объекты с низким уровнем (даже если владелец объекта захочет это сделать).
- Противодействие вредоносному ПО: Даже если вредоносная программа получает права пользователя, она не может получить доступ к данным, к которым у этого пользователя нет метки.
- Повышенная предсказуемость: Политики MAC формализуются, документируются и централизованно администрируются, что упрощает аудит и обеспечение соответствия нормативным требованиям.
Недостатки
- Сложность администрирования: Для корректной настройки и поддержки политик MAC требуются высококвалифицированные специалисты, обладающие глубокими знаниями о системе.
- Ограничение гибкости: MAC накладывает жёсткие ограничения на взаимодействие пользователей и приложений, что может усложнить выполнение рутинных задач и снизить производительность труда.
- Повышенные накладные расходы: Проверка меток безопасности для каждого запроса доступа требует дополнительных вычислительных ресурсов, что может снизить производительность системы, особенно в высоконагруженных окружениях.
- Сложность внедрения в унаследованные системы: Интеграция MAC в существующие приложения, разработанные для дискреционного управления доступом, часто требует значительных доработок или замены ПО.
Интересные факты
- В 2014 году в операционной системе Windows 10 компания Microsoft внедрила технологию Device Guard, которая, по сути, реализует мандатный контроль доступа к драйверам и исполняемым файлам, ограничивая возможность запуска неподписанного кода.
- Основополагающая модель Белла — Лападулы до сих пор лежит в основе всех современных реализаций MAC, несмотря на свою возраст — более 50 лет. Она была признана Национальным институтом стандартов и технологий США (NIST) как одна из фундаментальных моделей безопасности.
- В российской операционной системе Astra Linux Special Edition (сертифицированной для обработки информации степени «Особой важности») реализована мандатная политика управления доступом на основе модели безопасности, соответствующей требованиям ФСТЭК России.
Критика
Критика мандатного управления доступом часто исходит от специалистов по удобству использования (UX) и разработчиков приложений. Они отмечают, что MAC в его классической форме (модель Белла — Лападулы) сложен для понимания и требует значительных усилий для настройки. Более того, жёсткая политика MAC может препятствовать совместной работе, если она не учитывает детализированные контексты, такие как временные проектные группы. Некоторые исследователи (например, работы Дэвида Кларка и Друиле) предлагают альтернативные модели, такие как модель «Роль-основанное мандатное управление доступом» (RBAC-MAC), которые пытаются сочетать жёсткость MAC с гибкостью управления ролями.
Источники
- Bell, D. E., & LaPadula, L. J. (1973). Secure Computer Systems: Mathematical Foundations. The MITRE Corporation.
- National Computer Security Center. (1983). Trusted Computer System Evaluation Criteria (TCSEC, «Оранжевая книга»).
- Denning, D. E. (1976). A Lattice Model of Secure Information Flow. Communications of the ACM.
- Гайдамакин, Н. А. (2006). Информационная безопасность: управление доступом. М.: Горячая линия — Телеком.
- SELinux Project Documentation. National Security Agency (NSA).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →