Что такое принудительный контроль доступа MAC

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

Мандатное управление доступом (MAC)

Mandatory Access Control (MAC) — модель безопасности, обеспечивающая наиболее строгий и централизованный контроль доступа к информации. Её применение характерно для сфер, где компрометация данных недопустима: военные системы, государственные учреждения с гостайной, объекты критической информационной инфраструктуры (КИИ). Основополагающий принцип MAC — полное изъятие у пользователей права самостоятельно определять доступ. Политика безопасности устанавливается администраторами и принудительно применяется системой ко всем без исключения субъектам и объектам.

Ключевые принципы и механизм работы

Работа модели строится на двух фундаментальных операциях: маркировке и сравнении меток.

  • Маркировка объектов и субъектов. Каждому субъекту (пользователь, процесс) присваивается метка, отражающая его уровень допуска (clearance). Каждому объекту (файл, запись в БД, сетевое соединение) присваивается метка, отражающая уровень его конфиденциальности (classification).
  • Проверка на доминирование. Правила доступа определяются формальной политикой, чаще всего реализующей решетчатую модель (Lattice Model). Доступ субъекта к объекту разрешается, если метка субъекта доминирует над меткой объекта. Это означает, что уровень допуска субъекта должен быть равен или выше уровня конфиденциальности объекта. Например, пользователь с допуском «Секретно» может читать документы «Секретно» и «Для служебного пользования», но не сможет получить доступ к документам «Совершенно секретно».

Ключевое ограничение для рядового пользователя в системе с MAC — невозможность произвольно распоряжаться правами. Пользователь не может:

  • передать доступ другому пользователю, даже если тот имеет формально подходящий уровень допуска;
  • изменить метки безопасности объектов, которые он создал или которые ему принадлежат;
  • обойти правила сравнения меток, установленные политикой.

MAC против DAC: сравнение подходов

Основное концептуальное различие между мандатным (MAC) и дискреционным (DAC) управлением доступом заключается в точке принятия решения о предоставлении прав.

Мандатное управление доступом (MAC) Дискреционное управление доступом (DAC)
Централизованная политика, устанавливаемая администраторами безопасности. Децентрализованное управление, право владельца объекта решать, кому предоставить доступ.
Основано на сравнении формальных меток (уровни секретности). Основано на идентификаторах пользователей и групп (списки ACL, разрешения rwx).
Запрещает делегирование прав пользователями. Позволяет владельцу передавать права другим.
Направлено в первую очередь на обеспечение конфиденциальности (запретить «утечку вниз»). Направлено на обеспечение гибкости и удобства работы в коммерческой среде.
Примеры: SELinux, AppArmor, Trusted BSD, системы для работы с гостайной. Примеры: стандартные разрешения файловой системы в Windows NTFS и Linux.

MAC и концепция «разделения обязанностей» (SoD)

В практике применения мандатного контроля доступ часто дополняется принципом «разделения обязанностей» (Separation of Duties, SoD). Это не просто технический механизм, а организационно-техническая мера. Даже имея формальный допуск к определенному уровню секретности, пользователь получает доступ только к тем данным, которые необходимы для выполнения его конкретных служебных функций («нужда знать» — need to know).

Например, в системе обработки финансовых документов сотрудник, утверждающий платежное поручение, не может быть тем же человеком, который его инициирует. В контексте MAC это реализуется через дополнительные категории или атрибуты в метках безопасности, которые ограничивают горизонтальный доступ в рамках одного уровня секретности. Это исключает ситуации, когда один сотрудник, получив высокий допуск, может монопольно контролировать критический процесс.

Практическая реализация и актуальность

В современных операционных системах (например, Linux) MAC редко используется в «чистом» виде, как в классических системах с метками для уровней секретности. Однако его принципы лежат в основе систем принудительного контроля доступа на уровне ядра. SELinux (Security-Enhanced Linux) и AppArmor являются практическими реализациями идей MAC для мобильных и серверных ОС. В них политика безопасности, написанная администратором, определяет, какие процессы (субъекты) могут обращаться к каким файлам, сокетам, портам (объекты) и какими операциями. Пользователь или даже root не могут обойти эти правила без изменения самой политики.

Для российских организаций, подпадающих под требования 152-ФЗ о персональных данных и особенно под приказы ФСТЭК России (например, приказ № 31 для ГИС), понимание принципов MAC критически важно. Хотя стандартные СЗИ могут не требовать полноценной реализации многоуровневой модели, принцип централизованного, принудительного и необходимого управления доступом является краеугольным камнем при построении систем защиты информации 1 и 2-го классов. MAC обеспечивает предсказуемость и проверяемость политики безопасности, что прямо соотносится с требованием невозможности несанкционированного доступа.

Оставьте комментарий