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

Разрешение (право доступа)

Разрешение (в вычислительной технике и информационной безопасности) — это санкционированное предоставление субъекту (пользователю, процессу, устройству) права на выполнение определённых операций с объектом (файлом, ресурсом, системой). Разрешение определяет, какие действия допустимы в рамках установленной политики безопасности, и является противоположностью запрету. Механизмы разрешений лежат в основе систем контроля доступа, обеспечивая конфиденциальность, целостность и доступность информации.

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

Понятие разрешения сформировалось с развитием многопользовательских операционных систем. В 1960-х годах в системах с разделением времени (например, CTSS) возникла необходимость ограничивать доступ к файлам разных пользователей. Классическая модель дискреционного управления доступом (DAC) была формализована в 1970-х годах. В 1983 году Министерство обороны США выпустило «Оранжевую книгу» (TCSEC), закрепившую стандарты для систем контроля доступа. Современные операционные системы (Unix, Windows, Linux) и сетевые протоколы используют различные модели разрешений, эволюционировавшие от простых битовых масок до сложных политик на основе атрибутов.

Виды разрешений

Разрешения классифицируются по способу управления и проверки прав.

Дискреционные разрешения (DAC)

Владелец объекта (например, файла) самостоятельно определяет, кому и какие права предоставить. Классический пример — права доступа в Unix-системах, которые делятся на три категории субъектов (владелец, группа, остальные) и три типа операций (чтение, запись, выполнение). Для гибкого управления используются списки контроля доступа (ACL), позволяющие задавать права для отдельных пользователей и групп.

Мандатные разрешения (MAC)

Доступ определяется централизованно на основе меток безопасности субъектов и объектов. Каждому субъекту и объекту присваивается классификационный уровень (например, «секретно», «совершенно секретно»). Субъект может получить доступ к объекту только при соблюдении определённых правил (например, уровень субъекта должен быть не ниже уровня объекта). Эта модель применяется в государственных и военных системах.

Ролевые разрешения (RBAC)

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

Атрибутивные разрешения (ABAC)

Доступ предоставляется на основе набора атрибутов субъекта, объекта и окружения (время суток, местоположение, тип устройства). Политика доступа формулируется в виде логических правил. ABAC обеспечивает высокую гибкость и применяется в облачных сервисах и системах интернета вещей.

Модели реализации

Разрешения реализуются через несколько базовых моделей.

Избирательное управление доступом

Владелец ресурса вправе передавать свои права другим субъектам. Эта модель проста и интуитивна, но уязвима для атак с повышением привилегий, так как права могут распространяться цепочкой.

Принудительное управление доступом

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

Мандатная целостность (модель Биба)

Дополняет мандатное управление конфиденциальностью. Правила предотвращают запись данных субъектом с низким уровнем целостности в объект с высоким уровнем, защищая от порчи данных.

Применение разрешений

Разрешения применяются во всех сферах, где требуется разграничение доступа.

Операционные системы

В Unix-подобных системах права задаются битовой маской (например, rwxr-xr--). В Windows используется более сложная модель с ACL и наследованием прав от родительских папок. Разрешения также применяются к системным вызовам, реестру, службам.

Сети и веб-сервисы

Протоколы HTTP используют коды состояния (403 Forbidden, 401 Unauthorized) для обозначения отсутствия разрешений. Современные веб-приложения реализуют авторизацию через токены (JWT), OAuth-протоколы, где разрешения (scopes) ограничивают доступ приложений к данным пользователя.

Базы данных

СУБД (PostgreSQL, MySQL, Oracle) предоставляют гранулярные разрешения на уровне таблиц, представлений, хранимых процедур. Роли и привилегии (SELECT, INSERT, UPDATE, DELETE) назначаются администратором базы данных.

Мобильные платформы

Android и iOS используют модель разрешений для доступа приложений к аппаратным ресурсам (камера, микрофон, геолокация) и личным данным (контакты, фотографии). Пользователь выдаёт или отзывает разрешения в настройках системы.

Файловые системы и облачные хранилища

Сервисы (Google Drive, Яндекс Диск) позволяют настраивать права на просмотр, комментирование и редактирование для отдельных пользователей или по ссылке.

Проверка разрешений

Процесс проверки обычно включает три этапа: аутентификацию (подтверждение личности), авторизацию (проверку наличия прав) и аудит (фиксацию действий). Проверка может выполняться на стороне клиента, сервера или через внешние службы (например, LDAP, Active Directory). Ошибки в проверке разрешений являются одной из наиболее распространённых уязвимостей (CWE-862, CWE-863), приводящих к несанкционированному доступу.

Принцип наименьших привилегий

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

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

  • В ранних версиях Unix права доступа обозначались тремя битами, что породило восьмеричную запись (например, 755).
  • В 2021 году в Android 12 появилась возможность предоставлять приложениям доступ к геолокации и камере только на время одного использования.
  • Модель RBAC была стандартизирована в 2004 году как INCITS 359-2004.
  • В операционной системе Windows разрешения NTFS поддерживают 14 специальных прав, включая «смена владельца» и «удаление».

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

На главную BFOmetr →