X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=kconfig-hardened-check.py;h=c92d3529f8db88ef9c93c9af420ffdcc4e2e81c2;hb=257c011fd0f24066420e755f29a60cbe61561fa6;hp=35bcad78dd49e5a5107f456278bb09597fa15908;hpb=7935d6f0c6823988e26cab87cc0ff3b82709e124;p=kconfig-hardened-check.git diff --git a/kconfig-hardened-check.py b/kconfig-hardened-check.py index 35bcad7..c92d352 100755 --- a/kconfig-hardened-check.py +++ b/kconfig-hardened-check.py @@ -2,7 +2,8 @@ # # This script helps me to check the Linux kernel Kconfig option list -# against my hardening preferences for x86_64. Let the computers do their job! +# against my hardening preferences for X86_64, ARM64, X86_32, and ARM. +# Let the computers do their job! # # Author: Alexander Popov # @@ -25,9 +26,6 @@ # # N.B. Hardening sysctl's: # net.core.bpf_jit_harden -# -# -# TODO: add hardening preferences for ARM import sys from argparse import ArgumentParser @@ -189,7 +187,8 @@ def construct_checklist(arch): modules_not_set)) checklist.append(OR(OptCheck('MODULE_SIG_SHA512', 'y', 'kspp', 'self_protection'), \ modules_not_set)) - checklist.append(OptCheck('MODULE_SIG_FORCE', 'y', 'kspp', 'self_protection')) # refers to LOCK_DOWN_KERNEL + checklist.append(OR(OptCheck('MODULE_SIG_FORCE', 'y', 'kspp', 'self_protection'), \ + modules_not_set)) # refers to LOCK_DOWN_KERNEL if debug_mode or arch == 'X86_64' or arch == 'X86_32': checklist.append(OptCheck('DEFAULT_MMAP_MIN_ADDR', '65536', 'kspp', 'self_protection')) checklist.append(OptCheck('REFCOUNT_FULL', 'y', 'kspp', 'self_protection')) @@ -208,8 +207,9 @@ def construct_checklist(arch): checklist.append(OptCheck('LOCK_DOWN_KERNEL', 'y', 'my', 'self_protection')) # remember about LOCK_DOWN_MANDATORY checklist.append(OptCheck('SLUB_DEBUG_ON', 'y', 'my', 'self_protection')) checklist.append(OptCheck('SECURITY_DMESG_RESTRICT', 'y', 'my', 'self_protection')) - checklist.append(OptCheck('STATIC_USERMODEHELPER', 'y', 'my', 'self_protection')) # breaks systemd? - checklist.append(OptCheck('SECURITY_LOADPIN', 'y', 'my', 'self_protection')) + checklist.append(OptCheck('STATIC_USERMODEHELPER', 'y', 'my', 'self_protection')) # needs userspace support (systemd) + checklist.append(OptCheck('SECURITY_LOADPIN', 'y', 'my', 'self_protection')) # needs userspace support + checklist.append(OptCheck('RESET_ATTACK_MITIGATION', 'y', 'my', 'self_protection')) # needs userspace support (systemd) checklist.append(OptCheck('PAGE_POISONING_NO_SANITY', 'is not set', 'my', 'self_protection')) checklist.append(OptCheck('PAGE_POISONING_ZERO', 'is not set', 'my', 'self_protection')) checklist.append(OptCheck('SLAB_MERGE_DEFAULT', 'is not set', 'my', 'self_protection')) # slab_nomerge