AL2023 Kernelhärtung - Amazon Linux 2023

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AL2023 Kernelhärtung

Der 6.1-Linux-Kernel AL2023 ist mit verschiedenen Hardening-Optionen und -Funktionen konfiguriert und gebaut.

Kernel-Hardening-Optionen (architekturunabhängig)

CONFIG-Option AL2023/6.1/aarch64 AL2023/6.1/x86_64 AL2023/6.12/aarch64 AL2023/6.12/x86_64
CONFIG_ACPI_CUSTOM_METHOD n n
CONFIG_BINFMT_MISC m m m m
CONFIG_BUG y y y y
CONFIG_BUG_ON_DATA_CORRUPTION y y y y
CONFIG_CFI_CLANG
CONFIG_CFI_PERMISSIVE
CONFIG_COMPAT y y y y
CONFIG_COMPAT_BRK n n n n
CONFIG_COMPAT_VDSO n n
CONFIG_DEBUG_CREDENTIALS n n
CONFIG_DEBUG_LIST y y y y
CONFIG_DEBUG_NOTIFIERS n n n n
CONFIG_DEBUG_SG n n n n
CONFIG_DEBUG_VIRTUAL n n n n
CONFIG_DEBUG_WX n n n n
CONFIG_DEFAULT_MMAP_MIN_ADDR 65536 65536 65536 65536
CONFIG_DEVKMEM
CONFIG_DEVMEM n n n n
CONFIG_EFI_DISABLE_PCI_DMA n n n n
CONFIG_FORTIFY_SOURCE y y y y
CONFIG_HARDENED_USERCOPY y y y y
CONFIG_HARDENED_USERCOPY_FALLBACK
CONFIG_HARDENED_USERCOPY_PAGESPAN
CONFIG_HIBERNATION y y y y
CONFIG_HW_RANDOM_TPM
CONFIG_INET_DIAG m m m m
CONFIG_INIT_ON_ALLOC_DEFAULT_ON n n n n
CONFIG_INIT_ON_FREE_DEFAULT_ON n n n n
CONFIG_INIT_STACK_ALL_ZERO
CONFIG_IOMMU_DEFAULT_DMA_STRICT n n n n
CONFIG_IOMMU_SUPPORT y y y y
CONFIG_IO_STRICT_DEVMEM
CONFIG_KEXEC y y y y
CONFIG_KFENCE n n n n
CONFIG_LDISC_AUTOLOAD n n n n
CONFIG_LEGACY_PTYS n n n n
CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY n n n n
CONFIG_MODULES y y y y
CONFIG_MODULE_SIG y y y y
CONFIG_MODULE_SIG_ALL y y y y
CONFIG_MODULE_SIG_FORCE n n n n
CONFIG_MODULE_SIG_HASH sha512 sha512 sha512 sha512
CONFIG_MODULE_SIG_KEY certs/signing_key.pem certs/signing_key.pem certs/signing_key.pem certs/signing_key.pem
CONFIG_MODULE_SIG_SHA512 y y y y
CONFIG_PAGE_POISONING n n n n
CONFIG_PAGE_POISONING_NO_SANITY
CONFIG_PAGE_POISONING_ZERO
CONFIG_PANIC_ON_OOPS y y y y
CONFIG_PANIC_TIMEOUT 0 0 0 0
CONFIG_PROC_KCORE y y y y
CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT n n n n
CONFIG_RANDOM_TRUST_BOOTLOADER y y
CONFIG_RANDOM_TRUST_CPU y y
CONFIG_REFCOUNT_FULL
CONFIG_SCHED_CORE y y
CONFIG_SCHED_STACK_END_CHECK y y y y
CONFIG_SECCOMP y y y y
CONFIG_SECCOMP_FILTER y y y y
CONFIG_SECURITY y y y y
CONFIG_SECURITY_DMESG_RESTRICT y y y y
CONFIG_SECURITY_LANDLOCK y y y y
CONFIG_SECURITY_LOCKDOWN_LSM y y y y
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY y y y y
CONFIG_SECURITY_SELINUX_BOOTPARAM y y y y
CONFIG_SECURITY_SELINUX_DEVELOP y y y y
CONFIG_SECURITY_SELINUX_DISABLE n n
CONFIG_SECURITY_WRITABLE_HOOKS
CONFIG_SECURITY_YAMA y y y y
CONFIG_SHUFFLE_PAGE_ALLOCATOR y y y y
CONFIG_SLAB_FREELIST_HARDENED y y y y
CONFIG_SLAB_FREELIST_RANDOM y y y y
CONFIG_SLUB_DEBUG y y y y
CONFIG_STACKPROTECTOR y y y y
CONFIG_STACKPROTECTOR_STRONG y y y y
CONFIG_STATIC_USERMODEHELPER n n n n
CONFIG_STRICT_DEVMEM n n n n
CONFIG_STRICT_KERNEL_RWX y y y y
CONFIG_STRICT_MODULE_RWX y y y y
CONFIG_SYN_COOKIES y y y y
CONFIG_VMAP_STACK y y y y
CONFIG_WERROR n n n n
CONFIG_ZERO_CALL_USED_REGS n n n n

