macOS sandbox kaçışında yeni bir dönem: gözden kaçan saldırı yüzeyleri ve 10'dan fazla yeni açık keşfi
- macOS sistemlerinde süreçlerin çoğu kısıtlı bir sandbox ortamında çalışır. Saldırgan uzaktan kod yürütme (RCE) elde etse bile yetenekleri sınırlı kalır. Bir sonraki adım, daha geniş dosya erişim izinleri elde etmek için sandbox'ı aşmaktır.
- Sandbox kaçış açıklarını bulmak için mevcut sorunlar incelendiğinde, önemli bir gözden kaçmış saldırı yüzeyi ve yeni saldırı teknikleri keşfedildi. Bu sayede birden fazla yeni sandbox kaçış açığı bulundu: CVE-2023-27944, CVE-2023-32414, CVE-2023-32404, CVE-2023-41077, CVE-2023-42961, CVE-2024-27864, CVE-2023-42977 vb.
macOS sandbox hakkında
Uygulama sandbox'ı
- Mac AppStore gereksinimleri doğrultusunda çoğu uygulama uygulama sandbox'ı kısıtlamalarıyla çalışır. Sandbox içindeki uygulamaların belirli yetkilere sahip olması gerekir ve sandbox'a girdiklerinde container içine alınarak dosya işlemleri kısıtlanır.
- Sandbox uygulamalarının oluşturduğu dosyalar varsayılan olarak karantinaya alınır ve sandbox uygulaması bu niteliği kaldıramaz.
- Sandbox'sız uygulamalar tüm kullanıcı verilerine ve sistem kaynaklarına sınırsız erişebilir. Buna karşılık, sandbox kısıtlamalı uygulamalar yalnızca sınırlı erişime sahiptir.
- Fork edilen alt süreçler, üst sürecin sandbox kısıtlamalarını devralır; ancak
LaunchService.framework üzerinden başlatılan süreçler bu kısıtlamaları devralmaz.
Servis sandbox'ı
- Apple'ın çoğu daemon servisi, servis sandbox'ı bağlamında çalışır. Bunlar sistem konumlarında tanımlanan sandbox profilleriyle sınırlandırılır.
- Servis sandbox'ı genellikle container içine alınmaz ve dosyalar varsayılan olarak karantinaya alınmaz.
Saldırı yüzeyi
Mevcut yaygın yöntemler
LaunchService.framework üzerinden saldırı
- Sistem LaunchService framework'ü üzerinden sandbox'sız uygulamaları hedef alan bir yöntem vardır. Örneğin CVE-2021-30864, sistemdeki sandbox'sız Terminal.app uygulamasının $HOME ortam değişkenini manipüle edebilir.
- Yeni bir sandbox'sız uygulama bırakılıp çalıştırılabilir; ancak yeni bırakılan uygulama karantinaya alındığı için çalışması engellenir.
Erişilebilir Mach servislerine saldırı
- Uygulama sandbox profillerinde listelenen erişilebilir Mach servislerini hedef alan bir yöntem vardır. Sistemdeki tüm Mach servisi bilgileri
/System/Library/xpc/launchd.plist dosyasında saklanır.
Yeni ve gözden kaçan yöntemler
- PID domain içindeki XPC servisleri gözden kaçmış servislerdir. Bunlar, talep üzerine uygulamalar tarafından başlatılır ve talepte bulunan uygulama sonlandığında kapanır.
- PID domain içindeki XPC servisleri sandbox uygulamalarından çağrılabilir ve ek yetki kontrolü ya da sandbox denetimi yoktur.
Yeni açıklar ve exploit'ler
Beta-No-CVE-1
- Bu açık yalnızca macOS Sonoma beta sürümlerini etkiler.
- Açık,
/System/Library/PrivateFrameworks/StorageKit.framework/XPCServices/storagekitfsrunner.xpc XPC servisinde bulunur.
- Bu servis sandbox kısıtlamaları olmadan çalıştırılabilir ve rastgele sistem komutları yürütebilir.
Beta-No-CVE-2
- Bu açık da yalnızca beta yazılımı etkiler.
- Açık,
/System/Library/PrivateFrameworks/AudioAnalyticsInternal.framework/XPCServices/AudioAnalyticsHelperService.xpc XPC servisinde bulunur.
- Rastgele bir yolu sıkıştırabilir ve oluşturulan zip dosyası karantinaya alınmaz.
CVE-2023-27944
- Açık,
/System/Library/PrivateFrameworks/TrialServer.framework/XPCServices/TrialArchivingService.xpc XPC servisinde bulunur.
- Bu servis servis sandbox'ına girer, ancak bırakılan dosyalar karantinaya alınmaz.
CVE-2023-32414
- Açık,
/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/XPCServices/ArchiveService.xpc XPC servisinde bulunur.
- Bu servis servis sandbox'ına girer, ancak bırakılan dosyalar karantinaya alınmaz.
CVE-2023-32404
- Açık,
/System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsFileAccessHelper.xpc XPC servisinde bulunur.
- Bu servis sandbox kısıtlamaları olmadan çalıştırılabilir ve tam disk erişimi için özel TCC yetkilerine sahiptir.
CVE-2023-41077
- Açık,
/System/Library/Frameworks/ImageCaptureCore.framework/XPCServices/mscamerad-xpc.xpc XPC servisinde bulunur.
- Bu servis sandbox kısıtlamaları olmadan çalıştırılabilir ve fotoğraflara ve çıkarılabilir birimlere doğrudan erişebilen özel TCC yetkilerine sahiptir.
1 yorum
Hacker News yorumları
XPC servislerini tek tek yamalamak tuhaf; bu daha çok sandbox’ın kendisinin bir tasarım sorunu gibi görünüyor. Birçok XPC servisine sandbox’lı uygulamalardan neden erişilebildiği sorgulanıyor
sandbox-execişliyor gibi görünüyorGüvenlik framework’ü yeni sorunlar yaratıyor ve güvenliğin gerçekten daha da güçlendiği hissi vermiyor
XPC ile ilgili kusurların bulunmaya devam etme olasılığı yüksek; Apple servis sertleştirme yaklaşımını yeniden tasarlamadığı sürece sürekli yeni CVE’ler çıkması bekleniyor
Sandbox hem seviliyor hem nefret ediliyor
macOS, ayrıntılı izinler için tasarlanmadı ve mevcut Mac OS ile NeXTSTEP teknolojilerinin üzerine sonradan eklenemez
iOS’ta da açıklar var ve yaklaşık 2 milyar aktif cihaz bulunuyor
PID domain’indeki XPC servisleri, sandbox kısıtlamalarını aşmanın zekice bir yolu; Apple’ın yaması ise geçici bir çözüm gibi görünüyor
Sandbox’tan çıkıldığında bunun sandbox’sız duruma geri dönmek mi yoksa daha yüksek ayrıcalıklı bir duruma geçmek mi olduğu merak ediliyor