AL2023 Indurimento del kernel - Amazon Linux 2023

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AL2023 Indurimento del kernel

Il kernel Linux 6.1 AL2023 è configurato e costruito con diverse opzioni e funzionalità di rafforzamento.

Opzioni di rafforzamento del kernel (indipendenti dall'architettura)

Opzione CONFIG AL2023/6.1/aarch64 AL2023/6.1/x86_64 AL2023/6.12/aarch64 AL2023/6.12/x86_64
CONFIG_ACPI_CUSTOM_METHOD n n N/D N/D
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 N/D N/D N/D N/D
CONFIG_CFI_PERMISSIVE N/D N/D N/D N/D
CONFIG_COMPAT y y y y
CONFIG_COMPAT_BRK n n n n
CONFIG_COMPAT_VDSO N/D n N/D n
CONFIG_DEBUG_CREDENTIALS n n N/D N/D
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 N/D N/D N/D N/D
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 N/D N/D N/D N/D
CONFIG_HARDENED_USERCOPY_PAGESPAN N/D N/D N/D N/D
CONFIG_HIBERNATION y y y y
CONFIG_HW_RANDOM_TPM N/D N/D N/D N/D
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 N/D N/D N/D N/D
CONFIG_IOMMU_DEFAULT_DMA_STRICT n n n n
CONFIG_IOMMU_SUPPORT y y y y
CONFIG_IO_STRICT_DEVMEM N/D N/D N/D N/D
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 N/D N/D N/D N/D
CONFIG_PAGE_POISONING_ZERO N/D N/D N/D N/D
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 N/D N/D
CONFIG_RANDOM_TRUST_CPU y y N/D N/D
CONFIG_REFCOUNT_FULL N/D N/D N/D N/D
CONFIG_SCHED_CORE N/D y N/D 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 N/D N/D
CONFIG_SECURITY_WRITABLE_HOOKS N/D N/D N/D N/D
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

Consenti ai metodi ACPI di essere in fase di esecuzione (CONFIG_ACPI_CUSTOM_METHOD) inserted/replaced

Amazon Linux disabilita questa opzione in quanto consente agli utenti root di scrivere nella memoria kernel arbitraria.

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Formati binari vari (binfmt_misc)

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione come consigliata da KSPP. In AL2023, questa funzionalità è opzionale ed è integrata come modulo del kernel.

Supporto di BUG()

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

BUG() se il kernel riscontra un danneggiamento dei dati durante la verifica della validità delle strutture di memoria del kernel

Alcune parti del kernel Linux controllano la coerenza interna delle strutture di dati e possono eseguire BUG() quando rilevano un danneggiamento dei dati.

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

COMPAT_BRK

Con questa opzione disabilitata (che è il modo in cui Amazon Linux configura il kernel), l'impostazione predefinita per randomize_va_space sysctl è 2, che abilita anche la randomizzazione degli heap sulla base mmap, sullo stack e sulla randomizzazione delle pagine VDSO.

Questa opzione esiste nel kernel per garantire la compatibilità con alcuni file binari libc.so.5 obsoleti del 1996 e precedenti.

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

COMPAT_VDSO

Questa opzione di configurazione è rilevante per x86-64 e non per aarch64. Impostandola su n, il kernel di Amazon Linux non rende visibile un Virtual Dynamic Shared Object (VDSO) a 32 bit a un indirizzo prevedibile. La più recente libreria glibc nota per essere danneggiata dall'impostazione di questa opzione su n è glibc 2.3.3, del 2004.

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

CONFIG_DEBUGindurimento recintato

Le opzioni di configurazione del kernel Linux gated by CONFIG_DEBUG sono in genere progettate per l'uso in kernel creati per problemi di debug, e cose come le prestazioni non sono una priorità. AL2023 abilita l'opzione di rafforzamento. CONFIG_DEBUG_LIST

Disabilitazione di DMA per i dispositivi PCI nello stub EFI prima della configurazione di IOMMU

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata da KSPP.

Rafforzamento per la copia della memoria tra kernel e spazio utente

Quando il kernel deve copiare la memoria da o verso lo spazio utente, questa opzione abilita alcuni controlli che possono proteggere da alcune classi di problemi di overflow dell'heap.

L'opzione CONFIG_HARDENED_USERCOPY_FALLBACK esisteva nei kernel da 4.16 a 5.15 per aiutare gli sviluppatori del kernel a scoprire eventuali voci mancanti dell'elenco degli indirizzi consentiti tramite un WARN(). Poiché AL2023 viene fornito un kernel 6.1, questa opzione non è più rilevante per. AL2023

L'CONFIG_HARDENED_USERCOPY_PAGESPANopzione esisteva nei kernel principalmente come opzione di debug per gli sviluppatori e non si applica più al kernel 6.1 in. AL2023

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Supporto per l'ibernazione

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato da KSPP. Questa opzione deve essere abilitata per supportare la possibilità di ibernare l'istanza on demand e quella di ibernare le istanze spot interrotte

Generazione di numeri casuali

Il kernel AL2023 è configurato per garantire che sia disponibile un'entropia adeguata per l'utilizzo all'interno di EC2.

CONFIG_INET_DIAG

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato da KSPP. In AL2023, questa funzionalità è opzionale ed è integrata come modulo del kernel.

Azzera tutta la memoria del kernel, delle pagine e degli allocatori di slab durante l'allocazione e la deallocazione

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata da KSPP. Queste opzioni sono disabilitate a AL2023 causa del possibile impatto sulle prestazioni derivante dall'attivazione di questa funzionalità per impostazione predefinita. Il comportamento CONFIG_INIT_ON_ALLOC_DEFAULT_ON può essere abilitato aggiungendolo init_on_alloc=1 alla riga di comando del kernel e il comportamento CONFIG_INIT_ON_FREE_DEFAULT_ON può essere abilitato aggiungendo init_on_free=1.

Inizializzazione di tutte le variabili dello stack su zero (CONFIG_INIT_STACK_ALL_ZERO)

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata da KSPP. Questa opzione ne richiede GCC 12 o più, mentre AL2023 viene fornita con GCC 11.

Firma del modulo Kernel

AL2023 firma e convalida le firme dei moduli del kernel. L'opzione CONFIG_MODULE_SIG_FORCE, che richiederebbe ai moduli di avere una firma valida, non è abilitata per preservare la compatibilità per gli utenti che creano moduli di terze parti. Per gli utenti che vogliono assicurarsi che tutti i moduli del kernel siano firmati, Modulo di sicurezza Linux Lockdown (LSM) può essere configurato in modo da imporre questa condizione.

kexec

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato da KSPP. Questa opzione è abilitata in modo da poter utilizzare la funzionalità kdump.

IOMMUSupport

AL2023 abilita il supporto IOMMU. L'opzione CONFIG_IOMMU_DEFAULT_DMA_STRICT non è abilitata per impostazione predefinita, ma questa funzionalità può essere configurata aggiungendo iommu.passthrough=0 iommu.strict=1 alla riga di comando del kernel.

kfence

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata da KSPP.

Supporto per pty legacy

AL2023 utilizza l'interfaccia moderna (). PTY devpts

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Modulo di sicurezza Linux Lockdown (LSM)

AL2023 crea l'lockdownLSM, che bloccherà automaticamente il kernel quando si usa Secure Boot.

L'opzione CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY non è abilitata. Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato da KSPP. Quando non si utilizza Secure Boot, è possibile abilitare l'LSM Lockdown e configurarlo come desiderato.

Avvelenamento delle pagine

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata da KSPP. AnalogamenteAzzera tutta la memoria del kernel, delle pagine e degli allocatori di slab durante l'allocazione e la deallocazione, questa opzione è disabilitata nel AL2023 kernel a causa del possibile impatto sulle prestazioni.

Stack Protector

Il AL2023 kernel è compilato con la funzionalità stack-protector abilitata con l'GCCopzione. -fstack-protector-strong

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

seccomp BPF API

La funzionalità di rafforzamento seccomp viene utilizzata da software come systemd e i runtime dei container per rafforzare le applicazioni dello spazio utente.

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Timeout panic()

Il AL2023 kernel è configurato con questo valore impostato su0, il che significa che il kernel non si riavvierà in caso di panico. Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata da KSPP. È configurabile tramite sysctl, /proc/sys/kernel/panic e sulla riga di comando del kernel.

Modelli di sicurezza

AL2023 abilita SELinux in modalità Permissiva per impostazione predefinita. Per ulteriori informazioni, consulta Impostazione SELinux delle modalità per AL2 023.

Anche i moduli Modulo di sicurezza Linux Lockdown (LSM) e yama sono abilitati.

/proc/kcore

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata da KSPP.

Randomizzazione dell'offset dello stack del kernel all'inserimento di syscall

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato da KSPP. Questa opzione può essere abilitata impostando randomize_kstack_offset=on sulla riga di comando del kernel.

Controlli di conteggio dei riferimenti (CONFIG_REFCOUNT_FULL)

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato da KSPP. Attualmente questa opzione non è abilitata a causa del suo possibile impatto sulle prestazioni.

Consapevolezza del pianificatore dei core SMT (CONFIG_SCHED_CORE)

Il AL2023 kernel è costruito con, il che consente l'utilizzo da parte delle applicazioni dello CONFIG_SCHED_CORE spazio utente. prctl(PR_SCHED_CORE) Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Verifica della presenza di danneggiamento dello stack durante le chiamate a schedule() (CONFIG_SCHED_STACK_END_CHECK)

Il AL2023 kernel è compilato con enabled. CONFIG_SCHED_STACK_END_CHECK Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Rafforzamento dell'allocatore di memoria

Il AL2023 kernel abilita il rafforzamento dell'allocatore di memoria del kernel con le opzioni,, and. CONFIG_SHUFFLE_PAGE_ALLOCATOR CONFIG_SLAB_FREELIST_HARDENED CONFIG_SLAB_FREELIST_RANDOM Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Supporto per il debug SLUB

Il AL2023 kernel abilita CONFIG_SLUB_DEBUG poiché questa opzione abilita funzionalità di debug opzionali per l'allocatore che possono essere abilitate sulla riga di comando del kernel. Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

CONFIG_STATIC_USERMODEHELPER

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione in base a quanto consigliato da KSPP. Questo perché CONFIG_STATIC_USERMODEHELPER richiede un supporto speciale da parte della distribuzione, che attualmente non è presente in Amazon Linux.

Testo del kernel di sola lettura e rodata (CONFIG_STRICT_KERNEL_RWX e CONFIG_STRICT_MODULE_RWX)

Il AL2023 kernel è configurato per contrassegnare il testo e la memoria del kernel e dei moduli del kernel come di sola lettura e la rodata memoria non testuale contrassegnata come non eseguibile. Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Supporto per TCP syncookie (CONFIG_SYN_COOKIES)

Il AL2023 kernel è costruito con il supporto per i syncookie TCP. Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Stack mappato virtualmente con pagine guard (CONFIG_VMAP_STACK)

Il AL2023 kernel è costruito conCONFIG_VMAP_STACK, abilita stack di kernel mappati virtualmente con pagine guard. Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Compilazione tramite avvisi del compilatore come errori (CONFIG_WERROR)

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione come consigliata da KSPP.

Registrazione dell'azzeramento sulla funzione exit (CONFIG_ZERO_CALL_USED_REGS)

Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato da KSPP.

Indirizzo minimo per l'allocazione dello spazio utente

Questa opzione di rafforzamento può aiutare a ridurre l'impatto dei bug dei puntatori NULL del kernel. Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

clangopzioni di indurimento specifiche

Il AL2023 kernel è compilato con GCC invece diclang, quindi l'opzione di CONFIG_CFI_CLANG rafforzamento non può essere abilitata, il che rende CONFIG_CFI_PERMISSIVE inoltre non applicabile. Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata da KSPP.

Opzioni di rafforzamento del kernel specifiche di x86-64

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

Supporto per x86-64

Il supporto base per x86-64 include il supporto per i bit Physical Address Extension (PAE) e No eXecute (NX). Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Supporto per AMD e Intel IOMMU

Il AL2023 kernel viene compilato con il supporto per AMD e Intel. IOMMUs Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

L'opzione CONFIG_INTEL_IOMMU_DEFAULT_ON non è impostata, ma può essere abilitata passando intel_iommu=on alla riga di comando del kernel. Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato da KSPP.

L'CONFIG_INTEL_IOMMU_SVMopzione non è attualmente abilitata in. AL2023 Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata da KSPP.

Support per lo spazio utente a 32 bit

Importante

Il supporto per lo spazio utente x86 a 32 bit è obsoleto e il supporto per l'esecuzione di file binari dello spazio utente a 32 bit potrebbe essere rimosso in una futura versione principale di Amazon Linux.

Nota

Sebbene AL2023 non includa più pacchetti a 32 bit, il kernel supporterà comunque l'esecuzione di uno spazio utente a 32 bit. Per ulteriori informazioni, consulta Pacchetti x86 (i686) a 32 bit.

Per supportare l'esecuzione di applicazioni userspace a 32 bit, AL2023 non abilita l'CONFIG_X86_VSYSCALL_EMULATIONopzione e abilita le opzioni, and. CONFIG_IA32_EMULATION CONFIG_COMPAT CONFIG_X86_VSYSCALL_EMULATION Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione su quella consigliata da KSPP.

L'ABI x32 nativo a 32 bit per processori a 64 bit non è abilitato (CONFIG_X86_X32 e CONFIG_X86_X32_ABI). Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Supporto per Model Specific Register x86 (MSR)

L'opzione CONFIG_X86_MSR è abilitata per supportare turbostat. Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione secondo quanto consigliato da KSPP.

syscall modify_ldt

AL2023 non consente ai programmi utente di modificare la Local Descriptor Table (LDT) x86 con syscall. modify_ldt Questa chiamata è necessaria per eseguire codice a 16 bit o segmentato e la sua assenza può compromettere software come dosemu, l'esecuzione di alcuni programmi in WINE e alcune librerie di threading molto vecchie. Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Rimozione della mappatura del kernel in modalità utente

AL2023 configura il kernel in modo che la maggior parte degli indirizzi del kernel non sia mappata nello spazio utente. Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Randomizzazione delle sezioni di memoria del kernel

AL2023 configura il kernel per randomizzare gli indirizzi virtuali di base delle sezioni di memoria del kernel. Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Opzioni di rafforzamento del kernel specifiche di aarch64

Opzione CONFIG AL2023/6.1/aarch64 AL2023/6.1/x86_64 AL2023/6.12/aarch64 AL2023/6.12/x86_64
CONFIG_ARM64_BTI y N/D y N/D
CONFIG_ARM64_BTI_KERNEL N/D N/D N/D N/D
CONFIG_ARM64_PTR_AUTH y N/D y N/D
CONFIG_ARM64_PTR_AUTH_KERNEL y N/D y N/D
CONFIG_ARM64_SW_TTBR0_PAN y N/D y N/D
CONFIG_UNMAP_KERNEL_AT_EL0 y N/D y N/D

Identificazione dei target di ramo

Il AL2023 kernel abilita il supporto per Branch Target Identification (). CONFIG_ARM64_BTI Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

L'CONFIG_ARM64_BTI_KERNELopzione non è abilitata in AL2023 quanto è stata compilata conGCC, e il supporto per la compilazione del kernel con questa opzione è attualmente disabilitato nel kernel upstream a causa di un bug di gcc. Sebbene questa opzione sia una delle impostazioni consigliate dal Kernel Self Protection Project (KSPP), AL2023 non imposta questa opzione di configurazione in base a quanto consigliato da KSPP.

Autenticazione dei puntatori (CONFIG_ARM64_PTR_AUTH)

Il AL2023 kernel è costruito con il supporto per l'estensione Pointer Authentication (parte delle estensioni ARMv8 .3), che può essere utilizzata per aiutare a mitigare le tecniche ROP (Return Oriented Programming). Il supporto hardware richiesto per l'autenticazione dei puntatori su Graviton è stato introdotto con Graviton 3.

L'opzione CONFIG_ARM64_PTR_AUTH è abilitata e fornisce supporto per l'autenticazione dei puntatori per lo spazio utente. Poiché anche l'CONFIG_ARM64_PTR_AUTH_KERNELopzione è abilitata, il AL2023 kernel è in grado di utilizzare autonomamente la protezione dell'indirizzo di ritorno.

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Emulazione dell'accesso con privilegi che non usa mai lo switching TTBR0_EL1

Questa opzione impedisce al kernel di accedere direttamente alla memoria dello spazio utente, con TTBR0_EL1 che viene impostato solo temporaneamente su un valore valido dalle routine di accesso utente.

Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.

Annullamento della mappatura del kernel durante l'esecuzione nello spazio utente

Il AL2023 kernel è configurato per demappare il kernel quando viene eseguito in userspace (). CONFIG_UNMAP_KERNEL_AT_EL0 Questa opzione è una delle impostazioni consigliate per Kernel Self Protection Project.