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):
- Build/boot'ta hassas kaynaklar named exclave domain'lerine ayrılır, SPTM page'lerini enclave-specific (XNU'ya erişilemez) olarak etiketler.
- Secure Kernel başlatılır ve exclave servislerini host eder.
- 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.
- Bir attacker XNU'yu tamamen compromise eder ve korunan kaynağı okumaya ya da patch'lemeye çalışır.
- 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.