Контроль доступа на основе набора правил ( RSBAC ) — это фреймворк контроля доступа с открытым исходным кодом для текущих ядер Linux , который стабильно используется в промышленной эксплуатации с января 2000 года (версия 1.0.9a).
Архитектура системы RSBAC была разработана и расширена на основе Обобщенной структуры управления доступом (GFAC) Маршалла Абрамса и Леонарда Ла Падулы.
RSBAC означает "управление доступом на основе набора правил" и также является решением управления доступом на основе ролей ( RBAC ). Эти две аббревиатуры могут вызвать путаницу.
В своем эссе «Моделирование набора правил доверенной компьютерной системы» Леонард ЛаПадула описывает, как подход Generalized Framework for Access Control (GFAC) может быть реализован в операционной системе UNIX System V. Он ввел четкое разделение между Access Enforcement Facility (AEF), Access Decision Facility (ADF) с правилами контроля доступа (ACR) и Access Control Information (ACI).
AEF как часть функции системного вызова вызывает ADF, который использует ACI и правила для возврата решения и набора новых значений атрибутов ACI. Затем решение применяется AEF, который также устанавливает новые значения атрибутов и, в случае разрешенного доступа, предоставляет субъекту доступ к объекту.
Эта структура требует, чтобы все системные вызовы, связанные с безопасностью, были расширены перехватом AEF, и ей нужен четко определенный интерфейс между AEF и ADF. Для лучшего моделирования использовался набор типов запросов, в котором должны были быть выражены все функциональные возможности системных вызовов. Общая структура GFAC также была включена в стандарт ISO 10181-3 «Структуры безопасности для открытых систем: структура контроля доступа» и в API авторизации (AZN) стандарта Open Group .
Первый прототип RSBAC следовал предложениям Ла Падулы и реализовал некоторые политики контроля доступа, кратко описанные там, а именно обязательный контроль доступа ( MAC ), функциональный контроль (FC) [ необходимы пояснения ] и модификацию информации о безопасности (SIM), а также модель конфиденциальности Симоны Фишер-Хюбнер .
С тех пор многие аспекты системы существенно изменились, например, текущая структура поддерживает больше типов объектов, включает в себя общее управление списками и контроль доступа к сети, содержит несколько дополнительных моделей безопасности и поддерживает регистрацию во время выполнения модулей принятия решений и системных вызовов для их администрирования.
RSBAC очень близок к Security-Enhanced Linux ( SELinux ), поскольку в своей конструкции они имеют гораздо больше общего, чем другие средства контроля доступа [ необходима ссылка ], такие как AppArmor .
Однако RSBAC использует свой собственный код перехвата вместо того, чтобы полагаться на модуль безопасности Linux ( LSM ). Благодаря этому RSBAC технически является заменой самого LSM и реализует модули, которые похожи на SELinux, но с дополнительной функциональностью. [ необходима цитата ]
Фреймворк RSBAC включает в себя полный статус объекта и имеет полное знание состояния ядра при принятии решений, что делает его более гибким и надежным. [ необходима цитата ] Однако это достигается ценой немного более высоких накладных расходов в самом фреймворке. Хотя системы с поддержкой SELinux и RSBAC оказывают одинаковое влияние на производительность, влияние LSM само по себе незначительно по сравнению с фреймворком RSBAC само по себе. [ необходима цитата ]
По этой причине [ требуется ссылка ] LSM был выбран в качестве уникального механизма безопасности по умолчанию в ядре Linux, а RSBAC поставляется только в виде отдельного патча.
RSBAC был первым патчем для управления доступом на основе ролей ( RBAC ) и обязательного управления доступом ( MAC ) в Linux. [ необходима ссылка ]