GNU/Linux >> Znalost Linux >  >> Linux

kvm:ověření modulu se nezdařilo:chybí podpis a/nebo požadovaný klíč - narušuje jádro

Namísto překonfigurování jádra se tato chyba (module verification failed ) lze vyřešit pouhým přidáním jednoho řádku CONFIG_MODULE_SIG=n na začátek Makefile pro samotný modul:

CONFIG_MODULE_SIG=n

# If KERNELRELEASE is defined, we've been invoked from the
# kernel build system and can use its language.
ifneq ($(KERNELRELEASE),)
    obj-m := hello.o

# Otherwise we were called directly from the command
# line; invoke the kernel build system.
else
    KERNELDIR ?= /lib/modules/$(shell uname -r)/build
    PWD := $(shell pwd)

default:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif

Zdá se, že dodavatel vašeho systému povolil ověření podpisu modulu jádra na vašem jádře, což znamená, že nenačte žádný modul, který dodavatel nepodepsal. Jinými slovy, váš opravený modul není podepsán (správně) a jádro jej odmítne načíst.

Účelem toho je zabránit malwaru a rootkitů v načítání škodlivých modulů jádra.

Doporučuji vám kontaktovat vašeho prodejce. Někde na vaší platformě může být možnost zakázat kontrolu podpisů. V opačném případě může být váš dodavatel schopen podepsat modul za vás. Můžete dokonce mít klíč a podrobnosti o algoritmu ověření podpisu a můžete jej podepsat sami.

Bez znalosti platformy, na které běžíte, je těžké poskytnout konkrétnější návrhy.


Přejděte do zdrojového adresáře jádra a proveďte (např.):

./scripts/sign-file sha512 ./signing_key.priv ./signing_key.x509 /lib/modules/3.10.1/kernel/drivers/char/my_module.ko

u jádra 4.4.* by umístění klíčů mělo být následující:

./scripts/sign-file sha512 ./certs/signing_key.pem ./certs/signing_key.x509 path/to/your/kernel/module.ko 

Otevřete .config a zkontrolujte, jaký algoritmus digest používá vaše jádro a přečtení v CONFIG_MODULE_SIG konfigurační hodnoty.

CONFIG_MODULE_SIG=y CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_SHA512=y CONFIG_MODULE_SIG_HASH="sha512"

Linux
  1. Linux – poskvrněné jádro v Linuxu?

  2. Linux – Jak správně znovu načíst modul jádra?

  3. Pm-hibernate zamrzá a/nebo se nedaří obnovit v jádře Dell Xps 13, 14.04, 3.19?

  1. Jak opravit chybu „Ověření klíče hostitele se nezdařilo“

  2. Jaký je rozdíl mezi module_init a init_module v modulu jádra Linuxu?

  3. změny parametrů modulu jádra (pomocí /sys/module)

  1. Ověření podpisu na veřejném klíči SPKAC se nezdařilo – Oprava chyby OpenCA

  2. Žádný modul s názvem Cython a Running cythonize se nezdařil [Oprava]

  3. Co je to poskvrněné jádro v Linuxu?