Erlaubt, dass ACPI-Methoden zur Laufzeit laufen (CONFIG_ACPI_CUSTOM_METHOD) inserted/replaced

Diese Option ist in Amazon Linux deaktiviert, da sie root-Benutzern erlaubt, in beliebigen Kernelspeicher zu schreiben.

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Verschiedene Binärformate (binfmt_misc)

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, setzt diese Konfigurationsoption AL2023 jedoch nicht auf das, was KSPP empfiehlt. In AL2023 ist diese Funktion optional und wurde als Kernelmodul erstellt.

BUG()-Support

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

BUG() wenn der Kernel bei der Gültigkeitspprüfung der Kernel-Speicherstrukturen auf beschädigte Daten stößt

Einige Teile des Linux-Kernels prüfen die interne Konsistenz von Datenstrukturen und können BUG(), falls beschädigte Daten gefunden werden.

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

COMPAT_BRK

Wenn diese Option deaktiviert ist (dies ist die Kernelkonfiguration in Amazon Linux), wird die randomize_va_space-sysctl-Einstellung standardmäßig auf 2 gesetzt, wodurch zusätzlich eine Randomisierungen der mmap-Basis-, -Stack- und -VDSO-Seite aktiviert wird.

Der Kernel bietet diese Option, um Kompatibilität mit einigen alten libc.so.5-Binärdateien aus 1996 und früher zu gewährleisten.

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

COMPAT_VDSO

Diese Konfigurationsoption ist relevant für x86-64 und nicht aarch64. Wenn Sie diese Option auf n setzen, macht der Amazon Linux-Kernel kein virtuelles dynamisches Shared Object (VDSO) mit 32 Bit an einer vorhersehbaren Adresse sichtbar. Die jüngste glibc, von der bekannt ist, dass sie durch die Festlegung dieser Option auf n beschädigt wurde, ist glibc 2.3.3 aus dem Jahr 2004.

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

CONFIG_DEBUGgesteuertes Härten

Die Konfigurationsoptionen des Linux-Kernels, von denen Gated by gesteuert wird, CONFIG_DEBUG sind normalerweise für die Verwendung in Kerneln konzipiert, die für Debugging-Probleme gebaut wurden, und Dinge wie Leistung haben keine Priorität. AL2023 aktiviert die CONFIG_DEBUG_LIST Härtungsoption.

Deaktivieren von DMA für PCI-Geräte im EFI-Stub vor der IOMMU-Konfigurierung

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf die von KSPP empfohlenen Einstellungen.

Hardening für das Kopieren von Speicher zwischen Kernel und Userspace

Wenn der Kernel Speicher in den oder aus dem Userspace kopieren muss, aktiviert diese Option einige Prüfungen, die vor einigen Arten von Heap-Overflow-Problemen schützen können.

Die CONFIG_HARDENED_USERCOPY_FALLBACK-Option war bereits in den Kerneln 4.16 bis 5.15 vorhanden, um Kernel-Entwicklern zu helfen, fehlende Allowlist-Einträge mithilfe von WARN() aufzufinden. Da ein 6.1-Kernel AL2023 ausgeliefert wird, ist diese Option nicht mehr relevant für. AL2023

Die CONFIG_HARDENED_USERCOPY_PAGESPAN Option existierte in Kerneln hauptsächlich als Debugging-Option für Entwickler und gilt nicht mehr für den 6.1-Kernel in. AL2023

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Hibernation-Unterstützung

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt. Diese Option muss aktiviert sein, um Hibernation der On-Demand Instance und Hibernation für unterbrochene Spot Instances zu unterstützen.

Generierung von Zufallszahlen

Der AL2023-Kernel ist so konfiguriert, dass sichergestellt ist, dass eine angemessene Entropie für die Verwendung in EC2 verfügbar ist.

CONFIG_INET_DIAG

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt. In AL2023 ist diese Funktion optional und wurde als Kernelmodul erstellt.

Bei der Zuweisung und Freigabe wird der gesamte Kernel-Page- und Slab-Allocator-Speicher auf Null gesetzt

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt. Diese Optionen sind AL2023 aufgrund der möglichen Leistungseinbußen bei der standardmäßigen Aktivierung dieser Funktion deaktiviert. Das CONFIG_INIT_ON_ALLOC_DEFAULT_ON-Verhalten kann durch Hinzufügen von init_on_alloc=1 zur Kernel-Befehlszeile aktiviert werden, und das CONFIG_INIT_ON_FREE_DEFAULT_ON-Verhalten kann durch Hinzufügen von init_on_free=1 aktiviert werden.

Alle Stack-Variablen als Null (CONFIG_INIT_STACK_ALL_ZERO) initialisieren

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf die von KSPP empfohlenen Einstellungen. Diese Option erfordert GCC 12 oder höher und ist im Lieferumfang von GCC 11 enthalten AL2023 .

Signieren des Kernel-Moduls

AL2023 signiert und validiert die Signaturen von Kernelmodulen. Die CONFIG_MODULE_SIG_FORCE-Option, nach der Module über eine gültige Signatur verfügen müssten, ist nicht aktiviert, um die Kompatibilität für Benutzer zu gewährleisten, die Module von Drittanbietern erstellen. Für Benutzer, die sicherstellen möchten, dass alle Kernelmodule signiert sind, kann Lockdown Linux-Sicherheitsmodul (LSM) so konfiguriert werden, dass eine Verifizierung erzwungen wird.

kexec

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt. Diese Option ist aktiviert, sodass die kdump-Funktionalität genutzt werden kann.

IOMMUSupport

AL2023 aktiviert die IOMMU-Unterstützung. Die CONFIG_IOMMU_DEFAULT_DMA_STRICT-Option ist standardmäßig nicht aktiviert, aber diese Funktionalität kann durch eine Hinzufügung von iommu.passthrough=0 iommu.strict=1 zur Kernel-Befehlszeile konfiguriert werden.

kfence

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf die von KSPP empfohlenen Einstellungen.

Legacy-pty-Unterstützung

AL2023 verwendet die moderne PTY Schnittstelle (). devpts

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Lockdown Linux-Sicherheitsmodul (LSM)

AL2023 erstellt das lockdown LSM, das den Kernel automatisch sperrt, wenn Secure Boot verwendet wird.

Die CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY-Option ist nicht aktiviert. Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf die von KSPP empfohlenen Einstellungen. Wenn Secure Boot nicht verwendet wird, kann das Lockdown-LSM aktiviert und nach Bedarf konfiguriert werden.

Seitenvergiftung

Diese Option gehört zwar zu den empfohlenen Einstellungen des Kernel Self Protection Project (KSPP), AL2023 setzt diese Konfigurationsoption jedoch nicht auf die von KSPP empfohlenen Einstellungen. In ähnlicher Weise ist diese Option im AL2023 Kernel aufgrund möglicher Auswirkungen auf die Leistung deaktiviert. Bei der Zuweisung und Freigabe wird der gesamte Kernel-Page- und Slab-Allocator-Speicher auf Null gesetzt

Stack Protector

Der AL2023 Kernel wurde so gebaut, dass die Stack-Protector-Funktion mit der GCC Option aktiviert wurde. -fstack-protector-strong

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

seccomp BPFAPI

Das seccomp-Hardening-Feature wird von Software wie systemd und Container-Runtimes verwendet, um Userspace-Anwendungen zu schützen.

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

panic() timeout

Der AL2023 Kernel ist so konfiguriert, dass dieser Wert auf gesetzt ist0, was bedeutet, dass der Kernel nicht neu gestartet wird, wenn er in Panik gerät. Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt. Dies kann über sysctl /proc/sys/kernel/panic oder über die Kernel-Befehlszeile konfiguriert werden.

Sicherheitsmodelle

AL2023 ist SELinux standardmäßig im permissiven Modus aktiviert. Weitere Informationen finden Sie unter SELinux Einstellmodi für AL2 023.

Die yama- und Lockdown Linux-Sicherheitsmodul (LSM)-Module sind ebenfalls aktiviert.

/proc/kcore

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf die von KSPP empfohlenen Einstellungen.

Randomisierung des Kernel-Stack-Offsets bei Eingabe von „syscall“

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt. Dies kann durch eine Einstellung randomize_kstack_offset=on in der Kernel-Befehlszeile aktiviert werden.

Prüfungen zur Referenzzählung (CONFIG_REFCOUNT_FULL)

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt. Diese Option ist derzeit aufgrund möglicher Auswirkungen auf die Leistung nicht aktiviert.

Scheduler-Kenntnisnahme der SMT-Cores (CONFIG_SCHED_CORE)

Der AL2023 Kernel ist mit gebautCONFIG_SCHED_CORE, was die Verwendung von Userspace-Anwendungen ermöglicht. prctl(PR_SCHED_CORE) Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Stack-Fehlerprüfung bei Aufrufen von schedule() (CONFIG_SCHED_STACK_END_CHECK)

Der AL2023 Kernel wird mit CONFIG_SCHED_STACK_END_CHECK aktivierter Option erstellt. Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Härtung der Speicherzuweisung

Der AL2023 Kernel ermöglicht das Härten des Kernel-Speicherzuweisers mit den OptionenCONFIG_SHUFFLE_PAGE_ALLOCATOR, undCONFIG_SLAB_FREELIST_HARDENED. CONFIG_SLAB_FREELIST_RANDOM Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

SLUB Debugging-Support

Der AL2023 Kernel aktiviert, CONFIG_SLUB_DEBUG da diese Option optionale Debugging-Funktionen für den Allocator aktiviert, die in der Kernel-Befehlszeile aktiviert werden können. Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

CONFIG_STATIC_USERMODEHELPER

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt. Dies liegt daran, dass CONFIG_STATIC_USERMODEHELPER besonderen Support von der Distribution benötigt, der derzeit in Amazon Linux nicht verfügbar ist.

Schreibgeschützter Kerneltext und rodata (CONFIG_STRICT_KERNEL_RWX und CONFIG_STRICT_MODULE_RWX)

Der AL2023 Kernel ist so konfiguriert, dass er Text und Speicher des Kernels und des Kernelmoduls als schreibgeschützt und rodata Nicht-Textspeicher als nicht ausführbar markiert. Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

TCP Syncookie-Support (CONFIG_SYN_COOKIES)

Der AL2023 Kernel ist mit Unterstützung für TCP-Syncookies gebaut. Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Virtuell zugeordneter Stack mit Guard-Seiten (CONFIG_VMAP_STACK)

Der AL2023 Kernel ist mit gebautCONFIG_VMAP_STACK, was virtuell zugeordnete Kernel-Stacks mit Schutzseiten ermöglicht. Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Build mit Compiler-Warnungen als Fehler angezeigt (CONFIG_WERROR)

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt.

Nullstellung des Registers bei Funktionsbeendigung (CONFIG_ZERO_CALL_USED_REGS)

Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt.

Mindestadresse für Userspace-Zuweisungen

Diese Hardening-Option kann die Auswirkungen von Kernel-NULL-Pointer-Bugs reduzieren. Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

clangspezifische Härtungsoptionen

Der AL2023 Kernel ist mit und GCC nicht gebautclang, daher kann die CONFIG_CFI_CLANG Hardening-Option nicht aktiviert werden, weshalb sie auch CONFIG_CFI_PERMISSIVE nicht anwendbar ist. Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf die von KSPP empfohlenen Einstellungen.

Spezifische Kernel-Hardening-Optionen für x86-64

CONFIG-Option AL2023/6.1/aarch64 AL2023/6.1/x86_64 AL2023/6.12/aarch64 AL2023/6.12/x86_64
CONFIG_AMD_IOMMU y y
CONFIG_AMD_IOMMU_V2 y
CONFIG_IA32_EMULATION y y
CONFIG_INTEL_IOMMU y y
CONFIG_INTEL_IOMMU_DEFAULT_ON n n
CONFIG_INTEL_IOMMU_SVM n n
CONFIG_LEGACY_VSYSCALL_NONE n n
CONFIG_MODIFY_LDT_SYSCALL n n
CONFIG_PAGE_TABLE_ISOLATION y
CONFIG_RANDOMIZE_MEMORY y y
CONFIG_X86_64 y y
CONFIG_X86_MSR y y
CONFIG_X86_VSYSCALL_EMULATION y y
CONFIG_X86_X32
CONFIG_X86_X32_ABI n n

x86-64-Unterstützung

Basis-Support für x86-64 umfasst die Unterstützung für Physical Address Extension (PAE) und No-Execute-Bits (NX). Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Unterstützung für AMD und Intel IOMMU

Der AL2023 Kernel wird mit Unterstützung für AMD und Intel gebaut. IOMMUs Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Die CONFIG_INTEL_IOMMU_DEFAULT_ON-Option ist nicht gesetzt, kann aber durch Übergabe von intel_iommu=on an die Kernel-Befehlszeile aktiviert werden. Obwohl es sich bei dieser Option um eine der empfohlenen Einstellungen des Kernel Self Protection Project (KSPP) handelt, AL2023 entspricht diese Konfigurationsoption nicht den Empfehlungen von KSPP.

Die CONFIG_INTEL_IOMMU_SVM Option ist derzeit in nicht aktiviert. AL2023 Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf die von KSPP empfohlenen Einstellungen.

Support für 32-Bit-Userspace

Wichtig

Support für 32-Bit-x86-Userspace ist veraltet und Unterstützung für die Ausführung von 32-Bit-Userspace-Binärdateien wird möglicherweise in einer zukünftigen Hauptversion von Amazon Linux entfernt.

Anmerkung

Der Kernel enthält zwar AL2023 keine 32-Bit-Pakete mehr, unterstützt aber weiterhin den Betrieb von 32-Bit-Userspace. Weitere Informationen finden Sie unter 32-Bit x86-(i686)-Pakete.

Um die Ausführung von 32-Bit-Userspace-Anwendungen zu unterstützen, aktiviert die CONFIG_X86_VSYSCALL_EMULATION Option AL2023 nicht und aktiviert die CONFIG_IA32_EMULATION Optionen, und. CONFIG_COMPAT CONFIG_X86_VSYSCALL_EMULATION Diese Option gehört zwar zu den empfohlenen Einstellungen des Kernel Self Protection Project (KSPP), AL2023 setzt diese Konfigurationsoption jedoch nicht auf die von KSPP empfohlenen Einstellungen.

Die x32-native 32-Bit-ABI für 64-Bit-Prozessoren ist nicht aktiviert (CONFIG_X86_X32 und CONFIG_X86_X32_ABI). Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

x86 Model Specific Register (MSR)-Support

Die CONFIG_X86_MSR-Option ist aktiviert, um Unterstützung für turbostat zuzulassen. Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt.

modify_ldt-Syscall

AL2023 erlaubt Benutzerprogrammen nicht, die x86-Local Descriptor Table (LDT) mit dem Syscall zu ändern. modify_ldt Dieser Aufruf ist erforderlich, um 16-Bit-Code oder segmentierten Code auszuführen, und sein Fehlen kann dazu führen, dass Software wie dosemu, das Ausführen einiger Programme unter WINE und einige sehr alte Threading-Bibliotheken beschädigt werden könnte. Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Entfernen der Kernelzuordnung im Benutzermodus

AL2023 konfiguriert den Kernel so, dass die meisten Kerneladressen nicht dem Benutzerbereich zugeordnet werden. Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Randomisieren von Kernel-Speicherbereichen

AL2023 konfiguriert den Kernel so, dass er die virtuellen Basisadressen der Kernel-Speicherbereiche nach dem Zufallsprinzip sortiert. Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

aarch64-spezifische Kernel-Hardening-Optionen

CONFIG-Option AL2023/6.1/aarch64 AL2023/6.1/x86_64 AL2023/6.12/aarch64 AL2023/6.12/x86_64
CONFIG_ARM64_BTI y y
CONFIG_ARM64_BTI_KERNEL
CONFIG_ARM64_PTR_AUTH y y
CONFIG_ARM64_PTR_AUTH_KERNEL y y
CONFIG_ARM64_SW_TTBR0_PAN y y
CONFIG_UNMAP_KERNEL_AT_EL0 y y

Identifizierung des -Abzweigungsziels

Der AL2023 Kernel aktiviert die Unterstützung für Branch Target Identification (). CONFIG_ARM64_BTI Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Die CONFIG_ARM64_BTI_KERNEL Option ist nicht aktiviert, AL2023 da sie mit gebaut wurdeGCC, und die Unterstützung für das Erstellen des Kernels mit dieser Option ist derzeit im Upstream-Kernel aufgrund eines GCC−Fehlers deaktiviert. Diese Option gehört zwar zu den vom Kernel Self Protection Project (KSPP) empfohlenen Einstellungen, AL2023 setzt diese Konfigurationsoption jedoch nicht auf das, was KSPP empfiehlt.

Pointer-Authentifizierung (CONFIG_ARM64_PTR_AUTH)

Der AL2023 Kernel unterstützt die Pointer Authentication-Erweiterung (Teil der ARMv8 3.3-Erweiterungen), mit deren Hilfe Return Oriented Programming (ROP) -Techniken (Return Oriented Programming) vermieden werden können. Die erforderliche Hardwareunterstützung für Pointer-Authentifizierung unter Graviton wurde mit Graviton 3 eingeführt.

Die CONFIG_ARM64_PTR_AUTH-Option ist aktiviert und unterstützt die Pointer-Authentifizierung für den Userspace. Da die CONFIG_ARM64_PTR_AUTH_KERNEL Option ebenfalls aktiviert ist, kann der AL2023 Kernel den Schutz der Absenderadresse für sich selbst nutzen.

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Privilegierten Zugriff emulieren – Niemals TTBR0_EL1-Switching verwenden

Diese Option verhindert direkten Kernel-Zugriff auf den Userspace-Speicher. TTBR0_EL1 wird von den Benutzerzugriffsroutinen nur vorübergehend auf einen gültigen Wert gesetzt.

Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.

Entfernen der Kernel-Zuweisung bei Ausführung im Userspace

Der AL2023 Kernel ist so konfiguriert, dass er die Zuordnung des Kernels aufhebt, wenn er in userspace () CONFIG_UNMAP_KERNEL_AT_EL0 ausgeführt wird. Diese Option ist eine der empfohlenen Einstellungen des Kernel Self Protection Project.