# Apple Exclaves에 관하여

> Clean Markdown view of GeekNews topic #19669. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19669](https://news.hada.io/topic?id=19669)
- GeekNews Markdown: [https://news.hada.io/topic/19669.md](https://news.hada.io/topic/19669.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-03-10T19:33:43+09:00
- Updated: 2025-03-10T19:33:43+09:00
- Original source: [randomaugustine.medium.com](https://randomaugustine.medium.com/on-apple-exclaves-d683a2c37194)
- Points: 1
- Comments: 1

## Topic Body

### 모놀리식 운영체제 커널의 문제점  
- 현대 운영 체제는 일반적으로 두 가지 주요 보호 도메인으로 나뉨:  
  - **비특권 도메인**(유저 모드): 프로그램이 파일 액세스, 네트워크 통신 등 강력한 작업을 직접 수행할 수 없음  
  - **특권 도메인**(커널 모드): 시스템 호출을 통해 프로그램이 커널에 작업 수행을 요청하면, 커널 코드가 해당 작업을 수행 후 유저 모드에 결과 반환  
- 대부분의 운영 체제는 **모놀리식 커널** 설계를 사용함:  
  - 커널이 시스템의 모든 하드웨어, 메모리, 사용자 데이터에 대한 무제한 액세스 권한 보유  
  - 소프트웨어에 결함이 없고 보안 침해 시도가 없다면 괜찮겠지만, 실제로는 버그와 보안 취약점이 존재함  
  - 모놀리식 커널의 크기가 크기 때문에 보안 취약점이 발생할 가능성이 높고, 하나의 취약점이 전체 시스템 손상으로 이어질 위험 존재  
- **마이크로커널** 설계는 보안을 강화하기 위해 커널에서 대부분의 기능을 제거하고, 별도의 비특권 프로세스로 처리함:  
  - 보안 강화 가능  
  - 성능 저하 및 애플리케이션 소프트웨어 복잡성 증가 문제 발생 가능  
  - 그럼에도 불구하고 성능상의 장점 때문에 모놀리식 커널이 여전히 널리 사용됨  
- 애플의 XNU 커널:  
  - iOS, macOS, tvOS, visionOS, watchOS에서 공통으로 사용되는 커널  
  - Mach 기반 마이크로커널이지만, 대부분의 시스템 기능이 동일한 특권 범위에서 실행되기 때문에 사실상 모놀리식 커널처럼 작동함  
  - 따라서 모놀리식 커널과 동일한 보안 취약점이 발생 가능함  
  
### 격리 노력  
- 소프트웨어 및 하드웨어 기반 격리 기술 도입이 다양하게 시도됨 :  
  - **Microsoft Virtualisation-based Security (VBS)** – Windows의 Credential Guard에서 사용됨  
  - **Intel Software Guard Extension (SGX)** 및 **VT-X2**  
  - **ARM TrustZone** – Samsung Knox, Samsung Pay, Android Verified Boot, Android 보안 PIN 입력 등에서 사용됨  
  
### 애플도 커널에서 데이터를 분리하려는 시도를 점차 확대해 왔음   
- # 2013 — Apple Secure Enclave  
  - 2013년 iPhone 5s에서 최초 도입  
  - **Secure Enclave**는 독립된 강화된 CPU 코어에서 실행되며, 마이크로커널 기반 OS인 **SepOS**에서 동작  
    - SepOS의 커널은 애플의 커스텀 L4 임베디드 마이크로커널인 **cL4** 사용  
    - 암호화 키 및 생체 정보(예: Face ID)와 같은 민감한 데이터를 저장하고 보호  
    - iOS 커널에서 독립적으로 동작하며 보안된 상호작용을 통해서만 iOS에 서비스 제공  
    - iOS 커널이 침해되더라도 추가적인 익스플로잇이 발생하지 않는 한 Secure Enclave는 영향을 받지 않음  
  - **Secure Enclave**와 **Secure Exclave**는 다른 개념임에 주의  
- # 2017 — 페이지 보호 레이어 (Page Protection Layer, PPL)  
  - iPhone 8 및 iPhone X의 **A11 프로세서**에서 도입된 보안 기능  
  - 하드웨어 + 소프트웨어 기반 기능으로, 커널의 특정 부분에만 메모리 페이지 테이블 수정 권한 부여  
    - 나머지 커널은 페이지 테이블 수정 권한이 제한됨  
    - 공격 표면이 작아져 우회 시도가 드물어짐  
  - PPL은 보호 레이어를 추가했지만, 여전히 커널의 대부분의 권한은 유지되어 완전한 보안 강화에는 한계가 있었음  
- # 2021–2023 — 보안 페이지 테이블 모니터 (Secure Page Table Monitor, SPTM)  
  - iPhone 13의 **A15 프로세서** 및 **iOS 17**에서 도입된 새로운 기능  
  - PPL을 대체하고 추가적인 메모리 기능을 보호하며, 이를 여러 하위 시스템으로 분리  
  - 코드 서명 검증 및 애플에 의해 서명된 코드만 실행되도록 보안 강화  
  - 이 시기에 XNU 소스 코드에서 **exclave**에 대한 간접적인 언급 등장  
    - SPTM이 관리하는 하위 시스템이 exclave일 가능성 제기됨  
- # 2024 — 엑스클레이브: XNU의 주요 보안 모델 개편  
  - **M4** 및 **A18** 프로세서를 지원하는 XNU 소스 코드에서 엑스클레이브 개념 등장  
  - 이전 프로세서에서는 엑스클레이브가 활성화되지 않음  
  - 엑스클레이브는 XNU의 보안 모델을 대대적으로 재설계한 결과물임이 명확해짐  
- # XNU 엑스클레이브  
  > **면책 사항**: 엑스클레이브의 내부 구조는 완전히 오픈소스가 아니므로 일부 내용은 추측이나 해석일 수 있음  
  - 엑스클레이브는 XNU의 기존 모놀리식 커널 보안 모델을 대폭 강화한 새로운 기능 집합  
  - 엑스클레이브는 **XNU에서 격리된 자원**으로, 커널이 손상되더라도 보호됨  
  - 엑스클레이브의 특성:  
    - OS 빌드 시 미리 정의됨  
    - 이름 또는 ID로 식별됨  
    - 다양한 유형으로 구성됨  
    - 부팅 시 초기화됨  
    - **독립된 도메인**으로 조직화됨  
    - **SPTM**이 새로운 엑스클레이브 전용 페이지 타입으로 엑스클레이브 메모리 보호  
  - 엑스클레이브 자원 유형  
    - **공유 메모리 버퍼** – 커널과 엑스클레이브에서 모두 접근 가능  
      - XNU에서 읽기 전용 또는 읽기/쓰기 설정 가능  
    - **오디오 버퍼 및 센서** – 카메라 및 마이크 접근 표시 보안 강화  
    - **Conclave** – 여러 자원을 자체 보안 도메인으로 그룹화하며, 이를 관리하는 **Conclave Manager** 존재  
    - **서비스** – XNU의 스레드가 호출할 때 엑스클레이브에서 코드 실행  
- # 보안 커널 — seL4 기반?  
  - 엑스클레이브 서비스가 XNU에서 독립적으로 실행되기 위해 새로운 커널 **Secure Kernel (SK)** 도입  
  - SK 이미지 파일에서 "cL4" 버전 문자열 확인됨  
  - SK는 애플의 기존 **cL4** (L4 기반) 커널이 아닌 **seL4** 기반일 가능성이 높음  
    - XNU가 SK와 통신 시 사용하는 IPC 구조가 seL4의 구조와 유사  
    - SK에서 사용되는 문자열에서 seL4에서 사용하는 개념(예: capabilities, frames, untyped memory 등) 다수 발견됨  
  - 애플이 **2024년 4월 seL4 Foundation**에 합류한 것은 우연이 아닐 수 있음  
    - **C1 프로세서**(애플의 새로운 베이스밴드 칩)의 커널도 L4 기반으로 보임  
- # 보안 월드 — ARM TrustZone?  
  - SepOS는 별도의 프로세서에서 실행되며, SK는 고속 애플리케이션 프로세서에서 실행됨  
  - 이를 위해 추가적인 프로세서 특권 수준 필요 → 다음 중 하나로 구현될 가능성 존재:  
    - 가상화 확장 지원  
    - 애플의 SPTM 확장  
    - **ARM TrustZone** 기술 활용 가능성이 가장 높음  
  - TrustZone 구조  
    - 시스템을 두 개의 월드로 분리:  
      - **Secure World** – 보안 코드 실행  
      - **Insecure World** – 일반 코드 실행 (XNU 및 iOS 실행)  
    - XNU 소스 코드에서 TrustZone의 **Secure World** 및 **Insecure World** 간 전환에 대한 언급 다수 발견  
      - 애플은 TrustZone에서 제안하는 **Trusted Application 모델** 대신 엑스클레이브 서비스 모델 적용  
    - SK는 격리된 환경에서 엑스클레이브 서비스 및 자원을 제공 → 보안 강화  
      - Secure World에서 Insecure World로 탈출해 XNU를 침해하기는 매우 어려울 것으로 예상  
  - **RINGGATE**  
    - 애플이 **SPTM**을 사용해 Secure World ↔ Insecure World 전환 관리 가능성 존재  
    - 코드에서 이 전환이 **"RINGGATE"**로 언급됨  
  
### 결론  
- **엑스클레이브 도입의 의미**  
  - 고급 위협 행위자들의 지속적인 공격에 대응하기 위해 애플은 **엑스클레이브**를 도입해 운영 체제의 보안 수준을 강화  
  - 민감한 리소스를 격리함으로써 다음과 같은 효과 기대:  
    - **공격 표면 축소**  
    - **단일 커널 취약점의 영향 감소**  
- 모놀리식 커널 방어는 끝없는 도전이며, 엑스클레이브는 이를 해결하기 위한 하나의 접근 방식  
  - 장기적으로 옳은 방향인지, 혹은 임시 방편인지 불확실  
  - 개인적인 희망 → 미래에 **CHERI** 및 **ARM Morello** 기반 재설계 기대 😊  
  - 그러나 현재로서는 **소비자 기기 제조업체 중 가장 큰 방어 시도**  
- 이 글에서는 구체적으로 어떤 컴포넌트가 엑스클레이브로 이동되었는지 명확히 다루지는 않았음  
  - 빌드 이미지를 통해 다음과 같은 요소가 엑스클레이브에서 실행되는 것으로 보임:  
    - **보안 카메라/마이크 표시기**  
    - **Apple Neural Engine(ANE) 기능 일부**  
    - **일부 디바이스 드라이버**  
    - **Secure Enclave와의 통신 컴포넌트**  
- 앞으로 더 많은 컴포넌트가 엑스클레이브로 이전될 가능성 존재  
  - 엑스클레이브의 보안 효과는 이러한 이전 작업의 **최적화 수준**에 달려 있음  
- 엑스클레이브가 **Apple Private Cloud Compute** 인프라에서 사용될 가능성 있음  
  - 클라우드 기반 AI에서 높은 수준의 보안 및 프라이버시 보장 가능

## Comments



### Comment 35670

- Author: neo
- Created: 2025-03-10T19:33:43+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=43314657) 
- Apple의 최신 SoC는 중첩 가상화를 지원하며, M4 iPad Pro에서는 카메라 LED를 위한 exclave가 사용됨
  - Apple Platform Security 가이드의 다음 개정판에서 SK exclave와 Wi-Fi 레이더 감지를 위한 기지국 완화에 대해 다루기를 희망함
- SPTM에 대한 Apple의 특정 추가 사항이 있음
  - XNU는 마이크로 커널 영감을 받은 아키텍처로 리팩토링 중이며, 코드 베이스를 줄이고 보안 민감 작업을 분리하려고 함
  - 메모리 공간 격리는 Secure Page Table Monitor(SPTM)의 도움으로 수행됨
  - 코드 서명, 권한 검증, 개발자 모드, 제한 실행 모드 등 보안 민감 작업은 Trusted eXecution Monitor(TXM)에 의해 처리됨
- ARM의 TrustZone 기술을 통해 수행될 가능성이 높음
  - XNU 소스 코드에는 TrustZone의 보안 세계 개념으로의 전환에 대한 여러 참조가 포함됨
  - 150개 이상의 TrustZone CVE가 존재함
- Google은 몇 년 전 Pixel에 하드웨어 중첩 가상화를 사용하여 pKVM을 구현하고, 코드를 Linux 메인라인에 업스트림함
  - 그러나 Debian "Linux Terminal" VM 외에는 pKVM/AVF를 사용하는 방어 기능을 발표하지 않음
- Steve는 노트북이 일기장이라고 믿었으며, 이에 대한 책임이 있다고 생각했음
  - Tim이 Steve의 신념을 공유하지 않았다면 CEO가 되지 않았을 것임
  - Steve가 그립다는 의견이 있음
- Apple은 XNU 커널을 exclave로 재구성함
  - 이 글의 작성자는 매우 정교하고 잘 작성된 글을 썼음
  - exclave를 따라온 사람으로서 잘 작성되었다고 생각함
- 이 수준의 지식에 익숙하지 않지만, enclave 자체를 공격하여 커널보다 높은 권한을 획득할 수 있는지 궁금함
  - 이 하드웨어가 공동 프로세서와 같은 것인지 궁금함
- macOS 보안에 미칠 영향이 궁금함
  - Apple 문서에 따르면 SPTM이 사용되지 않음
  - 현재 카메라 표시기를 표시하는 exclave는 macOS에 적용되지 않지만, 미래에는 적용될 수 있음
- Apple은 그들의 "플랜테이션"을 보호하는 데 뛰어남
  - 그러나 그들로부터 자신을 보호하는 것은 무엇인지 궁금함
  - "마지막 geohot"의 가능성을 생각해본 적이 있는지 물음
- Apple이 SPTM을 사용하여 보안 세계와 비보안 세계 간의 전환을 관리할 수 있음
  - TrustZone이 없기 때문임
