X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=kconfig_hardened_check%2F__init__.py;h=5db3879e4f51d503972fe9d9e487963625fcaed1;hb=3974da7251acc9ddf98c7692eb1338cd5dc1a9ee;hp=f3f270f647cd9f679735d14e31e3dae633dd7efc;hpb=25171174a224b66efa2ddcf109ca6418adc07344;p=kconfig-hardened-check.git diff --git a/kconfig_hardened_check/__init__.py b/kconfig_hardened_check/__init__.py index f3f270f..5db3879 100644 --- a/kconfig_hardened_check/__init__.py +++ b/kconfig_hardened_check/__init__.py @@ -355,6 +355,7 @@ def construct_checklist(l, arch): l += [OptCheck('self_protection', 'clipos', 'SECURITY_DMESG_RESTRICT', 'y')] l += [OptCheck('self_protection', 'clipos', 'DEBUG_VIRTUAL', 'y')] l += [OptCheck('self_protection', 'clipos', 'STATIC_USERMODEHELPER', 'y')] # needs userspace support + l += [OptCheck('self_protection', 'clipos', 'EFI_DISABLE_PCI_DMA', 'y')] l += [OptCheck('self_protection', 'clipos', 'SLAB_MERGE_DEFAULT', 'is not set')] # slab_nomerge l += [OptCheck('self_protection', 'clipos', 'RANDOM_TRUST_BOOTLOADER', 'is not set')] l += [OptCheck('self_protection', 'clipos', 'RANDOM_TRUST_CPU', 'is not set')] @@ -456,12 +457,8 @@ def construct_checklist(l, arch): l += [OptCheck('cut_attack_surface', 'maintainer', 'FB', 'is not set')] l += [OptCheck('cut_attack_surface', 'maintainer', 'VT', 'is not set')] - # 'cut_attack_surface', 'lockdown' - l += [OptCheck('cut_attack_surface', 'lockdown', 'ACPI_TABLE_UPGRADE', 'is not set')] # refers to LOCKDOWN - l += [OptCheck('cut_attack_surface', 'lockdown', 'X86_IOPL_IOPERM', 'is not set')] # refers to LOCKDOWN - l += [OptCheck('cut_attack_surface', 'lockdown', 'EFI_TEST', 'is not set')] # refers to LOCKDOWN - l += [OptCheck('cut_attack_surface', 'lockdown', 'BPF_SYSCALL', 'is not set')] # refers to LOCKDOWN - l += [OptCheck('cut_attack_surface', 'lockdown', 'MMIOTRACE_TEST', 'is not set')] # refers to LOCKDOWN + # 'cut_attack_surface', 'grapheneos' + l += [OptCheck('cut_attack_surface', 'grapheneos', 'AIO', 'is not set')] # 'cut_attack_surface', 'clipos' l += [OptCheck('cut_attack_surface', 'clipos', 'STAGING', 'is not set')] @@ -474,13 +471,18 @@ def construct_checklist(l, arch): l += [OptCheck('cut_attack_surface', 'clipos', 'USER_NS', 'is not set')] # user.max_user_namespaces=0 l += [OptCheck('cut_attack_surface', 'clipos', 'X86_MSR', 'is not set')] # refers to LOCKDOWN l += [OptCheck('cut_attack_surface', 'clipos', 'X86_CPUID', 'is not set')] + l += [OptCheck('cut_attack_surface', 'clipos', 'IO_URING', 'is not set')] + l += [OptCheck('cut_attack_surface', 'clipos', 'X86_IOPL_IOPERM', 'is not set')] # refers to LOCKDOWN l += [AND(OptCheck('cut_attack_surface', 'clipos', 'LDISC_AUTOLOAD', 'is not set'), PresenceCheck('LDISC_AUTOLOAD'))] if arch in ('X86_64', 'X86_32'): l += [OptCheck('cut_attack_surface', 'clipos', 'X86_INTEL_TSX_MODE_OFF', 'y')] # tsx=off - # 'cut_attack_surface', 'grapheneos' - l += [OptCheck('cut_attack_surface', 'grapheneos', 'AIO', 'is not set')] + # 'cut_attack_surface', 'lockdown' + l += [OptCheck('cut_attack_surface', 'lockdown', 'ACPI_TABLE_UPGRADE', 'is not set')] # refers to LOCKDOWN + l += [OptCheck('cut_attack_surface', 'lockdown', 'EFI_TEST', 'is not set')] # refers to LOCKDOWN + l += [OptCheck('cut_attack_surface', 'lockdown', 'BPF_SYSCALL', 'is not set')] # refers to LOCKDOWN + l += [OptCheck('cut_attack_surface', 'lockdown', 'MMIOTRACE_TEST', 'is not set')] # refers to LOCKDOWN # 'cut_attack_surface', 'my' l += [OptCheck('cut_attack_surface', 'my', 'MMIOTRACE', 'is not set')] # refers to LOCKDOWN (permissive) @@ -493,7 +495,10 @@ def construct_checklist(l, arch): l += [OptCheck('cut_attack_surface', 'my', 'INPUT_EVBUG', 'is not set')] # Can be used as a keylogger # 'userspace_hardening' - l += [OptCheck('userspace_hardening', 'defconfig', 'INTEGRITY', 'y')] + if arch in ('X86_64', 'ARM64', 'X86_32'): + l += [OptCheck('userspace_hardening', 'defconfig', 'INTEGRITY', 'y')] + if arch == 'ARM': + l += [OptCheck('userspace_hardening', 'my', 'INTEGRITY', 'y')] if arch in ('ARM', 'X86_32'): l += [OptCheck('userspace_hardening', 'defconfig', 'VMSPLIT_3G', 'y')] if arch in ('X86_64', 'ARM64'):