AL2023 커널 하드닝 - Amazon Linux 2023

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

AL2023 커널 하드닝

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

커널 하드닝 옵션 (독립 아키텍처)

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 해당 사항 없음 해당 사항 없음
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

런타임 시 ACPI 메서드를 삽입/교체 가능 (CONFIG_ACPI_CUSTOM_METHOD)

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

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

기타 바이너리 포맷 (binfmt_misc)

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이는 AL2023 선택 기능이며 커널 모듈로 빌드됩니다.

BUG() 지원

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

커널 메모리 구조의 유효성을 검사할 때 커널에서 데이터 손상이 발생하면 BUG()가 생깁니다.

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

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

COMPAT_BRK

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

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

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

COMPAT_VDSO

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

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

CONFIG_DEBUG 게이트 하드닝

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

IOMMU를 구성하기 전에 EFI 스텁에서 PCI 디바이스용 DMA를 비활성화하세요.

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

커널과 사용자 공간 간 메모리 복제를 위한 하드닝

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

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

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

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

하이버네이트 지원

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이 옵션을 활성화해야 온디맨드 인스턴스 하이버네이트중단된 스팟 인스턴스 하이버네이트 기능을 지원할 수 있습니다.

난수 생성

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

CONFIG_INET_DIAG

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이는 AL2023 선택 기능이며 커널 모듈로 빌드됩니다.

할당 및 할당 해제 시 모든 커널 페이지 및 슬래브 할당자 메모리를 0으로 설정합니다.

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 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)으로 초기화합니다.

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

커널 모듈 서명

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

kexec

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 이 옵션은 kdump 기능을 사용할 수 있도록 활성화되어 있습니다.

IOMMU 지원

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

kfence

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

레거시 pty 지원

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

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

Lockdown Linux 보안 모듈(LSM)

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

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

페이지 포이즈닝

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 할당 및 할당 해제 시 모든 커널 페이지 및 슬래브 할당자 메모리를 0으로 설정합니다.와 마찬가지로 AL2023 커널에서는 성능에 영향을 미칠 수 있으므로 비활성화되어 있습니다.

스택 프로텍터

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

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

seccomp BPF API

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

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

panic() 타임아웃

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

보안 모델

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

Lockdown Linux 보안 모듈(LSM) yama 모듈도 활성화되어 있습니다.

/proc/kcore

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

시스템 호출 입력 시 커널 스택 오프셋 랜덤

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다. 커널 명령줄을 randomize_kstack_offset=on로 설정하면 이 기능을 활성화할 수 있습니다.

참조 카운팅 검사 (CONFIG_REFCOUNT_FULL)

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

스케줄러의 SMT 코어 인식 (CONFIG_SCHED_CORE)

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

schedule()(CONFIG_SCHED_STACK_END_CHECK) 호출 시 스택 손상 확인

AL2023 커널은 CONFIG_SCHED_STACK_END_CHECK가 활성화된 상태로 빌드되었습니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

메모리 할당 하드닝

AL2023 커널을 사용하면 CONFIG_SHUFFLE_PAGE_ALLOCATOR, CONFIG_SLAB_FREELIST_HARDENED, CONFIG_SLAB_FREELIST_RANDOM 옵션으로 커널 메모리 할당을 하드닝할 수 있습니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

SLUB 디버깅 지원

AL2023 커널에서 커널 명령줄로 할당자의 디버깅 기능을 활성화할 수 있는 옵션 CONFIG_SLUB_DEBUG를 사용할 수 있습니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

CONFIG_STATIC_USERMODEHELPER

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

읽기 전용 커널 텍스트 및 rodata (CONFIG_STRICT_KERNEL_RWXCONFIG_STRICT_MODULE_RWX)

AL2023 커널은 커널, 커널 모듈 텍스트, rodata 메모리를 읽기 전용이지만 텍스트가 아닌 메모리를 실행 불가능 상태로 표시합니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

TCP syncookie 지원 (CONFIG_SYN_COOKIES)

AL2023 커널은 TCP syncookies 지원을 통해 빌드됩니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

가드 페이지가 있는 가상 매핑 스택 (CONFIG_VMAP_STACK)

AL2023 커널은 CONFIG_VMAP_STACK으로 빌드되어 가드 페이지가 있는 가상 매핑 커널 스택을 사용할 수 있습니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

컴파일러 경고를 오류(CONFIG_WERROR)로 빌드

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

함수를 종료(CONFIG_ZERO_CALL_USED_REGS)할 때 레지스터 제로화

이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

사용자 공간 할당에 필요한 최소 주소

이 하드닝 옵션으로 커널 NULL 포인터 버그의 영향을 줄일 수 있습니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

clang 특정 하드닝 옵션

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

x86-64 전용 커널 하드닝 옵션

CONFIG 옵션 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 지원

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

AMD와 Intel IOMMU를 지원합니다.

AL2023 커널은 AMD와 Intel IOMMUs를 지원합니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

CONFIG_INTEL_IOMMU_DEFAULT_ON 옵션은 설정되지 않았지만 커널 명령줄로 intel_iommu=on를 작성하면 활성화됩니다. 이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

CONFIG_INTEL_IOMMU_SVM 옵션은 현재 AL2023에 활성화되어 있지 않습니다. 이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

32비트 사용자 공간 지원

중요

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

참고

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

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

64비트 프로세서 x32 네이티브 32비트 ABI는 활성화되지 않았습니다 (CONFIG_X86_X32CONFIG_X86_X32_ABI). 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

x86 모델별 레지스터(MSR) 지원

CONFIG_X86_MSR 옵션은 turbostat 지원을 위해 활성화되어 있습니다. 이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

modify_ldt 시스콜

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

사용자 모드에서 커널 매핑을 제거합니다.

AL2023에서 대부분의 커널 주소가 사용자 공간에 매핑되지 않도록 커널이 구성되어 있습니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

커널 메모리 섹션 무작위화

AL2023에서 커널 메모리 섹션의 기본 가상 주소를 무작위로 지정하도록 커널을 구성할 수 있습니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

aarch64 전용 커널 하드닝 옵션

CONFIG 옵션 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 해당 사항 없음

브랜치 타겟 식별

AL2023 커널에 브랜치 타겟 식별(CONFIG_ARM64_BTI) 기능이 있습니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

CONFIG_ARM64_BTI_KERNEL 옵션은 GCC로 빌드되어 AL2023에서 사용할 수 없으며, 이 옵션으로 커널 빌드하기는 gcc 버그로 인해 현재 업스트림 커널에서 비활성화되어 있습니다. 이 옵션은 커널 자체 보호 프로젝트 (KSPP) 권장 설정 중 하나지만 KSPP 권장 설정으로 AL2023 구성 옵션을 설정하지 않습니다.

포인터 인증 (CONFIG_ARM64_PTR_AUTH)

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

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

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

권한 있는 액세스 에뮬레이션 (TTBR0_EL1 전환 사용하지 않음)

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

이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.

사용자 공간에서 실행 중인 경우 커널 매핑을 해제합니다.

AL2023 커널이 사용자 공간(CONFIG_UNMAP_KERNEL_AT_EL0)에서 실행될 때 커널 매핑이 해제됩니다. 이 옵션은 커널 자체 보호 프로젝트 권장 설정 중 하나입니다.