1 puan yazan GN⁺ 2024-11-09 | 1 yorum | WhatsApp'ta paylaş

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

 
GN⁺ 2024-11-09
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

    • macOS, kara liste yerine yetenek tabanlı Darwin container’larına sahip olmalı
    • SBPL(sandbox profil dili) ilginç. İlgili bilgilere GitHub’da ulaşılabilir
    • macOS’ta SBPL’yi işleyen bir Scheme yorumlayıcısı olup olmadığı merak ediliyor
    • Bunu sandbox-exec işliyor gibi görünüyor
  • Güvenlik framework’ü yeni sorunlar yaratıyor ve güvenliğin gerçekten daha da güçlendiği hissi vermiyor

    • Hollanda vergi yasası gibi; yama üstüne yama ve artık sanki bilinç kazanmış gibi görünüyor
  • 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

    • Sandbox harika bir ikinci savunma hattı, ancak büyük şirketler sandbox’tan çıkılamadığında RCE düzeltmelerini reddedip bunu birincil savunma hattı olarak kullanıyor
  • macOS, ayrıntılı izinler için tasarlanmadı ve mevcut Mac OS ile NeXTSTEP teknolojilerinin üzerine sonradan eklenemez

    • Bir güvenlik araştırmacısı değil, uygulama geliştiricisi olarak çeşitli bypass’lar bulundu ama Apple’ın güvenlik açığı bildirim sistemi verimsiz olduğu için vazgeçildi
    • macOS, güvenlik tiyatrosunun kurbanı oldu ve kullanıcılara da geliştiricilere de zarar veriyor
  • 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 kalıtım yaklaşımının baştan aşağı yeniden tasarlanması gerekiyor
  • 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