
안전하지 않은 커스텀 PE 로더로 인해 발생한 UEFI Secure Boot 우회에 대한 기술 연구로, 근본 원인 분석, 익스플로잇 워크플로우, 교육용 개념 증명(PoC)을 포함합니다.
이 저장소는 UEFI 시스템에 영향을 미치는 Secure Boot 우회 취약점인 CVE-2024-7344와 관련된 연구 자료를 포함합니다. 취약점에 대한 기술적 분석, 공격 흐름 문서화, 그리고 통제된 환경에서 취약한 동작을 재현하도록 설계된 재구성 애플리케이션을 중앙 집중식으로 제공합니다. 또한 보안 연구자들이 이 취약점과 관련된 기술을 이해하고, 연구하고, 실험하는 데 도움이 되도록 설계된 문서 및 연구 리소스도 포함되어 있습니다.
CVE-2024-7344는 ESET 연구팀에 의해 최초로 발견되어 책임 있는 방식으로 공개되었으며, CERT/CC의 조정된 공개 지원을 받았습니다. 공식 및 커뮤니티 참고 자료:
이 저장소에는 CVE-2024-7344와 동일한 취약점 클래스를 재현하는 단순화된 교육용 개념 증명이 포함되어 있습니다. 또한, 실제 환경 구현의 일부는 전용 UEFI 보안 연구 노력을 통해 분석 및 문서화되었습니다.
이 취약점의 역사적 기원, 원래 ALRM 형식, 사용자 정의 RxPE 로더, 그리고 Microsoft의 폐기 이후 영향을 받은 제품의 변화를 이해하는 데 관심이 있는 연구자들은 동반 저장소 "UEFI-Security-Research-Howyar-SysReturn-NetCopy"를 참조해야 합니다.
CVE-2024-7344의 영향을 받는 원본 x32 취약 UEFI 애플리케이션이 이 저장소에 포함되어 있습니다.
x64 바이너리는 VirusTotal에 호스팅된 아카이브 내에서 확인 가능한 것으로 알려져 있습니다. 이 샘플에 접근하려면 VirusTotal Enterprise 계정이 필요하며, 작성 시점 기준으로 다운로드 접근 권한이 없었습니다. 참고로, 적절한 접근 권한이 있는 연구자들을 위해 다음 URL에서 샘플을 찾을 수 있습니다:
CVE-2024-7344는 부팅 프로세스 중에 서명되지 않은 UEFI 바이너리를 부적절하게 로드하고 실행하는 Microsoft 서명 타사 UEFI 애플리케이션으로 인해 발생하는 UEFI Secure Boot 우회 취약점입니다. 이 취약점은 공격자가 운영 체제가 로드되기 전에 신뢰할 수 없는 코드를 실행할 수 있게 하여, Secure Boot가 활성화된 경우에도 UEFI Secure Boot 신뢰 체인을 효과적으로 깨뜨립니다.
메모리 손상이나 NVRAM 조작에 기반한 다른 Secure Boot 우회 취약점과 달리, CVE-2024-7344는 논리 및 설계 결함의 결과입니다. 영향을 받는 UEFI 애플리케이션은 표준 UEFI 서비스(LoadImage 및 StartImage)에 의존하는 대신 자체 사용자 정의 PE 로더를 구현하여, Secure Boot가 일반적으로 적용하는 모든 암호화 검증을 우회합니다.
취약한 애플리케이션이 Microsoft의 타사 UEFI 인증서로 서명되고 대부분의 시스템에서 기본적으로 신뢰되기 때문에, 악용은 플랫폼의 매우 높은 권한과 초기 실행 단계에서 발생합니다.
Secure Boot는 펌웨어에서 운영 체제까지 플랫폼의 신뢰 체인을 강제하도록 설계된 UEFI의 핵심 보안 기능입니다. 주요 목적은 부팅 프로세스 중에 부트킷과 같은 승인되지 않거나 악의적인 부팅 구성 요소가 실행되는 것을 방지하는 것입니다.
높은 수준에서 Secure Boot는 UEFI 실행 파일이 실행되기 전에 암호화 방식으로 검증함으로써 작동합니다. 이 검증은 펌웨어에서 유지 관리하는 두 개의 데이터베이스를 사용하여 수행됩니다:
UEFI 애플리케이션은 다음 중 하나에 해당하는 경우 실행이 허용됩니다:
기본적으로 대부분의 시스템에는 다음 인증서가 db에서 신뢰되는 상태로 제공됩니다:
CVE-2024-7344의 영향을 받는 취약한 애플리케이션은 Microsoft Corporation UEFI CA 2011 인증서로 서명되었습니다. 이 인증서는 다양한 벤더와 플랫폼에서 널리 신뢰되기 때문에, 이러한 서명된 애플리케이션 내의 모든 취약점은 전 세계적인 영향을 미치며 대부분의 UEFI 시스템에서 악용될 수 있습니다.
이 취약점은 여러 실시간 복구 소프트웨어 제품과 함께 제공되는 UEFI 구성 요소를 분석하는 동안 ESET 연구팀에 의해 발견되었습니다. 초기 정찰 결과 EFI 시스템 파티션(ESP)에 cloak.dat라는 데이터 파일과 함께 배포된 reloader.efi라는 Microsoft 서명 UEFI 애플리케이션의 존재가 확인되었습니다.
애플리케이션 검사 결과 시스템 시작 시 디스크에서 추가 UEFI 페이로드를 로드하고 실행하도록 설계된 것으로 나타났습니다. 이러한 동작 자체가 본질적으로 안전하지 않은 것은 아니지만, 추가 리버스 엔지니어링을 통해 애플리케이션이 표준 UEFI 이미지 로딩 서비스를 사용하지 않고 로드된 페이로드에 Secure Boot 검증을 적용하지 않는다는 것이 밝혀졌습니다. 추가 조사를 통해 동일한 취약한 부트로더가 여러 벤더의 다양한 제품에서 사용되었음이 확인되었습니다.
CVE-2024-7344의 근본 원인은 서명된 UEFI 애플리케이션 내부에 구현된 사용자 정의 PE 로더의 사용에 있습니다. 구체적으로:
LoadImage 및 StartImage를 우회함으로써, 애플리케이션은 Secure Boot 검증을 완전히 회피합니다. 결과적으로 Secure Boot 상태와 관계없이 모든 서명되지 않은 UEFI 바이너리가 실행될 수 있습니다. 이는 Secure Boot 가정의 근본적인 위반을 나타내며 구현 버그가 아닌 설계 수준의 보안 결함으로 분류됩니다.
CVE-2024-7344의 악용에는 메모리 손상, 경쟁 조건 또는 복잡한 악용 프리미티브가 필요하지 않습니다. 대신 취약한 애플리케이션의 의도된 기능을 남용하는 데 의존합니다.
일반적인 악용 워크플로우는 다음과 같습니다:
부팅 중:
이를 통해 Secure Boot가 활성화된 시스템에서 BlackLotus 또는 HybridPetya와 같은 UEFI 부트킷의 안정적인 배포가 가능합니다.
취약한 부트로더는 다음과 같은 여러 합법적인 복구 및 백업 소프트웨어 제품의 일부로 배포되었습니다:
Microsoft는 2025년 1월 14일에 발표된 Secure Boot dbx 업데이트를 통해 영향을 받는 UEFI 바이너리를 폐기하여 CVE-2024-7344를 완화했습니다. 따라서 최신 UEFI 폐기 업데이트를 적용한 시스템은 이 취약점의 악용으로부터 보호됩니다.
비슷한 주제로 작업 중이신가요? UEFI, 커널 보안, 악용 또는 다른 흥미로운 보안 주제를 연구 중이신가요? 익스플로잇 개발, 기술 탐구에 도움이 필요하거나 아이디어를 교환하고 싶다면 주저하지 말고 연락해 주세요. 연구 논의, 가능한 도움, 흥미로운 프로젝트 협업에 항상 열려 있습니다. LinkedIn으로 연락해 주세요.