|
|
Log in / Subscribe / Register

LSM: security module information improvements

From:  Casey Schaufler <casey-AT-schaufler-ca.com>
To:  LSM <linux-security-module-AT-vger.kernel.org>, James Morris <jmorris-AT-namei.org>
Subject:  [PATCH v6 0/3] LSM: security module information improvements
Date:  Wed, 26 Oct 2016 16:56:02 -0700
Message-ID:  <00f80c77-9623-7e9e-8980-63b362a4f16c@schaufler-ca.com>
Cc:  John Johansen <john.johansen-AT-canonical.com>, Paul Moore <paul-AT-paul-moore.com>, Kees Cook <keescook-AT-chromium.org>, Stephen Smalley <sds-AT-tycho.nsa.gov>, Tetsuo Handa <penguin-kernel-AT-i-love.sakura.ne.jp>, LKLM <linux-kernel-AT-vger.kernel.org>, Casey Schaufler <casey-AT-schaufler-ca.com>

Subject: [PATCH v6 0/3] LSM: security module information improvements

Changes from v5:
	Rebased on 4.9-rc2

Changes from v4:
	Use kasprintf instead of kzalloc() ... sprintf in more places.
	More in the documentation.
	Separate module information in contexts with ",". (not yet visible)

Changes from v3:
	Use kasprintf instead of kzalloc() ... sprintf.

Create interfaces that make it possible to deal with process
attributes in the face of multiple "major" security modules.

Patch 1/3 adds /sys/kernel/security/lsm, which provides
a list of the active security modules on the system.

	$ cat /sys/kernel/security/lsm
	capability,yama,loadpin,smack

Patch 2/3 adds a subdirectory in /proc/.../attr for each
security module that exports process attribute data. This
allows a program in easily differentiate between the "current"
value for Smack and AppArmor.

	$ cat /proc/self/attr/smack/current
	System

	$ cat /proc/self/attr/apparmor/current
	unconfined

Patch 3/3 adds an interface that provides module identified
information that otherwise matches the "current" attr.
This allows a system with multiple modules to provide the
complete security "context" in one place. A (future) system
with both Smack and AppArmor might report:

	$ cat /proc/self/attr/context
	smack='System',apparmor='unconfined'

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>

---
 Documentation/security/LSM.txt |  34 ++++++--
 fs/proc/base.c                 |  95 +++++++++++++++++++---
 fs/proc/internal.h             |   1 +
 include/linux/lsm_hooks.h      |  12 +--
 include/linux/security.h       |  15 ++--
 security/apparmor/lsm.c        |  38 +++++++--
 security/commoncap.c           |   3 +-
 security/inode.c               |  26 +++++-
 security/loadpin/loadpin.c     |   2 +-
 security/security.c            | 177 ++++++++++++++++++++++++++++++++++++++++-
 security/selinux/hooks.c       |  22 ++++-
 security/smack/smack_lsm.c     |  22 ++---
 security/tomoyo/tomoyo.c       |   2 +-
 security/yama/yama_lsm.c       |   2 +-
 14 files changed, 395 insertions(+), 56 deletions(-)



Copyright © 2016, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds