Related Work

Two other security projects have developed flexible access control frameworks for the Linux kernel. The Rule Set Based Access Control (RSBAC) for Linux project [15] provides a general framework for kernel access control and a set of security policy modules. The Medusa DS9 project [3] provides a kernel access control architecture that allows processes and files to be placed into separate virtual spaces in accordance with a policy defined by a user-space authorization server.

Several other projects have developed particular access control mechanisms for the Linux kernel. The Domain and Type Enforcement (DTE) for Linux project [11] provides a variant of Type Enforcement that uses an implicit typing mechanisms based on pathnames. This project is based on the original DTE prototype [4], which also investigated how to configure the DTE controls to meet real security objectives [18]. SubDomain [9] provides a variant of DTE that is limited to confining programs and that directly specifies access control configurations in terms of programs and files rather than domains and types. The Linux Intrusion Detection System (LIDS) project [1] provides administratively-defined program-based access control lists for files along with a collection of other features. For further discussion on related work see [13].

Due to its highly flexible architecture and comprehensive controls, SELinux is capable of representing many of the security policies and mechanisms provided by these other projects. However, since SELinux was only designed to address mandatory access controls based on the labels of subjects and objects, it cannot directly represent some of the requirements of these projects. The Linux Security Module project [2] has been created to develop a common set of kernel hooks that can support the needs of all of the Linux security projects, with the goal of integrating this general set of hooks into the mainstream Linux kernel.