Fedora 45, x86_64에서 Shadow Stack 기본 사용 검토 중
요약
Fedora 45는 x86_64 환경에서 Intel CET의 Shadow Stack 보호 기능을 기본적으로 활성화하는 방안을 검토 중입니다. 이를 통해 ROP 및 JOP 공격으로부터 프로세스를 하드웨어 수준에서 보호하며, 성능 저하는 거의 없습니다.
핵심 포인트
- x86_64 환경에서 Shadow Stack 보호 기능 기본 활성화 검토
- Intel CET 기술을 활용하여 ROP 및 JOP 공격 방어
- 하위 호환성을 유지하며 규격에 맞는 바이너리에 투명하게 적용
- 시스템 보안 향상 대비 성능 비용은 매우 미미함
Fedora 45, x86_64에서 Shadow Stack 기본 사용 검토 중

이번 변경 제안은 x86_64 환경에서 GCC, LLVM Clang 또는 Rustc로 컴파일된 애플리케이션 및 라이브러리에 대해 Shadow Stack 보호 기능을 기본적으로 활성화하는 것입니다. 바이너리와 공유 라이브러리 의존성이 모두 Shadow Stack 지원을 갖추어 빌드된 모든 프로세스에 대해, 동적 링커(dynamic linker) 또는 정적 시작 루틴(static startup routines)이 Shadow Stack을 활성화하게 됩니다. Shadow Stack은 현대적인 Intel 및 AMD CPU에서 하드웨어적으로 강제되며, Return-Oriented Programming (ROP) 방식의 익스플로잇(exploit)을 방어하는 데 도움을 줍니다.
변경 제안은 다음과 같이 상세히 설명합니다:
"이 변경 사항은 Fedora Linux 45에서 이를 지원하는 x86_64 머신에 대해 Shadow Stack 보호를 기본적으로 활성화합니다. 동적 링커 또는 정적 시작 루틴은 바이너리와 공유 라이브러리 의존성이 모두 Shadow Stack 지원을 갖추어 빌드된 모든 프로세스에 대해 Shadow Stack을 활성화하여, 가능한 한 기본적으로 프로세스를 보호할 것입니다. Shadow Stack은 Intel CET에서 도입된 두 가지 제어 흐름 강제(Control-Flow Enforcement) 기능 중 하나로, Indirect Branch Tracking (IBT)와 함께 반환 주소(return addresses)를 보호함으로써 Return-Oriented Programming (ROP) 및 Jump-Oriented Programming (JOP) 공격을 방어하도록 설계되었습니다. 이번 Fedora의 변경 사항은 Shadow Stack 지원을 활성화하는 것만을 다룹니다. Indirect Branch Tracking을 기본적으로 활성화하는 것은 범위에 포함되지 않습니다."
이 변경 사항은 대부분 하위 호환성(backward compatible)을 유지합니다: -fcf-protection은 2018년부터 Fedora의 redhat-rpm-config에서 이미 활성화되어 있는 기본 컴파일 타임 플래그(compile time flag)이므로, 대다수의 바이너리는 이미 적절한 마크업(markup)과 함께 빌드되어 있습니다. 따라서 이 변경 사항이 적용된 후, 의존성이 Shadow Stack 마크업을 포함하는 애플리케이션은 투명하게 보호를 받게 되는 반면, 시작 시 규격에 맞지 않는 객체를 로드하는 애플리케이션은 Shadow Stack 보호 없이 계속 실행됩니다. 유일하게 새로 발생하는 실패 모드(failure mode)는 Shadow Stack이 활성화된 프로세스가 런타임(runtime)에 규격에 맞지 않는 공유 객체(shared object)를 dlopen하려고 시도할 때이며, 이 경우 "error: dlopen: /path/to/library.so: rebuild shared object with SHSTK support enabled."와 같은 dlopen 에러가 발생합니다.
Shadow Stack 사용에 따른 성능 비용은 시스템 보안을 향상시키는 동시에 매우 미미하거나 거의 없는 수준입니다. 이는 또한 향후 Fedora Linux 릴리스에서 완전한 제어 흐름 보호 기술 (Control-flow Enforcement Technology (CET)) 보호를 위해 Indirect Branch Tracking (IBT)을 활성화하는 작업으로도 이어집니다.
Fedora 45를 위한 Shadow Stack 제안에 대한 더 자세한 내용은 Fedora Wiki를 통해 확인할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기