Skip to content

Exclaves (secure execution domains)

Apple'ın Exclaves'i (iOS 17'de ortaya çıkan), hassas kaynakları XNU kernel'inin tamamen compromise edildiğinde bile erişemediği hardware-isolated domain'lere böler ve XNU'yu microkernel-with-secure-monitor modeline doğru yeniden yapılandırır.

Mechanism

Bug class / invariant

Tarihsel olarak XNU kernel'ini compromise etmek, kernel'in dokunabildiği her şeyi compromise etmek demekti. Exclaves bunu, belirli kaynakların kernel'in ulaşamadığı domain'lerde yaşadığı — tam kernel R/W ile bile invariant'ını enforce ederek kırar. Exclaves'ler build time'da önceden tanımlanır, name/id ile belirlenir, domain'lere organize edilir ve XNU'dan Secure Page Table Monitor (SPTM) tarafından enforce edilen enclave-specific page tipleri kullanılarak izole edilir — A15/iOS 17 dönemi civarında tanıtılan hardware-backed bir memory protection. Yeni bir Secure Kernel (SK) (seL4-benzeri IPC ve "cL4" soyağacıyla) exclave servislerini çalıştırır; XNU yalnızca kısıtlı secure channel'lar üzerinden (örn. Tightbeam, bir xnuproxy handler'ı aracılığıyla) iletişim kurar. Sonuç, trust'ı monolitik kernel'in altına taşır: kernel-seviyesi bir attacker bile exclave-korumalı state'i doğrudan okuyamaz/değiştiremez.

Walkthrough

Üst seviye, kavramsal (public reverse-engineering / raporlardan):

  1. Build/boot'ta hassas kaynaklar named exclave domain'lerine ayrılır, SPTM page'lerini enclave-specific (XNU'ya erişilemez) olarak etiketler.
  2. Secure Kernel başlatılır ve exclave servislerini host eder.
  3. XNU'nun korunan state üzerinde bir operasyona ihtiyacı olur ve belleğe doğrudan dokunmak yerine bir secure channel (Tightbeam / xnuproxy) üzerinden bir istek gönderir.
  4. Bir attacker XNU'yu tamamen compromise eder ve korunan kaynağı okumaya ya da patch'lemeye çalışır.
  5. SPTM, XNU'nun exclave page'lerine erişimini reddeder; attacker korunan domain'i arbitrary şekilde manipüle edemez, yalnızca kısıtlı IPC istekleri yapabilir.

Warning

Exclaves, büyük ölçüde reverse engineering yoluyla belgelenmiş, gelişmekte olan bir mimaridir; tam sınırları ve threat model'i public olarak analiz edilmeye devam ediyor. Post-kernel-compromise saldırılarının maliyetini artırır ama her derde deva değildir.

Detection

  • Apple platformlarında büyük ölçüde preventive/hardware; host-görünür telemetry azdır.
  • Apple'ın secure boot'u aracılığıyla SPTM/Secure Kernel'in integrity/attestation'ı pratik güvencedir.

Mitigation

  • Mimarinin kendisi mitigation'dır: cihazları desteklenen hardware'de (A15+) ve güncel iOS/macOS'ta tut ki SPTM/Secure-Kernel korumaları uygulansın.
  • Katmanlı savunma için CTRR, PPL/SPTM code integrity ve ARM Pointer Authentication ile birleştir.

References