Era baru pelarian sandbox macOS: permukaan serangan yang terabaikan dan ditemukannya lebih dari 10 kerentanan baru
- Di sistem macOS, sebagian besar proses berjalan dalam lingkungan sandbox yang terbatas. Bahkan jika penyerang memperoleh remote code execution (RCE), kemampuan mereka tetap terbatas. Langkah berikutnya adalah melewati sandbox untuk mendapatkan hak akses file yang lebih luas.
- Saat meninjau masalah yang sudah ada untuk menemukan kerentanan pelarian sandbox, ditemukan permukaan serangan penting yang terabaikan serta teknik serangan baru. Melalui hal ini, ditemukan berbagai kerentanan pelarian sandbox baru: CVE-2023-27944, CVE-2023-32414, CVE-2023-32404, CVE-2023-41077, CVE-2023-42961, CVE-2024-27864, CVE-2023-42977, dan lainnya.
Tentang sandbox macOS
App Sandbox
- Sebagian besar aplikasi berjalan dengan pembatasan App Sandbox sesuai persyaratan Mac App Store. Aplikasi sandbox harus memiliki izin tertentu, dan setelah masuk ke sandbox akan dikontainerisasi sehingga operasi file dibatasi.
- File yang dibuat oleh aplikasi sandbox secara default dikarantina, dan aplikasi sandbox tidak dapat menghapus atribut ini.
- Aplikasi tanpa sandbox dapat mengakses semua data pengguna dan sumber daya sistem tanpa batas. Sebaliknya, aplikasi dengan pembatasan sandbox hanya memiliki akses terbatas.
- Proses anak yang di-fork akan mewarisi pembatasan sandbox dari proses induk, tetapi proses yang dimulai melalui
LaunchService.framework tidak mewarisi pembatasan tersebut.
Service Sandbox
- Sebagian besar layanan daemon Apple berjalan dalam konteks Service Sandbox. Layanan ini dibatasi oleh profil sandbox yang didefinisikan di lokasi sistem.
- Service Sandbox biasanya tidak dikontainerisasi, dan file secara default tidak dikarantina.
Permukaan serangan
Metode umum yang sudah ada
Serangan melalui LaunchService.framework
- Ada metode untuk menyerang aplikasi non-sandbox melalui framework LaunchService sistem. Sebagai contoh, CVE-2021-30864 dapat memanipulasi variabel lingkungan $HOME dari aplikasi sistem non-sandbox Terminal.app.
- Aplikasi non-sandbox baru dapat dijatuhkan dan dijalankan, tetapi aplikasi yang baru dijatuhkan akan dikarantina sehingga eksekusinya dicegah.
Serangan terhadap layanan Mach yang tersedia
- Ada metode untuk menyerang layanan Mach yang tersedia yang tercantum dalam profil App Sandbox. Informasi semua layanan Mach di sistem disimpan dalam file
/System/Library/xpc/launchd.plist.
Metode baru yang terabaikan
- Layanan XPC yang berada di domain PID adalah layanan yang selama ini terabaikan. Layanan ini dijalankan oleh aplikasi sesuai permintaan dan dihentikan saat aplikasi peminta berakhir.
- Layanan XPC di domain PID dapat dipanggil dari aplikasi sandbox, tanpa pemeriksaan izin tambahan maupun pemeriksaan sandbox.
Kerentanan baru dan exploit
Beta-No-CVE-1
- Kerentanan ini hanya memengaruhi versi beta macOS Sonoma.
- Kerentanan berada pada layanan XPC
/System/Library/PrivateFrameworks/StorageKit.framework/XPCServices/storagekitfsrunner.xpc.
- Layanan ini dapat berjalan tanpa pembatasan sandbox dan dapat mengeksekusi perintah sistem arbitrer.
Beta-No-CVE-2
- Kerentanan ini juga hanya memengaruhi perangkat lunak versi beta.
- Kerentanan berada pada layanan XPC
/System/Library/PrivateFrameworks/AudioAnalyticsInternal.framework/XPCServices/AudioAnalyticsHelperService.xpc.
- Layanan ini dapat mengompresi path arbitrer, dan file zip yang dihasilkan tidak dikarantina.
CVE-2023-27944
- Kerentanan berada pada layanan XPC
/System/Library/PrivateFrameworks/TrialServer.framework/XPCServices/TrialArchivingService.xpc.
- Layanan ini masuk ke Service Sandbox, tetapi file yang dijatuhkan tidak dikarantina.
CVE-2023-32414
- Kerentanan berada pada layanan XPC
/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/XPCServices/ArchiveService.xpc.
- Layanan ini masuk ke Service Sandbox, tetapi file yang dijatuhkan tidak dikarantina.
CVE-2023-32404
- Kerentanan berada pada layanan XPC
/System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsFileAccessHelper.xpc.
- Layanan ini dapat berjalan tanpa pembatasan sandbox dan memiliki izin TCC khusus untuk full disk access.
CVE-2023-41077
- Kerentanan berada pada layanan XPC
/System/Library/Frameworks/ImageCaptureCore.framework/XPCServices/mscamerad-xpc.xpc.
- Layanan ini dapat berjalan tanpa pembatasan sandbox dan memiliki izin TCC khusus untuk akses langsung ke Photos dan volume removable.
1 komentar
Komentar Hacker News
Menambal layanan XPC satu per satu terasa aneh, dan ini tampaknya merupakan masalah desain pada sandbox itu sendiri. Dipertanyakan mengapa banyak layanan XPC dapat diakses dari aplikasi yang disandbox
sandbox-execyang menanganinyaKerangka kerja keamanan memunculkan masalah baru, dan tidak terasa bahwa keamanan benar-benar menjadi lebih kuat
Sangat mungkin cacat terkait XPC akan terus ditemukan, dan kecuali Apple mendesain ulang pendekatan hardening layanannya, CVE akan terus bermunculan
Suka sekaligus benci sandbox
macOS tidak dirancang untuk izin yang terperinci, dan itu tidak bisa begitu saja ditambahkan di atas teknologi Mac OS lama dan NeXTSTEP
Kerentanan juga ada di iOS, dan ada sekitar 2 miliar perangkat aktif
Layanan XPC di domain PID adalah cara cerdik untuk melewati pembatasan sandbox, dan patch Apple tampak seperti solusi sementara
Penasaran apakah keluar dari sandbox berarti kembali ke keadaan tanpa sandbox, atau berpindah ke keadaan dengan hak akses yang lebih tinggi