IBAC Patch
RFC PATCH 1/1 IBAC Patch
This is a posting of an updated IBAC patch, based on comments from the LSM and LKML mailing lists, which include the following fixes:
- Updated Kconfig SECURITY_IBAC description
and SECURITY_IBAC_BOOTPARAM default value
- Prefixed all log messages with "ibac:"
- Redefined a couple of 'int' variables as 'static int'
This is a request for comments for a new Integrity Based Access Control(IBAC) LSM module which bases access control decisions on the new integrity framework services.
(Hopefully this will help clarify the interaction between an LSM module and LIM module.)
security/ibac/Kconfig new file +41 -0
@@ -0,0 +1,41 @@ +config SECURITY_IBAC + boolean "IBAC support" + depends on SECURITY && SECURITY_NETWORK && INTEGRITY + help + Integrity Based Access Control(IBAC) uses the Linux + Integrity Module(LIM) API calls to verify an executable's + metadata and data's integrity. Based on the results, + execution permission is permitted/denied. Integrity + providers may implement the LIM hooks differently. For + more information on integrity verification refer to the + specific integrity provider documentation. + +config SECURITY_IBAC_BOOTPARAM + bool "IBAC boot parameter" + depends on SECURITY_IBAC + default n + help + This option adds a kernel parameter 'ibac', which allows IBAC + to be disabled at boot. If this option is selected, IBAC + functionality can be disabled with ibac=0 on the kernel + command line. The purpose of this option is to allow a + single kernel image to be distributed with IBAC built in, + but not necessarily enabled. + + If you are unsure how to answer this question, answer N. + +config SECURITY_IBAC_BOOTPARAM_VALUE + int "IBAC boot parameter default value" + depends on SECURITY_IBAC_BOOTPARAM + range 0 1 + default 0 + help + This option sets the default value for the kernel parameter + 'ibac', which allows IBAC to be disabled at boot. If this + option is set to 0 (zero), the IBAC kernel parameter will + default to 0, disabling IBAC at bootup. If this option is + set to 1 (one), the IBAC kernel parameter will default to 1, + enabling IBAC at bootup. + + If you are unsure how to answer this question, answer 0. +
security/ibac/Makefile new file +6 -0
@@ -0,0 +1,6 @@ +# +# Makefile for building IBAC +# + +obj-$(CONFIG_SECURITY_IBAC) += ibac.o +ibac-y := ibac_main.o
security/ibac/ibac_main.c new file +126 -0
126 lines not on this page · raw message
security/Kconfig +1 -0
@@ -125,5 +125,6 @@ config SECURITY_ROOTPLUG source security/selinux/Kconfig source security/slim/Kconfig +source security/ibac/Kconfig endmenu
security/Makefile +1 -0
@@ -14,6 +14,7 @@ endif obj-$(CONFIG_SECURITY) += security.o dummy.o inode.o obj-$(CONFIG_INTEGRITY) += integrity.o integrity_dummy.o obj-$(CONFIG_INTEGRITY_EVM) += evm/ +obj-$(CONFIG_SECURITY_IBAC) += ibac/ # Must precede capability.o in order to stack properly. obj-$(CONFIG_SECURITY_SLIM) += slim/ obj-$(CONFIG_SECURITY_SELINUX) += selinux/built-in.o