Skip to content

Using the hash in MOKx to blacklist kernel module

Lee, Chun-Yi linux-efi lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v2 Latest2 of 5 patches 2 repliesIn review

Changes in v2 from the cover letter

Chekcikng the attributes of db and mok before loading certificates.

2 of 5 patches are in this archive. The cover letter announces 5.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5MODSIGN: do not load mok when secure boot disabledcerts/load_uefi.c+15 -110 replies
2/5MODSIGN: print appropriate status message when getting UEFI certificates listcerts/load_uefi.c include/linux/efi.h+55 -132 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH 0/5 v2] Using the hash in MOKx to blacklist kernel module

This patch set is base on the efi-lock-down and keys-uefi branchs in David Howells's linux-fs git tree.
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=keys-uefi

The main purpose is using the MOKx to blacklist kernel module.

As the MOK (Machine Owner Key), MOKx is a EFI boot time variable which is maintained by shim boot loader. We can enroll the hash of blacklisted kernel module (with or without signature) to MOKx by mokutil. Kernel loads the hash from MOKx to blacklist keyring when booting. Kernel will prevent to load the kernel module when its hash be found in blacklist.

This function is useful to revoke a kernel module that it has exploit. Or revoking a kernel module that it was signed by a unsecure key.

Except MOKx, this patch set fixs another two issues: The MOK/MOKx should not be loaded when secure boot is disabled. And, modified error message prints out appropriate status string for reading by human being.

v2:
Chekcikng the attributes of db and mok before loading certificates.

Lee, Chun-Yi (5):
MODSIGN: do not load mok when secure boot disabled
MODSIGN: print appropriate status message when getting UEFI
certificates list
MODSIGN: load blacklist from MOKx
MODSIGN: checking the blacklisted hash before loading a kernel module
MODSIGN: check the attributes of db and mok

 certs/load_uefi.c       | 92 +++++++++++++++++++++++++++++++++++--------------
 include/linux/efi.h     | 25 ++++++++++++++
 kernel/module_signing.c | 62 +++++++++++++++++++++++++++++++--
 3 files changed, 152 insertions(+), 27 deletions(-)
Signature · 1 line
2.10.2