GNU/Linux >> Linux Esercitazione >  >> Linux

kvm:verifica del modulo non riuscita:firma e/o chiave richiesta mancanti - kernel contaminato

Invece di riconfigurare il kernel, questo errore (module verification failed ) potrebbe essere risolto semplicemente aggiungendo una riga CONFIG_MODULE_SIG=n all'inizio del Makefile per il modulo stesso:

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

Sembra che il fornitore del tuo sistema abbia abilitato la verifica della firma del modulo del kernel sul tuo kernel, il che significa che non caricherà alcun modulo che il fornitore non ha firmato. In altre parole, il tuo modulo patchato non è firmato (correttamente) e il kernel si rifiuterà di caricarlo.

Lo scopo di questo dovrebbe impedire a malware e rootkit di caricare moduli del kernel dannosi.

Ti consiglio di contattare il tuo fornitore. Potrebbe esserci un'opzione da qualche parte sulla tua piattaforma per disabilitare il controllo della firma. In caso contrario, il tuo fornitore potrebbe essere in grado di firmare il modulo per te. Potresti anche avere la chiave e i dettagli dell'algoritmo di verifica della firma e puoi firmarlo tu stesso.

Senza sapere su quale piattaforma stai girando, è difficile dare suggerimenti più specifici.


Vai alla directory dei sorgenti del kernel e fai (per es.):

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

per il kernel 4.4.*, la posizione delle chiavi dovrebbe essere la seguente:

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

Controlla qual è l'algoritmo digest che sta usando il tuo kernel aprendo .config e leggendolo in CONFIG_MODULE_SIG valori di configurazione.

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

Linux
  1. Nessun modulo denominato Cython e Esecuzione di cythonize non riusciti [fissare]

  2. Pam – Bandiera di controllo richiesta e sufficiente?

  3. Linux:come ricaricare correttamente un modulo del kernel?

  4. Pm-hibernate si blocca e/o non riesce a riprendere su Dell Xps 13, 14.04, 3.19 Kernel?

  5. Introduzione a Linux KVM (Kernel Based Virtualization) e ai suoi vantaggi

Come caricare o scaricare un modulo del kernel Linux

Come caricare e scaricare i moduli del kernel in Linux

Comando Modprobe in Linux

Kernel Linux e le sue funzioni

Salta il modulo del kernel all'avvio

Cos'è un kernel contaminato in Linux?