All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/9] kexec/firmware: support system wide policy requiring signatures
@ 2018-05-17 14:48 ` Mimi Zohar
  0 siblings, 0 replies; 55+ messages in thread
From: Mimi Zohar @ 2018-05-17 14:48 UTC (permalink / raw)
  To: linux-integrity
  Cc: Mimi Zohar, linux-security-module, linux-kernel, David Howells,
	Luis R . Rodriguez, Eric Biederman, kexec, Andres Rodriguez,
	Greg Kroah-Hartman, Ard Biesheuvel

IMA-appraisal is mostly being used in the embedded or single purpose
closed system environments.  In these environments, both the Kconfig
options and the userspace tools can be modified appropriately to limit
syscalls.  For stock kernels, userspace applications need to continue to
work with older kernels as well as with newer kernels.

In this environment, the customer needs the ability to define a system
wide IMA policy, such as requiring all kexec'ed images, firmware, kernel
modules to be signed, without being dependent on either the Kconfig
options or the userspace tools.[1]

This patch set allows the customer to define a policy which requires
the kexec'ed kernel images, firmware, and/or kernel modules to be
signed.

New to this patch set is the ability to configure a build time IMA policy,
which is automatically loaded at run time without needing to specify it
on the boot command line.  The build time policy rules persist after
loading a custom kernel policy.

[1] kexec-tools suupports the new syscall based on a flag (-s).

Changelog v3:
- combined "kexec: limit kexec_load syscall" and "firmware: kernel
signature verification" patch sets.
- add support for build time policy.
- defined generic security_kernel_read_blob() wrapper for
  security_kernel_read_file(). Suggested by Luis.
- removed the CONFIG_CFG80211_REQUIRE_SIGNED_REGDB ifdef.  If both REGDB
  and an IMA-appraisal policy require signed firmware, for now require
  both signatures.  Subsequent patches might change this.
- Still unclear if the pre-allocated firmware buffer can be accessed
  prior to the signature verification completes.

Mimi Zohar (9):
  ima: based on policy verify firmware signatures (pre-allocated buffer)
  ima: fix updating the ima_appraise flag
  security: define security_kernel_read_blob() wrapper
  kexec: add call to LSM hook in original kexec_load syscall
  ima: based on policy require signed kexec kernel images
  firmware: add call to LSM hook before firmware sysfs fallback
  ima: based on policy require signed firmware (sysfs fallback)
  ima: add build time policy
  ima: based on policy prevent loading firmware (pre-allocated buffer)

 drivers/base/firmware_loader/fallback.c |  7 +++
 include/linux/fs.h                      |  1 +
 include/linux/security.h                |  6 +++
 kernel/kexec.c                          | 11 +++++
 security/integrity/ima/Kconfig          | 58 +++++++++++++++++++++++++
 security/integrity/ima/ima.h            |  1 +
 security/integrity/ima/ima_main.c       | 29 +++++++++++++
 security/integrity/ima/ima_policy.c     | 76 +++++++++++++++++++++++++++------
 security/security.c                     |  6 +++
 9 files changed, 183 insertions(+), 12 deletions(-)

-- 
2.7.5

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

end of thread, other threads:[~2018-05-18 17:56 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-17 14:48 [PATCH v2 0/9] kexec/firmware: support system wide policy requiring signatures Mimi Zohar
2018-05-17 14:48 ` Mimi Zohar
2018-05-17 14:48 ` Mimi Zohar
2018-05-17 14:48 ` [PATCH v2 1/9] ima: based on policy verify firmware signatures (pre-allocated buffer) Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48 ` [PATCH v2 2/9] ima: fix updating the ima_appraise flag Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48 ` [PATCH v2 3/9] security: define security_kernel_read_blob() wrapper Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-18  0:24   ` Casey Schaufler
2018-05-18  0:24     ` Casey Schaufler
2018-05-18  0:24     ` Casey Schaufler
2018-05-18  3:37     ` Eric W. Biederman
2018-05-18  3:37       ` Eric W. Biederman
2018-05-18  3:37       ` Eric W. Biederman
2018-05-18  3:37       ` Eric W. Biederman
2018-05-18 11:30       ` Mimi Zohar
2018-05-18 11:30         ` Mimi Zohar
2018-05-18 11:30         ` Mimi Zohar
2018-05-18 11:30         ` Mimi Zohar
2018-05-18 14:58         ` Casey Schaufler
2018-05-18 14:58           ` Casey Schaufler
2018-05-18 14:58           ` Casey Schaufler
2018-05-18 14:58           ` Casey Schaufler
2018-05-18 15:29           ` Mimi Zohar
2018-05-18 15:29             ` Mimi Zohar
2018-05-18 15:29             ` Mimi Zohar
2018-05-18 17:13       ` James Morris
2018-05-18 17:13         ` James Morris
2018-05-18 17:13         ` James Morris
2018-05-18 17:55         ` Mimi Zohar
2018-05-18 17:55           ` Mimi Zohar
2018-05-18 17:55           ` Mimi Zohar
2018-05-18 17:55           ` Mimi Zohar
2018-05-17 14:48 ` [PATCH v2 4/9] kexec: add call to LSM hook in original kexec_load syscall Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48 ` [PATCH v2 5/9] ima: based on policy require signed kexec kernel images Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48 ` [PATCH v2 6/9] firmware: add call to LSM hook before firmware sysfs fallback Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48 ` [PATCH v2 7/9] ima: based on policy require signed firmware (sysfs fallback) Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48 ` [PATCH v2 8/9] ima: add build time policy Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48 ` [PATCH v2 9/9] ima: based on policy prevent loading firmware (pre-allocated buffer) Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar
2018-05-17 14:48   ` Mimi Zohar

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.