summaryrefslogtreecommitdiffstats
path: root/recipes-kernel
diff options
context:
space:
mode:
authorArmin Kuster <akuster808@gmail.com>2021-04-14 01:36:34 +0000
committerArmin Kuster <akuster808@gmail.com>2021-04-14 13:49:47 +0000
commitca9264b1e1b5a8b84bf95f5a4eb93f2947b3b75c (patch)
treeeb1085c5320e2b54b5d7d37728c41b0a2f5f4dd5 /recipes-kernel
parent879330ae3823ed005910d980027e1de7d95f466a (diff)
downloadmeta-security-ca9264b1e1b5a8b84bf95f5a4eb93f2947b3b75c.tar.gz
lkrg-module: Add Linux Kernel Runtime Guard
For more info see: https://github.com/openwall/lkrg Add to local.conf: IMAGE_INSTALL_append = " kernel-module-lkrg" Need these kconfig options enabled: CONFIG_KALLSYMS_ALL=y CONFIG_JUMP_LABEL=y CONFIG_DEBUG_KERNEL=y To invoke module: sudo insmod {path-to-modules}/p_lkrg.ko kint_enforce=1 Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'recipes-kernel')
-rw-r--r--recipes-kernel/lkrg/files/makefile_cleanup.patch73
-rw-r--r--recipes-kernel/lkrg/lkrg-module_0.9.0.bb33
2 files changed, 106 insertions, 0 deletions
diff --git a/recipes-kernel/lkrg/files/makefile_cleanup.patch b/recipes-kernel/lkrg/files/makefile_cleanup.patch
new file mode 100644
index 0000000..106dc3f
--- /dev/null
+++ b/recipes-kernel/lkrg/files/makefile_cleanup.patch
@@ -0,0 +1,73 @@
1Upstream-Status: Pending
2
3This needs more work. Its my starting point.
4
5Signed-off-by: Armin Kuster <akuster808@gmail.com>
6
7Index: lkrg-0.9.0/Makefile
8===================================================================
9--- lkrg-0.9.0.orig/Makefile
10+++ lkrg-0.9.0/Makefile
11@@ -4,28 +4,10 @@
12 # Author:
13 # - Adam 'pi3' Zabrocki (http://pi3.com.pl)
14 ##
15-
16-P_OUTPUT = output
17 P_PWD ?= $(shell pwd)
18-P_KVER ?= $(shell uname -r)
19-P_BOOTUP_SCRIPT ?= scripts/bootup/lkrg-bootup.sh
20-TARGET := p_lkrg
21-ifneq ($(KERNELRELEASE),)
22- KERNEL := /lib/modules/$(KERNELRELEASE)/build
23-else
24- ## KERNELRELEASE not set.
25- KERNEL := /lib/modules/$(P_KVER)/build
26-endif
27-
28-#
29-# Uncomment for debug compilation
30-#
31-# ccflags-m := -ggdb -DP_LKRG_DEBUG_BUILD -finstrument-functions
32-# ccflags-y := ${ccflags-m}
33-# p_lkrg-objs += src/modules/print_log/p_lkrg_debug_log.o
34
35-obj-m += $(TARGET).o
36-$(TARGET)-objs += src/modules/ksyms/p_resolve_ksym.o \
37+obj-m := p_lkrg.o
38+p_lkrg-y := src/modules/ksyms/p_resolve_ksym.o \
39 src/modules/hashing/p_lkrg_fast_hash.o \
40 src/modules/comm_channel/p_comm_channel.o \
41 src/modules/integrity_timer/p_integrity_timer.o \
42@@ -91,23 +73,14 @@ $(TARGET)-objs += src/modules/ksyms/p_re
43 src/p_lkrg_main.o
44
45
46-all:
47-# $(MAKE) -C $(KERNEL) M=$(P_PWD) modules CONFIG_DEBUG_SECTION_MISMATCH=y
48- $(MAKE) -C $(KERNEL) M=$(P_PWD) modules
49- mkdir -p $(P_OUTPUT)
50- cp $(P_PWD)/$(TARGET).ko $(P_OUTPUT)
51-
52-install:
53- $(MAKE) -C $(KERNEL) M=$(P_PWD) modules_install
54- depmod -a
55- $(P_PWD)/$(P_BOOTUP_SCRIPT) install
56
57-uninstall:
58- $(P_PWD)/$(P_BOOTUP_SCRIPT) uninstall
59+modules:
60+ $(MAKE) -C $(KERNEL_SRC) M=$(P_PWD) modules
61+
62+modules_install:
63+ $(MAKE) -C $(KERNEL_SRC) M=$(P_PWD) modules_install
64
65 clean:
66- $(MAKE) -C $(KERNEL) M=$(P_PWD) clean
67- $(RM) Module.markers modules.order
68- $(RM) $(P_PWD)/src/modules/kmod/client/kmod/Module.markers
69- $(RM) $(P_PWD)/src/modules/kmod/client/kmod/modules.order
70- $(RM) -rf $(P_OUTPUT)
71+ rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
72+ rm -f Module.markers Module.symvers modules.order
73+ rm -rf .tmp_versions Modules.symvers
diff --git a/recipes-kernel/lkrg/lkrg-module_0.9.0.bb b/recipes-kernel/lkrg/lkrg-module_0.9.0.bb
new file mode 100644
index 0000000..dbc195d
--- /dev/null
+++ b/recipes-kernel/lkrg/lkrg-module_0.9.0.bb
@@ -0,0 +1,33 @@
1SUMMARY = "Linux Kernel Runtime Guard"
2DESCRIPTION="LKRG performs runtime integrity checking of the Linux \
3kernel and detection of security vulnerability exploits against the kernel."
4SECTION = "security"
5HOMEPAGE = "https://www.openwall.com/lkrg/"
6LICENSE = "GPLv2"
7
8LIC_FILES_CHKSUM = "file://LICENSE;md5=d931f44a1f4be309bcdac742d7ed92f9"
9
10DEPENDS = "virtual/kernel elfutils"
11
12SRC_URI = "https://www.openwall.com/lkrg/lkrg-${PV}.tar.gz \
13 file://makefile_cleanup.patch "
14
15SRC_URI[sha256sum] = "a997e4d98962c359f3af163bbcfa38a736d2a50bfe35c15065b74cb57f8742bf"
16
17S = "${WORKDIR}/lkrg-${PV}"
18
19inherit module kernel-module-split
20
21MAKE_TARGETS = "modules"
22
23MODULE_NAME = "p_lkrg"
24
25module_do_install() {
26 install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}
27 install -m 0644 ${MODULE_NAME}.ko \
28 ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko
29}
30
31RPROVIDES_${PN} += "kernel-module-lkrg"
32
33COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"