Открыть сервис

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

Дискреционная модель управления доступом (англ. Discretionary Access Control, DAC) — это метод разграничения доступа к объектам информационной системы, основанный на субъективных решениях владельца объекта или администратора. В рамках данной модели каждый субъект (пользователь, процесс) может по своему усмотрению предоставлять или отзывать права доступа (чтение, запись, выполнение) у других субъектов к принадлежащим ему объектам (файлам, папкам, устройствам, базам данных). Ключевой характеристикой является то, что владелец объекта обладает полным контролем над его защитой, а полномочия передаются по принципу «дискреции» (усмотрения).

История возникновения и развития

Концепция дискреционного управления доступом возникла в 1960-х — 1970-х годах в рамках развития многопользовательских операционных систем. Ранние реализации, такие как система Multics (1965), ввели понятие «списков управления доступом» (ACL — Access Control Lists), позволяющих владельцам файлов задавать права для отдельных пользователей или групп. В 1983 году Министерство обороны США опубликовало «Оранжевую книгу» (Trusted Computer System Evaluation Criteria, TCSEC), где DAC была определена как один из базовых механизмов защиты для систем класса C (произвольный доступ). С тех пор модель стала стандартом де-факто для большинства коммерческих операционных систем (Unix, Linux, Windows, macOS) и прикладных приложений.

Основные принципы и терминология

В основе дискреционной модели лежат следующие понятия:

  • Субъект — активная сущность (пользователь, процесс, программа), инициирующая запрос на доступ к объекту.
  • Объект — пассивная сущность (файл, каталог, принтер, раздел реестра), к которой осуществляется доступ.
  • Владелец — субъект, создавший объект или назначенный таковым системой. Владелец обладает неотъемлемым правом управления доступом к объекту.
  • Право доступа — разрешение на выполнение определённого действия (например, чтение, запись, выполнение, удаление, изменение атрибутов).
  • Матрица доступа — теоретическая модель, представляющая собой таблицу, где строки соответствуют субъектам, столбцы — объектам, а на пересечении указываются права доступа.
  • Список управления доступом (ACL) — практическая реализация части матрицы доступа, прикреплённая к объекту и содержащая записи вида «субъект — права».

Механизмы реализации

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

Списки управления доступом (ACL)

Наиболее распространённый механизм. Каждый объект содержит список, в котором перечислены субъекты (пользователи, группы) и соответствующие им права. Пример: в файловой системе NTFS (Windows) для каждого файла можно задать права для конкретного пользователя «Иванов» (чтение и запись) и для группы «Бухгалтерия» (только чтение).

Классическая модель Unix (битовая маска)

В Unix-подобных системах права доступа к файлу задаются тремя триадами битов (rwx) для владельца, группы и остальных пользователей. Дополнительно используются биты SUID, SGID и sticky bit. Эта модель является упрощённой формой DAC, где владелец может установить только три уровня прав для трёх категорий субъектов.

Модель с передачей прав (Delegation)

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

Классификация дискреционных моделей

В теории и на практике выделяют несколько разновидностей DAC:

  • Произвольное управление (Pure DAC) — владелец объекта может произвольно назначать любые права любому субъекту, включая передачу права управления. Характерно для ранних систем.
  • Управление на основе групп (Group-based DAC) — права назначаются не отдельным субъектам, а группам. Субъект получает доступ, если входит в группу, имеющую соответствующие права. Это упрощает администрирование.
  • Управление с ограничениями (Restricted DAC) — накладываются дополнительные ограничения на действия владельца. Например, владелец не может передать право управления другому субъекту, или права могут быть только унаследованы от родительского объекта.
  • Мандатно-дискреционная гибридная модель — сочетает элементы DAC и мандатного управления (MAC). Владелец может управлять доступом, но только в рамках заданных мандатных меток безопасности.

Достоинства и недостатки

Преимущества

  • Гибкость и простота — владелец объекта может быстро и интуитивно настроить доступ для конкретных пользователей без необходимости вмешательства администратора.
  • Децентрализацияраспределение ответственности за защиту данных между владельцами снижает нагрузку на централизованную службу безопасности.
  • Прозрачность — пользователи понимают, кто и как управляет доступом к их файлам.
  • Широкая распространённостьподдержка DAC есть во всех современных операционных системах, что делает её универсальным стандартом.

