

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AL2023 커널 하드닝
<a name="kernel-hardening"></a>

 6.1 Linux 커널은 AL2023의 여러 하드닝 옵션 및 기능으로 구성되고 빌드되었습니다.

## 커널 하드닝 옵션 (독립 아키텍처)
<a name="kernel-hardening-common"></a>


| `CONFIG` 옵션 | AL2023/6.1/aarch64 | AL2023/6.1/x86\$164 | AL2023/6.12/aarch64 | AL2023/6.12/x86\$164 | AL2023/6.18/aarch64 | AL2023/6.18/x86\$164 | 
| --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_ACPI_CUSTOM_METHOD`](#CONFIG_ACPI_CUSTOM_METHOD)  |  n  |  n  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_BINFMT_MISC`](#CONFIG_BINFMT_MISC)  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_BUG`](#CONFIG_BUG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_BUG_ON_DATA_CORRUPTION`](#CONFIG_BUG_ON_DATA_CORRUPTION)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_CFI_CLANG`](#CONFIG_CFI_CLANG)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_CFI_PERMISSIVE`](#CONFIG_CFI_PERMISSIVE)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_COMPAT`](#CONFIG_COMPAT)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_COMPAT_BRK`](#CONFIG_COMPAT_BRK)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_COMPAT_VDSO`](#CONFIG_COMPAT_VDSO)  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 
|  [`CONFIG_DEBUG_CREDENTIALS`](#CONFIG_DEBUG_CREDENTIALS)  |  n  |  n  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_DEBUG_LIST`](#CONFIG_DEBUG_LIST)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_DEBUG_NOTIFIERS`](#CONFIG_DEBUG_NOTIFIERS)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEBUG_SG`](#CONFIG_DEBUG_SG)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEBUG_VIRTUAL`](#CONFIG_DEBUG_VIRTUAL)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEBUG_WX`](#CONFIG_DEBUG_WX)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEFAULT_MMAP_MIN_ADDR`](#CONFIG_DEFAULT_MMAP_MIN_ADDR)  |  65536  |  65536  |  65536  |  65536  |  65536  |  65536  | 
|  [`CONFIG_DEVKMEM`](compare-with-al2-kernel.md#CONFIG_DEVKMEM)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_DEVMEM`](compare-with-al2-kernel.md#CONFIG_DEVMEM)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_EFI_DISABLE_PCI_DMA`](#CONFIG_EFI_DISABLE_PCI_DMA)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_FORTIFY_SOURCE`](compare-with-al2-kernel.md#CONFIG_FORTIFY_SOURCE)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_HARDENED_USERCOPY`](#CONFIG_HARDENED_USERCOPY)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_HARDENED_USERCOPY_FALLBACK`](#CONFIG_HARDENED_USERCOPY_FALLBACK)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_HARDENED_USERCOPY_PAGESPAN`](#CONFIG_HARDENED_USERCOPY_PAGESPAN)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_HIBERNATION`](#CONFIG_HIBERNATION)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_HW_RANDOM_TPM`](#CONFIG_HW_RANDOM_TPM)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_INET_DIAG`](#CONFIG_INET_DIAG)  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_INIT_ON_ALLOC_DEFAULT_ON`](#CONFIG_INIT_ON_ALLOC_DEFAULT_ON)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_INIT_ON_FREE_DEFAULT_ON`](#CONFIG_INIT_ON_FREE_DEFAULT_ON)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_INIT_STACK_ALL_ZERO`](#CONFIG_INIT_STACK_ALL_ZERO)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_IOMMU_DEFAULT_DMA_STRICT`](#CONFIG_IOMMU_DEFAULT_DMA_STRICT)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_IOMMU_SUPPORT`](#CONFIG_IOMMU_SUPPORT)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_IO_STRICT_DEVMEM`](compare-with-al2-kernel.md#CONFIG_IO_STRICT_DEVMEM)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_KEXEC`](#CONFIG_KEXEC)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_KFENCE`](#CONFIG_KFENCE)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LDISC_AUTOLOAD`](compare-with-al2-kernel.md#CONFIG_LDISC_AUTOLOAD)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LEGACY_PTYS`](#CONFIG_LEGACY_PTYS)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY`](#CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_MODULES`](#CONFIG_MODULES)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_MODULE_SIG`](#CONFIG_MODULE_SIG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_MODULE_SIG_ALL`](#CONFIG_MODULE_SIG_ALL)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_MODULE_SIG_FORCE`](#CONFIG_MODULE_SIG_FORCE)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_MODULE_SIG_HASH`](#CONFIG_MODULE_SIG_HASH)  |  sha512  |  sha512  |  sha512  |  sha512  |  sha512  |  sha512  | 
|  [`CONFIG_MODULE_SIG_KEY`](#CONFIG_MODULE_SIG_KEY)  |  certs/signing\$1key.pem  |  certs/signing\$1key.pem  |  certs/signing\$1key.pem  |  certs/signing\$1key.pem  |  certs/signing\$1key.pem  |  certs/signing\$1key.pem  | 
|  [`CONFIG_MODULE_SIG_SHA512`](#CONFIG_MODULE_SIG_SHA512)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_PAGE_POISONING`](#CONFIG_PAGE_POISONING)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_PAGE_POISONING_NO_SANITY`](#CONFIG_PAGE_POISONING_NO_SANITY)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_PAGE_POISONING_ZERO`](#CONFIG_PAGE_POISONING_ZERO)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_PANIC_ON_OOPS`](compare-with-al2-kernel.md#CONFIG_PANIC_ON_OOPS)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_PANIC_TIMEOUT`](#CONFIG_PANIC_TIMEOUT)  |  0  |  0  |  0  |  0  |  0  |  0  | 
|  [`CONFIG_PROC_KCORE`](#CONFIG_PROC_KCORE)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT`](#CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_RANDOM_TRUST_BOOTLOADER`](#CONFIG_RANDOM_TRUST_BOOTLOADER)  |  y  |  y  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_RANDOM_TRUST_CPU`](#CONFIG_RANDOM_TRUST_CPU)  |  y  |  y  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_REFCOUNT_FULL`](#CONFIG_REFCOUNT_FULL)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_SCHED_CORE`](#CONFIG_SCHED_CORE)  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 
|  [`CONFIG_SCHED_STACK_END_CHECK`](#CONFIG_SCHED_STACK_END_CHECK)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECCOMP`](#CONFIG_SECCOMP)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECCOMP_FILTER`](#CONFIG_SECCOMP_FILTER)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY`](#CONFIG_SECURITY)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_DMESG_RESTRICT`](compare-with-al2-kernel.md#CONFIG_SECURITY_DMESG_RESTRICT)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_LANDLOCK`](#CONFIG_SECURITY_LANDLOCK)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_LOCKDOWN_LSM`](#CONFIG_SECURITY_LOCKDOWN_LSM)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_LOCKDOWN_LSM_EARLY`](#CONFIG_SECURITY_LOCKDOWN_LSM_EARLY)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_SELINUX_BOOTPARAM`](#CONFIG_SECURITY_SELINUX_BOOTPARAM)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_SELINUX_DEVELOP`](#CONFIG_SECURITY_SELINUX_DEVELOP)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_SELINUX_DISABLE`](compare-with-al2-kernel.md#CONFIG_SECURITY_SELINUX_DISABLE)  |  n  |  n  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_SECURITY_WRITABLE_HOOKS`](#CONFIG_SECURITY_WRITABLE_HOOKS)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_SECURITY_YAMA`](#CONFIG_SECURITY_YAMA)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SHUFFLE_PAGE_ALLOCATOR`](#CONFIG_SHUFFLE_PAGE_ALLOCATOR)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLAB_FREELIST_HARDENED`](#CONFIG_SLAB_FREELIST_HARDENED)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLAB_FREELIST_RANDOM`](#CONFIG_SLAB_FREELIST_RANDOM)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLUB_DEBUG`](#CONFIG_SLUB_DEBUG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STACKPROTECTOR`](#CONFIG_STACKPROTECTOR)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STACKPROTECTOR_STRONG`](#CONFIG_STACKPROTECTOR_STRONG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STATIC_USERMODEHELPER`](#CONFIG_STATIC_USERMODEHELPER)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_STRICT_DEVMEM`](compare-with-al2-kernel.md#CONFIG_STRICT_DEVMEM)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_STRICT_KERNEL_RWX`](#CONFIG_STRICT_KERNEL_RWX)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STRICT_MODULE_RWX`](#CONFIG_STRICT_MODULE_RWX)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SYN_COOKIES`](#CONFIG_SYN_COOKIES)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_VMAP_STACK`](#CONFIG_VMAP_STACK)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_WERROR`](#CONFIG_WERROR)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_ZERO_CALL_USED_REGS`](#CONFIG_ZERO_CALL_USED_REGS)  |  n  |  n  |  n  |  n  |  n  |  n  | 

### 런타임 시 ACPI 메서드를 삽입/교체 가능 (CONFIG\$1ACPI\$1CUSTOM\$1METHOD)
<a name="CONFIG_ACPI_CUSTOM_METHOD"></a>

`root` 사용자가 임의의 커널 메모리에 쓸 수 있으므로 Amazon Linux에서 이 옵션은 비활성화됩니다.

이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### 기타 바이너리 포맷 (`binfmt_misc`)
<a name="CONFIG_BINFMT_MISC"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이는 AL2023 선택 기능이며 커널 모듈로 빌드됩니다.

### `BUG()` 지원
<a name="CONFIG_BUG"></a>

 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### 커널 메모리 구조의 유효성을 검사할 때 커널에서 데이터 손상이 발생하면 `BUG()`가 생깁니다.
<a name="CONFIG_BUG_ON_DATA_CORRUPTION"></a>

 Linux 커널 기능으로 데이터 구조의 내부 일관성을 검사할 수 있으며 데이터 손상이 감지되면 `BUG()`가 발생합니다.

 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### `COMPAT_BRK`
<a name="CONFIG_COMPAT_BRK"></a>

 이 옵션을 비활성화(Amazon Linux에서 커널 구성)하면 `randomize_va_space` `sysctl` 설정은 `2`로 기본 설정되며 `mmap` 베이스, 스택 및 VDSO 페이지 무작위화를 기반으로 힙 무작위화도 활성화됩니다.

 이 옵션은 1996년 이전의 `libc.so.5` 바이너리와 호환하기 하기 위해 커널에 존재합니다.

 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### `COMPAT_VDSO`
<a name="CONFIG_COMPAT_VDSO"></a>

 이 구성 옵션은 `aarch64`가 아닌 `x86-64`에 해당합니다. `n`로 설정하면 Amazon Linux 커널에서 32비트 가상 동적 공유 객체(VDSO)를 예측 가능한 주소에 표시할 수 없습니다. 이 옵션을 `n`로 설정하면 `glibc` 오류가 발생한 것으로 알려진 가장 최신 버전은 2004년에 출시된 `glibc` 2.3.3입니다.

 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### `CONFIG_DEBUG` 게이트 강화
<a name="CONFIG_DEBUG_KERNEL"></a>

 `CONFIG_DEBUG`가 제어하는 Linux 커널 구성 옵션은 일반적으로 디버깅 문제를 위해 빌드된 커널에서 사용하려고 만들었으며 성능은 우선 순위가 아닙니다. AL2023은 `CONFIG_DEBUG_LIST` 하드닝 옵션을 활성화합니다.

### IOMMU를 구성하기 전에 EFI 스텁에서 PCI 디바이스용 DMA를 비활성화하세요.
<a name="CONFIG_EFI_DISABLE_PCI_DMA"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

### 커널과 사용자 공간 간에 메모리를 복사하기 위한 강화
<a name="CONFIG_HARDENED_USERCOPY"></a>

 커널이 사용자 공간으로 메모리를 복사하거나 사용자 공간 메모리를 복사해야 하는 경우 이 옵션을 사용하면 일부 검사 기능을 통해 일부 클래스의 힙 오버플로 문제를 방지할 수 있습니다.

 커널 4.16\$15.15에는 커널 개발자가 `WARN()`를 통해 누락된 허용 목록 항목을 찾을 수 있도록 하는 `CONFIG_HARDENED_USERCOPY_FALLBACK` 옵션이 있었습니다. AL2023에서 6.1 커널을 제공하므로 이 옵션은 더 이상 AL2023이 필요하지 않습니다.

 이 `CONFIG_HARDENED_USERCOPY_PAGESPAN` 옵션은 주로 개발자를 위한 디버깅 옵션으로 커널에 존재했으며 AL2023 6.1 커널에는 더 이상 없습니다.

 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### 하이버네이트 지원
<a name="CONFIG_HIBERNATION"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이 옵션을 활성화해야 [온디맨드 인스턴스 하이버네이트](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)와 [중단된 스팟 인스턴스 하이버네이트](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernate-spot-instances.html) 기능을 지원할 수 있습니다.

### 난수 생성
<a name="kernel-rng"></a>

 AL2023 커널은 EC2에서 사용할 수 있는 적절한 엔트로피를 보장합니다.

### `CONFIG_INET_DIAG`
<a name="CONFIG_INET_DIAG"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이는 AL2023 선택 기능이며 커널 모듈로 빌드됩니다.

### 할당 및 할당 해제 시 모든 커널 페이지 및 슬래브 할당자 메모리 0
<a name="kernel-init-on-alloc-free"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 기본 기능으로 설정하면 성능에 영향을 미칠 수 있으므로 AL2023에서는 이러한 옵션이 비활성화됩니다. 커널 명령줄에 `init_on_alloc=1`을 추가하면 `CONFIG_INIT_ON_ALLOC_DEFAULT_ON` 동작을 활성화할 수 있고, 추가하여 `init_on_free=1`를 추가하면 `CONFIG_INIT_ON_FREE_DEFAULT_ON` 동작을 활성화할 수 있습니다.

### 모든 스택 변수를 0(`CONFIG_INIT_STACK_ALL_ZERO`)으로 초기화합니다.
<a name="CONFIG_INIT_STACK_ALL_ZERO"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이 옵션은 GCC 12 이상에서 작동하지만 AL2023에 GCC 11을 함께 제공합니다.

### 커널 모듈 서명
<a name="kernel-config-modules"></a>

 AL2023은 커널 모듈에 서명하고 서명을 검증합니다. 모듈에 유효한 서명이 있어야 하는 이 `CONFIG_MODULE_SIG_FORCE` 옵션은 타사 모듈을 구축하는 사용자의 호환성을 유지하기 위해 활성화되지 않습니다. 모든 커널 모듈에 서명이 있는지 확인하고 싶은 사용자는 이것이 적용된 [  Linux 보안 모듈(LSM) 잠금](#CONFIG_SECURITY_LOCKDOWN_LSM)을 구성할 수 있습니다.

### `kexec`
<a name="CONFIG_KEXEC"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이 옵션은 `kdump` 기능을 사용할 수 있도록 활성화되어 있습니다.

### `IOMMU` 지원
<a name="CONFIG_IOMMU_SUPPORT"></a>

 AL2023은 IOMMU 지원을 활성화합니다. 이 `CONFIG_IOMMU_DEFAULT_DMA_STRICT` 옵션은 기본적으로 활성화되어 있지 않지만 커널 명령줄에 `iommu.passthrough=0 iommu.strict=1`를 추가하면 이 기능을 설치할 수 있습니다.

### `kfence`
<a name="CONFIG_KFENCE"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

### 레거시 `pty` 지원
<a name="CONFIG_LEGACY_PTYS"></a>

 AL2023은 최신 PTY 인터페이스(`devpts`)를 사용합니다.

 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### Linux 보안 모듈(LSM) 잠금
<a name="CONFIG_SECURITY_LOCKDOWN_LSM"></a>

 AL2023에서 `lockdown` LSM을 빌드할 수 있으며, 보안 부팅을 사용할 때 LSM으로 커널을 잠급니다.

 `CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY` 옵션이 활성화되어 있지 않습니다. 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 보안 부팅을 사용하지 않는 경우 Lockdown LSM을 활성화하고 원하는 대로 구성할 수 있습니다.

### 페이지 중독
<a name="CONFIG_PAGE_POISONING"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. [  할당 및 할당 해제 시 모든 커널 페이지 및 슬래브 할당자 메모리 0](#kernel-init-on-alloc-free)와 마찬가지로 AL2023 커널에서는 성능에 영향을 미칠 수 있으므로 비활성화되어 있습니다.

### 스택 프로텍터
<a name="CONFIG_STACKPROTECTOR"></a>

 AL2023 커널에 `-fstack-protector-strong` 옵션이 있는 GCC 스택 프로텍터 기능을 빌드했습니다.

 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### seccomp BPF API
<a name="CONFIG_SECCOMP"></a>

 seccomp 하드닝 기능으로 `systemd`와 컨테이너 런타임과 같은 소프트웨어에서 사용자 공간 애플리케이션을 하드닝할 수 있습니다.

 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### `panic()` 타임아웃
<a name="CONFIG_PANIC_TIMEOUT"></a>

 AL2023 커널에서 이 값은 `0`으로 설정됩니다. 즉, 패닉이 발생한 후 커널이 재부팅되지 않습니다. 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이는 `sysctl`, `/proc/sys/kernel/panic` 및 커널 명령줄로 구성할 수 있습니다.

### 보안 모델
<a name="CONFIG_SECURITY"></a>

 AL2023에서 SELinux 허용 모드가 활성화되어 있습니다. 자세한 내용은 [AL2023의 SELinux 모드 설정](selinux-modes.md) 단원을 참조하십시오.

 [  Linux 보안 모듈(LSM) 잠금](#CONFIG_SECURITY_LOCKDOWN_LSM) 및 `yama` 모듈도 활성화되어 있습니다.

### `/proc/kcore`
<a name="CONFIG_PROC_KCORE"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

### 시스템 호출 입력 시 커널 스택 오프셋 랜덤
<a name="CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 커널 명령줄을 `randomize_kstack_offset=on`로 설정하면 이 기능을 활성화할 수 있습니다.

### 참조 카운팅 검사 (`CONFIG_REFCOUNT_FULL`)
<a name="CONFIG_REFCOUNT_FULL"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이 옵션은 성능에 영향을 미칠 수 있으므로 현재 활성화되어 있지 않습니다.

### 스케줄러의 SMT 코어 인식 (`CONFIG_SCHED_CORE`)
<a name="CONFIG_SCHED_CORE"></a>

 AL2023 커널은 `CONFIG_SCHED_CORE`로 빌드되었으며 사용자 공간 애플리케이션에서 `prctl(PR_SCHED_CORE)`을 사용할 수 있습니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### `schedule()`(`CONFIG_SCHED_STACK_END_CHECK`) 호출 시 스택 손상 확인
<a name="CONFIG_SCHED_STACK_END_CHECK"></a>

 AL2023 커널은 `CONFIG_SCHED_STACK_END_CHECK`가 활성화된 상태로 빌드되었습니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### 메모리 할당기 강화
<a name="kernel-allocator-hardening"></a>

 AL2023 커널을 사용하면 `CONFIG_SHUFFLE_PAGE_ALLOCATOR`, `CONFIG_SLAB_FREELIST_HARDENED`, `CONFIG_SLAB_FREELIST_RANDOM` 옵션으로 커널 메모리 할당을 하드닝할 수 있습니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### SLUB 디버깅 지원
<a name="CONFIG_SLUB_DEBUG"></a>

 AL2023 커널에서 커널 명령줄로 할당자의 디버깅 기능을 활성화할 수 있는 옵션 `CONFIG_SLUB_DEBUG`를 사용할 수 있습니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### CONFIG\$1STATIC\$1USERMODEHELPER
<a name="CONFIG_STATIC_USERMODEHELPER"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. `CONFIG_STATIC_USERMODEHELPER`를 사용하려면 배포판의 특별 지원이 필요한데 현재 Amazon Linux에는 없습니다.

### 읽기 전용 커널 텍스트 및 rodata (`CONFIG_STRICT_KERNEL_RWX`와 `CONFIG_STRICT_MODULE_RWX`)
<a name="CONFIG_STRICT_KERNEL_RWX"></a>

 AL2023 커널은 커널, 커널 모듈 텍스트, rodata 메모리를 읽기 전용이지만 텍스트가 아닌 메모리를 실행 불가능 상태로 표시합니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### TCP syncookie 지원 (`CONFIG_SYN_COOKIES`)
<a name="CONFIG_SYN_COOKIES"></a>

 AL2023 커널은 TCP syncookies 지원을 통해 빌드됩니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### 가드 페이지가 있는 가상 매핑 스택 (`CONFIG_VMAP_STACK`)
<a name="CONFIG_VMAP_STACK"></a>

 AL2023 커널은 `CONFIG_VMAP_STACK`으로 빌드되어 가드 페이지가 있는 가상 매핑 커널 스택을 사용할 수 있습니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### 컴파일러 경고를 오류(`CONFIG_WERROR`)로 빌드
<a name="CONFIG_WERROR"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

### 함수를 종료(`CONFIG_ZERO_CALL_USED_REGS`)할 때 레지스터 제로화
<a name="CONFIG_ZERO_CALL_USED_REGS"></a>

 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

### 사용자 공간 할당에 필요한 최소 주소
<a name="CONFIG_DEFAULT_MMAP_MIN_ADDR"></a>

 이 하드닝 옵션으로 커널 NULL 포인터 버그의 영향을 줄일 수 있습니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### `clang` 특정 강화 옵션
<a name="kernel-hardening-clang"></a>

 AL2023 커널은 GCC 대신 clang으로 빌드되었으므로 `CONFIG_CFI_CLANG` 하드닝 옵션을 활성화할 수 없으며 `CONFIG_CFI_PERMISSIVE` 역시 사용할 수 없습니다. 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

## x86-64 전용 커널 하드닝 옵션
<a name="kernel-hardening-x86-64"></a>


| `CONFIG` 옵션 | AL2023/6.1/aarch64 | AL2023/6.1/x86\$164 | AL2023/6.12/aarch64 | AL2023/6.12/x86\$164 | AL2023/6.18/aarch64 | AL2023/6.18/x86\$164 | 
| --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_AMD_IOMMU`](#CONFIG_AMD_IOMMU)  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 
|  [`CONFIG_AMD_IOMMU_V2`](#CONFIG_AMD_IOMMU_V2)  | 해당 사항 없음 |  y  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_IA32_EMULATION`](#CONFIG_IA32_EMULATION)  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 
|  [`CONFIG_INTEL_IOMMU`](#CONFIG_INTEL_IOMMU)  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 
|  [`CONFIG_INTEL_IOMMU_DEFAULT_ON`](#CONFIG_INTEL_IOMMU_DEFAULT_ON)  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 
|  [`CONFIG_INTEL_IOMMU_SVM`](#CONFIG_INTEL_IOMMU_SVM)  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 
|  [`CONFIG_LEGACY_VSYSCALL_NONE`](#CONFIG_LEGACY_VSYSCALL_NONE)  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 
|  [`CONFIG_MODIFY_LDT_SYSCALL`](#CONFIG_MODIFY_LDT_SYSCALL)  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 
|  [`CONFIG_PAGE_TABLE_ISOLATION`](#CONFIG_PAGE_TABLE_ISOLATION)  | 해당 사항 없음 |  y  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_RANDOMIZE_MEMORY`](#CONFIG_RANDOMIZE_MEMORY)  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 
|  [`CONFIG_X86_64`](#CONFIG_X86_64)  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 
|  [`CONFIG_X86_MSR`](#CONFIG_X86_MSR)  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 
|  [`CONFIG_X86_VSYSCALL_EMULATION`](#CONFIG_X86_VSYSCALL_EMULATION)  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 
|  [`CONFIG_X86_X32`](#CONFIG_X86_X32)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_X86_X32_ABI`](#CONFIG_X86_X32_ABI)  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 해당 사항 없음 |  n  | 

### x86-64 지원
<a name="CONFIG_X86_64"></a>

 물리적 주소 확장(PAE) 및 실행 안 함(NX) 비트 지원이 x86-64 기본 지원입니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### AMD 및 Intel IOMMU 지원
<a name="kernel-x86-64-iommu"></a>

 AL2023 커널은 AMD와 Intel IOMMUs를 지원합니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

 이 `CONFIG_INTEL_IOMMU_DEFAULT_ON` 옵션은 설정되지 않았지만 커널 명령줄로 `intel_iommu=on`를 작성하면 활성화됩니다. 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

 이 `CONFIG_INTEL_IOMMU_SVM` 옵션은 현재 AL2023에 활성화되어 있지 않습니다. 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

### 32비트 사용자 공간 지원
<a name="kernel-hardening-32bit-support"></a>

**중요**  
 32비트 x86 사용자 공간 지원은 중단되었으며 향후 Amazon Linux 주요 버전에서 32비트 사용자 공간 바이너리를 실행할 수 없습니다.

**참고**  
 AL2023에는 더 이상 32비트 패키지가 포함되지 않지만, 커널은 32비트 사용자 공간 실행을 계속 지원합니다. 자세한 정보는 [32비트 x86 (i686) 패키지](compare-with-al2.md#i686)을 참조하세요.

 32비트 사용자 공간 애플리케이션 실행하려면 AL2023에서 `CONFIG_X86_VSYSCALL_EMULATION` 옵션이 아닌 `CONFIG_IA32_EMULATION`, `CONFIG_COMPAT`, `CONFIG_X86_VSYSCALL_EMULATION` 옵션을 활성화합니다. 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

 64비트 프로세서 x32 네이티브 32비트 ABI는 활성화되지 않았습니다 (`CONFIG_X86_X32` 및 `CONFIG_X86_X32_ABI`). 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### x86 모델별 레지스터(MSR) 지원
<a name="CONFIG_X86_MSR"></a>

 이 `CONFIG_X86_MSR` 옵션은 `turbostat` 지원을 위해 활성화되어 있습니다. 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

### `modify_ldt` 시스콜
<a name="CONFIG_MODIFY_LDT_SYSCALL"></a>

 AL2023 사용자 프로그램에서 `modify_ldt` syscall을 사용하여 x86 로컬 디스크립터 테이블(LDT)을 수정할 수 없습니다. 이 호출을 사용하려면 16비트 또는 세그먼트 코드를 실행해야 하며 이 호출이 없으면 `dosemu` 소프트웨어, WINE에서 실행하는 프로그램, 실행하거나 아주 오래된 스레딩 라이브러리가 중단됩니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### 사용자 모드에서 커널 매핑을 제거합니다.
<a name="CONFIG_PAGE_TABLE_ISOLATION"></a>

 AL2023에서 대부분의 커널 주소가 사용자 공간에 매핑되지 않도록 커널이 구성되어 있습니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### 커널 메모리 섹션 무작위화
<a name="CONFIG_RANDOMIZE_MEMORY"></a>

 AL2023에서 커널 메모리 섹션의 기본 가상 주소를 무작위로 지정하도록 커널을 구성할 수 있습니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

## aarch64 전용 커널 하드닝 옵션
<a name="kernel-hardening-aarch64"></a>


| `CONFIG` 옵션 | AL2023/6.1/aarch64 | AL2023/6.1/x86\$164 | AL2023/6.12/aarch64 | AL2023/6.12/x86\$164 | AL2023/6.18/aarch64 | AL2023/6.18/x86\$164 | 
| --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_ARM64_BTI`](#CONFIG_ARM64_BTI)  |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 | 
|  [`CONFIG_ARM64_BTI_KERNEL`](#CONFIG_ARM64_BTI_KERNEL)  | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 
|  [`CONFIG_ARM64_PTR_AUTH`](#CONFIG_ARM64_PTR_AUTH)  |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 | 
|  [`CONFIG_ARM64_PTR_AUTH_KERNEL`](#CONFIG_ARM64_PTR_AUTH_KERNEL)  |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 | 
|  [`CONFIG_ARM64_SW_TTBR0_PAN`](#CONFIG_ARM64_SW_TTBR0_PAN)  |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 | 
|  [`CONFIG_UNMAP_KERNEL_AT_EL0`](#CONFIG_UNMAP_KERNEL_AT_EL0)  |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 |  y  | 해당 사항 없음 | 

### 브랜치 타겟 식별
<a name="CONFIG_ARM64_BTI"></a>

 AL2023 커널에 브랜치 타겟 식별(`CONFIG_ARM64_BTI`) 기능이 있습니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

 이 `CONFIG_ARM64_BTI_KERNEL` 옵션은 GCC로 빌드되어 AL2023에서 사용할 수 없으며, 이 옵션으로 커널 빌드하기는 [[gcc](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671) 버그로 인해 현재 업스트림 커널에서 비활성화되어 있습니다](https://github.com/torvalds/linux/commit/c0a454b9044fdc99486853aa424e5b3be2107078). 이 옵션은 [커널 자체 보호 프로젝트 (KSPP) 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

### 포인터 인증 (`CONFIG_ARM64_PTR_AUTH`)
<a name="CONFIG_ARM64_PTR_AUTH"></a>

 AL2023 커널은 반환 지향 프로그래밍(ROP) 기술을 완화하는 데 사용할 수 있는 포인터 인증 확장(ARMv8.3 확장 프로그램 일부)을 지원합니다. [Graviton](https://aws.amazon.com/ec2/graviton) 포인터 인증에 필요한 하드웨어 지원은 Graviton 3에 추가되었습니다.

 이 `CONFIG_ARM64_PTR_AUTH` 옵션은 활성화되어 있으며 사용자 공간 포인터 인증을 지원합니다. 이 `CONFIG_ARM64_PTR_AUTH_KERNEL` 옵션도 활성화되었으므로 AL2023 커널에서 자체적으로 반환 주소 보호 기능을 사용할 수 있습니다.

 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### 권한 있는 액세스 에뮬레이션 (`TTBR0_EL1` 전환 사용하지 않음)
<a name="CONFIG_ARM64_SW_TTBR0_PAN"></a>

 사용자 액세스 루틴으로만 일시적으로만 `TTBR0_EL1`이 유효한 값으로 설정되므로 이 옵션으로 커널이 사용자 공간 메모리에 직접 액세스하는 것을 방지할 수 있습니다.

 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.

### 사용자 공간에서 실행 중인 경우 커널 매핑을 해제합니다.
<a name="CONFIG_UNMAP_KERNEL_AT_EL0"></a>

 AL2023 커널이 사용자 공간(`CONFIG_UNMAP_KERNEL_AT_EL0`)에서 실행될 때 커널 매핑이 해제됩니다. 이 옵션은 [커널 자체 보호 프로젝트 권장 설정](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) 중 하나입니다.