All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch] enhanced MLS support
@ 2005-01-17 23:13 Darrel Goeddel
  2005-01-17 23:16 ` Darrel Goeddel
                   ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Darrel Goeddel @ 2005-01-17 23:13 UTC (permalink / raw)
  To: selinux@tycho.nsa.gov

[-- Attachment #1: Type: text/plain, Size: 3539 bytes --]

Hello,
     I have attached patches which provides many enhancements to the MLS support
within SELinux - highlights are listed below.  The patches a are against the
latest sourceforge CVS tree.  The kern-0117.patch applies to the nsa/linux-2.6
tree and the usr-0117.patch applies to the nsa/selinux-usr tree.  We have been
using this code for a while and have had several set of eyes go over it - we are
now presenting this for inclusion into the mainline SELinux tree.  We appreciate
all feedback and will attempt to answer all questions.

Thanks.

Darrel

Replaced the existing MLS logic with a flexible system based on the current
constraints language.  The constraints were extended to include operations for
levels.  This allows for configurable overrides of MLS policy rather than using
the previous hardcoded attributes.  It also allows for a more flexible MLS
policy: you can choose a strict BLP model or a modified BLP model which does
not allow write-up, you can limit a class to be "single level", etc...  The
"constrain" and "validatetrans" (see next item) statements are mirrored by the
"mlsconstrain" and "mlsvalidatetrans" statements.  They use the same code for
everything, they just live in different files (constraints vs. mls).

Added validatetrans statements to the policy which are used along with
constraints.  The syntax for these statements is the same the syntax for
constraints with three additional expressions available: "u3 op names",
"r3 op names", and "t3 op names".  For these rules, the *1 tokens refer to the
"old context", the *2 tokens refer to the "new context", and the *3 tokens
refer to the "process context".  These rules are currently only processed for
the file classes (file, dir, lnk_file, ...) by calling the new
security_validate_transition function in the selinux_inode_setxattr hook.  These
rules allow checking process attributes (*3) along with the current object
context (*1) and the proposed object context (*2).  With these rules, one
can require different things of the process based on the relationship of the
objects old and new contexts.  This allows MLS upgrade and downgrade checks
when relabeling an object.

The MLS levels of a subject are used as a sensitivity level (low) and a
clearance (high).  The user MLS properties have accordingly been modified from
a list of ranges to a default level and an allowable range.  The high of the
allowable range acts as the process clearance, and the default levels

The compile time options for MLS support have been replaced with runtime
options/detection.  This will allow a vendor to ship one set of tools and one
kernel to support both MLS and non-MLS enabled policies.  The kernel will
automatically determine the MLS status of a policy when it is read.  MLS
specific checks will be short-circuited if a non-MLS policy is being used.
Checkpolicy now uses the "-M" option to work with MLS policies.  Libsepol will
will automatically determine the status of MLS support when a policy is read
(like the kernel).  There is also a interface to set the MLS status - this is
used when checkpolicy is writing the policy.

The binary policy version was incremented to accommodate these changes.  The
userspace tools and the kernel will still work with older non-MLS binary
polices.  Checkpolicy (and libsepol) can still work with and create older
non-MLS binary policies and the kernel can still use older non-MLS binary
policies.  Previous versions of binary policies with MLS support can not be
used or created with the new tools/kernel.

[-- Attachment #2: kern-0117.patch.gz --]
[-- Type: application/x-gzip, Size: 15010 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2005-04-15  0:50 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-17 23:13 [patch] enhanced MLS support Darrel Goeddel
2005-01-17 23:16 ` Darrel Goeddel
2005-01-21 17:42   ` Stephen Smalley
2005-01-21 18:04     ` Stephen Smalley
2005-02-01 16:17       ` Stephen Smalley
2005-01-23 18:44 ` James Morris
2005-01-24  3:40   ` Casey Schaufler
2005-01-24 12:30     ` Stephen Smalley
2005-01-24 16:38       ` Casey Schaufler
2005-01-24 16:57         ` Stephen Smalley
2005-01-25 23:15 ` Darrel Goeddel
2005-01-26 20:35   ` Stephen Smalley
2005-03-22 21:22     ` You mentioned somewhere there is a step by step guide to getting the MLS policy installed on a machine? Daniel J Walsh
2005-03-23  9:41       ` Reloading Policy? John Buwa
2005-03-23 13:28         ` Stephen Smalley
2005-03-23 13:11       ` You mentioned somewhere there is a step by step guide to getting the MLS policy installed on a machine? Stephen Smalley
2005-03-23 13:57         ` Daniel J Walsh
2005-03-23 14:03           ` Stephen Smalley
2005-04-14 20:24             ` Paul Moore
2005-04-14 20:38               ` Stephen Smalley
2005-04-14 22:52                 ` Luke Kenneth Casson Leighton
2005-04-15  0:46               ` James Morris

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.