애플 엑슬레이브스

5 days ago 4

모놀리식 운영체제 커널의 문제점

  • 현대 운영체제는 주로 두 가지 보호 도메인으로 나뉨: 비특권 도메인(사용자 모드)과 특권 도메인(커널 모드).
  • 대부분의 소프트웨어는 사용자 모드에서 실행되며, 강력한 작업을 수행하기 위해 커널 모드로 전환해야 함.
  • 모놀리식 커널 디자인은 커널이 시스템 전체에 대한 무제한 접근 권한을 가짐.
  • 소프트웨어의 결함과 보안 취약점으로 인해 모놀리식 커널은 보안 문제가 발생할 수 있음.
  • 마이크로커널은 커널 내 기능을 최소화하여 보안을 강화할 수 있지만, 성능 문제와 복잡성을 초래할 수 있음.
  • XNU 커널은 마이크로커널 기반이지만, 사실상 모놀리식 커널로 작동함.

격리 노력

  • 다양한 소프트웨어 및 하드웨어 기반의 격리 기술이 개발됨.
  • Microsoft의 가상화 기반 보안(VBS), Intel의 SGX 및 VT-X2, ARM의 TrustZone 등이 있음.
  • Apple은 데이터 격리를 위해 Secure Enclave, Page Protection Layer, Secure Page Table Monitor 등을 도입함.

2013 — Apple Secure Enclave

  • iPhone 5s에 처음 도입된 Secure Enclave는 민감한 데이터를 보호하기 위해 사용됨.
  • Secure Enclave는 iOS 커널과 독립적으로 작동하며, 커널이 손상되더라도 영향을 받지 않음.

2017 — 페이지 보호 레이어

  • iPhone 8과 iPhone X에 도입된 Page Protection Layer(PPL)는 커널의 일부를 격리하여 메모리 페이지 테이블을 수정할 수 있는 권한을 부여함.
  • PPL은 공격 표면을 줄였지만, 커널의 나머지 부분은 여전히 많은 권한을 보유함.

2021–2023 — 보안 페이지 테이블 모니터

  • iPhone 13의 A15 프로세서에 도입된 Secure Page Table Monitor(SPTM)는 메모리 기능을 추가로 보호하고 작은 커널 구성 요소를 격리함.
  • 이 시기에 XNU 소스 코드에서 exclaves에 대한 언급이 등장하기 시작함.

2024 — XNU의 주요 추가 기능: Exclaves

  • M4 및 A18 기반 시스템을 지원하는 XNU 소스 코드가 공개되면서 exclaves의 일부가 드러남.
  • Exclaves는 XNU의 전통적인 모놀리식 커널을 크게 개선하는 새로운 기능 세트임.

XNU Exclaves

  • Exclaves는 XNU에서 격리된 리소스를 나타내며, 커널이 손상되더라도 보호됨.
  • 리소스는 OS가 빌드될 때 미리 정의되며, 부팅 시 초기화되고 고유한 도메인으로 구성됨.
  • 리소스 유형에는 공유 메모리 버퍼, 오디오 버퍼, 센서, Conclaves 등이 포함됨.

보안 커널 — seL4?

  • Exclave 서비스를 XNU로부터 격리하여 실행할 수 있도록 Apple은 Secure Kernel(SK)을 도입함.
  • SK는 seL4 커널을 기반으로 하는 것으로 보이며, XNU와의 IPC 구조가 seL4와 유사함.

보안 세계 — ARM TrustZone?

  • SK는 XNU/iOS와 동일한 고속 애플리케이션 프로세서에서 실행됨.
  • ARM의 TrustZone 기술을 통해 추가 프로세서 특권 수준이 필요함.
  • TrustZone은 시스템을 보안 세계와 비보안 세계로 나누며, XNU는 비보안 세계에서, SK는 보안 세계에서 작동함.

결론

  • Apple의 Exclaves 구현은 운영 체제에 추가적인 방어를 제공하기 위한 큰 투자임.
  • 민감한 리소스를 격리함으로써 공격 표면을 줄이고 커널 손상의 영향을 최소화함.
  • Exclaves는 장기적인 방향인지, 임시적인 단계인지는 불확실하지만, 현재 다른 제조업체보다 큰 규모의 방어 노력을 기울이고 있음.

Read Entire Article