Недостатки

  • Уязвимость к атакам — владелец может по ошибке или под давлением предоставить доступ злоумышленнику. Отсутствует централизованный контроль над потоками информации.
  • Проблема «троянского коня» — вредоносная программа, запущенная от имени владельца, может получить доступ ко всем его объектам и передать их другому субъекту. DAC не защищает от атак, изменяющих права доступа.
  • Сложность аудита — в крупных системах с тысячами владельцев трудно отследить, кто и кому предоставил доступ. Возникает «разрастание прав» (privilege creep).
  • Отсутствие гарантий конфиденциальности — модель не гарантирует, что информация не будет передана субъекту с более низким уровнем допуска (если такой уровень определён).

Применение в современных системах

Дискреционная модель управления доступом является основой для:

  • Операционных системфайловые системы NTFS, ext4, APFS, а также управление доступом к реестру Windows и процессам в Linux.
  • Систем управления базами данных (СУБД) — назначение прав на таблицы, представления, процедуры в PostgreSQL, MySQL, Oracle.
  • Облачных сервисов — управление доступом к объектам в хранилищах (Amazon S3, Google Cloud Storage, Яндекс.Облако) через политики IAM (Identity and Access Management).
  • Веб-приложений — разграничение доступа к страницам и API на основе ролей пользователей (RBAC — Role-Based Access Control, часто реализуемый поверх DAC).
  • Корпоративных информационных систем — управление доступом к документам в системах электронного документооборота (например, 1С:Документооборот, Directum).

Сравнение с другими моделями

ХарактеристикаДискреционная (DAC)Мандатная (MAC)Ролевая (RBAC)
УправлениеВладелец объектаЦентральный администраторАдминистратор ролей
ГибкостьВысокаяНизкаяСредняя
БезопасностьНизкая (зависит от субъекта)Высокая (принудительная)Средняя
МасштабируемостьПлохая (для больших систем)ХорошаяХорошая
ПримерФайловая система LinuxSELinux, FreeBSDMicrosoft Active Directory

Критика и ограничения

Основная критика дискреционной модели связана с её неспособностью обеспечить строгую многоуровневую защиту, требуемую в государственных и военных системах. В таких средах предпочтительнее мандатное управление (MAC), где решения принимаются на основе меток безопасности, а не воли владельца. Кроме того, DAC подвержена ошибкам человеческого фактора (случайное раскрытие доступа) и неэффективна против атак, использующих социальную инженерию. В современных системах (например, Windows с UAC или Linux с AppArmor) DAC часто дополняется другими механизмами для повышения безопасности.

Интересные факты

  • В ранних версиях Unix (1970-е) права доступа были только для трёх категорий (владелец, группа, остальные), что делало модель очень простой, но негибкой. Появление ACL в Windows NT (1993) и затем в Linux (2002, расширение POSIX ACL) значительно расширило возможности DAC.
  • Модель DAC лежит в основе концепции «суверенитета пользователя» в облачных вычислениях: владелец аккаунта может самостоятельно управлять доступом к своим ресурсам.
  • В некоторых системах (например, в macOS до версии 10.14) владелец мог по ошибке предоставить доступ к системным файлам, что приводило к уязвимостям. Современные версии используют комбинацию DAC и мандатного контроля (System Integrity Protection).

Источники

  1. Trusted Computer System Evaluation Criteria (Оранжевая книга). Министерство обороны США, 1985.
  2. Security in Computing (5-е издание). Charles P. Pfleeger, Shari Lawrence Pfleeger, Jonathan Margulies. Prentice Hall, 2015.
  3. Operating System Concepts (10-е издание). Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. Wiley, 2018.
  4. Access Control Systems: Security, Identity Management and Trust Models. Messaoud Benantar. Springer, 2006.
  5. Документация Microsoft: «Access Control Lists» (ACL) и «Security Descriptors».
  6. Документация Linux Foundation: «POSIX Access Control Lists on Linux».
  7. The Protection of Information in Computer Systems. Jerome H. Saltzer, Michael D. Schroeder. Proceedings of the IEEE, 1975.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →