| From: |
| José Bollo <jose.bollo@iot.bzh> |
| To: |
| LSM <linux-security-module@vger.kernel.org> |
| Subject: |
| [RFC PATCH 0/1] Tags: Adding secure tagging of processes |
| Date: |
| Wed, 27 Jan 2016 22:08:16 +0100 |
| Message-ID: |
| <1453928897-848-1-git-send-email-jose.bollo@iot.bzh> |
| Cc: |
| =?UTF-8?q?Jos=C3=A9=20Bollo?= <jobol@nonadev.net> |
From: José Bollo <jobol@nonadev.net>
WHAT IS THE TAGGING FEATURE?
============================
Each process or thread has a list of tags.
This tag list is accessed through the new files /proc/PID/attr/tags
and /proc/PID/tasks/TID/attr/tags below named "tag file".
Except for few special tags, the meaning of the tag is free.
The list can be empty.
The list of tags is copied (this is not shared) during 'clone' and
mostly dropped during 'execve'.
Tagging is compatible with the use of other LSM like Smack,
AppAmor, SELinux, ...
WHY IS IT USEFUL?
=================
The tagging feature can serve multiple purposes.
The primary goal is to implement a user-land permission
mechanism. With that intention, the tagging feature is used to record
the list of the permissions granted to a process. Any
service that requires that their client must have a
permission can check the list to accept or refuse to serve.
WHY IS IT SECURE?
=================
By default:
- processes can NOT remove any tags for itself
- processes can NOT add any tag to itself
- processes can NOT alter (add or remove) tags of other processes
- processes mostly lose their tags during 'execve'
- processes can read tags of other processes when DAC/MAC allows it
But some rules allow authorized processes:
- to remove some or all of its tags
- to add some or any tag to itself
- to alter other processes list of tags
- to keep some or all of their tags during 'exec'
These rules are allowing the management of the tags either using
daemons/services or using fork/exec or using both.
José Bollo (1):
Tags: Adding tagging feature to security modules
fs/proc/base.c | 3 +
include/linux/cred.h | 3 +
security/Kconfig | 2 +
security/Makefile | 2 +
security/tags/Kconfig | 8 +
security/tags/Makefile | 6 +
security/tags/tags.c | 868 +++++++++++++++++++++++++++++++++++++++++++++++++
7 files changed, 892 insertions(+)
create mode 100644 security/tags/Kconfig
create mode 100644 security/tags/Makefile
create mode 100644 security/tags/tags.c
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html