RSBAC

From Wikipedia, the free encyclopedia
Jump to: navigation, search

RSBAC (Rule Set Based Access Control) is an open source access control framework for current Linux kernels, which has been in stable production use since January 2000 (version 1.0.9a).

Features[edit]

  • Free open source (GPL) Linux kernel security extension.
  • Independent of governments and big companies.
  • Several well-known and new security models, e.g. MAC, ACL and RC.
  • On-access virus scanning with Dazuko interface.
  • Detailed control over individual user and program network accesses.
  • Fully access controlled kernel level user management.
  • Any combination of security models possible.
  • Easily extensible: write your own model for runtime registration.
  • Support for latest kernels.
  • Stable for production use.
  • Very easily portable to other operating systems.

The RSBAC system architecture has been derived and extended from the Generalized Framework for Access Control (GFAC) by Marshall Abrams and Leonard La Padula.

RSBAC means RuleSet Based Access Control, and is also an RBAC, Role Based Access Control solution, the two acronyms may sometimes cause confusion.

In his essay Rule Set Modeling of a Trusted Computer System, Leonard LaPadula describes how the Generalized Framework for Access Control (GFAC) approach could be implemented in the Unix System V operating system. He introduced the clear separation between Access Enforcement Facility (AEF), Access Decision Facility (ADF) with Access Control Rules (ACR) and Access Control Information (ACI).

The AEF as part of the system call function calls the ADF, which uses ACI and the rules to return a decision and a set of new ACI attribute values. The decision is then enforced by the AEF, which also sets the new attribute values and, in case of allowed access, provides object access to the subject.

This structure requires all security relevant system calls to be extended by AEF interception, and it needs a well defined interface between AEF and ADF. For better modeling, a set of request types was used, in which all system call functionalities were to be expressed. The general structure of the GFAC has also been included in the ISO standard 10181-3 Security frameworks for open systems: Access control framework and into the OpenGroup standard Authorization (AZN) API.

The first RSBAC prototype followed La Padula’s suggestions and implemented some access control policies briefly described there, namely MAC, FC and SIM, as well as the Privacy Model by Simone Fischer-Hübner.

Many aspects of the system have changed a lot since then, e.g. the current framework supports more object types, includes generic list management and network access control, contains several additional security models and supports runtime registration of decision modules and system calls for their administration.

RSBAC and other solutions[edit]

RSBAC is very close to SELinux functionality wise as they share a lot more in their design than other access controls[citation needed] such as AppArmor, etc.

However, RSBAC brings its own hooking code instead of relying on LSM, the Linux Security Module. Due to this, RSBAC is technically a replacement for LSM itself, and implement modules that are similar to SELinux, but with more and additional functionality .[citation needed]

The RSBAC framework incorporate complete object status and has a full knownledge of the kernel state when making decisions, making it more flexible and reliable .[citation needed] However, this comes at the cost of slightly higher overhead in the framework itself. While both SELinux and RSBAC enabled system have similar performance impact, LSM alone performance impact is negligible compared to the RSBAC framework alone .[citation needed]

For this reason,[citation needed] LSM has been selected as default and unique security hooking mechanism in the Linux kernel, RSBAC coming as a separate patch only.

History[edit]

RSBAC was historically the first Linux complete RBAC and MAC access control patch .[citation needed]

See also[edit]

External links[edit]