- Kernel XNU pada sistem operasi Apple pada dasarnya selama ini menyediakan satu domain kepercayaan tunggal
- Baru-baru ini, Apple mencoba melakukan perubahan untuk mengurangi dampak kerentanan keamanan melalui pemisahan arsitektur kernel dan mikrokernelisasi
- Dengan diperkenalkannya Secure Page Table Monitor (SPTM) pada 2023, fungsi-fungsi inti dipisahkan dan terbentuk struktur domain kepercayaan baru
- Mekanisme keamanan terbaru seperti Exclaves dan Trusted Execution Monitor (TXM) diimplementasikan di atas fondasi SPTM
- Perbaikan struktural ini membuat pelanggaran pada kernel tidak langsung menyebabkan turunnya kepercayaan terhadap seluruh sistem
Gambaran umum
Kernel XNU, inti dari sistem operasi Apple, memang disebut sebagai kernel hibrida, tetapi dalam praktiknya beroperasi dengan struktur yang menyerupai monolitik karena semua fungsi sistem terpusat dalam satu zona kepercayaan berhak istimewa. Karena itu, ketika kernel dikompromikan, seluruh sistem langsung menghadapi ancaman serius. Belakangan ini, Apple memperbaiki kernel agar lebih tersegmentasi dan lebih mendekati desain bergaya mikrokernel, misalnya dengan memindahkan fungsi-fungsi penting seperti manipulasi page table atau fungsi terkait kriptografi ke luar area kernel.
Motivasi utama perubahan dan arah riset
- Meningkatnya kebutuhan akan perbaikan struktur kernel untuk memperkuat keamanan
- Bertujuan meminimalkan dampak buruk terhadap seluruh sistem saat kerentanan kernel dieksploitasi
- Masih kurang penelitian terdahulu yang menganalisis secara ilmiah bagaimana mekanisme baru seperti SPTM benar-benar dirancang dan bekerja
- Makalah ini menyelidiki fitur-fitur baru yang belum dipublikasikan tersebut secara sistematis, sekaligus merangkum interaksi dan efektivitas semua perangkat keamanan yang digunakan saat ini
Mekanisme inti SPTM (Secure Page Table Monitor)
- SPTM adalah komponen dengan otoritas tertinggi dalam sistem yang berjalan pada Guarded Level 2 (level hak istimewa tertinggi) bersama Guarded Execution Feature (GXF)
- GXF menambahkan level perlindungan horizontal ke struktur exception level AArch64 yang ada, sehingga aktivitas sensitif sistem terisolasi dari akses langsung oleh XNU
- SPTM menyediakan domain of trust berdasarkan aturan frame retyping dan memory mapping, serta memisahkan area untuk tiap fungsi
- Contoh representatif dari domain kepercayaan ini meliputi TXM (bertanggung jawab atas penandatanganan kode dan verifikasi hak akses) dan Exclaves (fitur keamanan pemisahan area generasi terbaru)
Exclaves dan mekanisme komunikasi
- Exclaves adalah lingkungan eksekusi yang berjalan di dalam zona kepercayaan independen, dan bergantung pada sistem perlindungan serta kontrol memori berbasis SPTM
- Komunikasi antara Exclaves dan sistem diimplementasikan melalui berbagai cara seperti xnuproxy (penangan permintaan keamanan) dan framework IPC Tightbeam
- Tightbeam memiliki struktur IPC yang kompleks, termasuk pembuatan endpoint, buffer pesan, dan koneksi klien-server
- Sebagai contoh penggunaan nyata Exclaves, pengendalian indikator privasi (seperti indikator perekaman atau penggunaan audio) juga termasuk dalam cakupan analisis
Penguatan keamanan dan prospek ke depan
- Karena fungsi-fungsi inti sistem dipisahkan dari akses langsung XNU, tersedia pengaman tambahan yang menjaga tingkat kepercayaan seluruh sistem tetap terpelihara bahkan jika kernel dikompromikan
- Hasil analisis rinci atas interaksi antara SPTM, Exclaves, dan TXM menunjukkan terbentuknya sistem perlindungan bertahap yang jauh lebih kuat daripada sebelumnya
- Pada bagian kesimpulan, makalah ini secara ringkas menyajikan kondisi setelah penerapan SPTM, kemungkinan penguatan keamanan di masa depan, keterbatasan yang masih tersisa, dan arah penelitian lanjutan
Panduan susunan dan isi mendalam
Bab 1: Motivasi–tujuan–susunan
- Konteks historis gerakan pemisahan kernel Apple dan kebutuhan penelitian
- Penekanan pada kontribusi riset ini
Bab 2: Latar belakang dan dasar
- Pengenalan arsitektur AArch64, exception level, metode akses memori, serta teknik perlindungan khusus pada chip Apple (Fast Permission Restrictions, Page Protection Layer, Guarded Execution Feature, Shadow Permission Remap Register)
- Ringkasan penelitian keamanan terdahulu dan keterbatasannya
Bab 3: Lingkungan analisis
- Penjelasan tentang perangkat keras, firmware, alat, simbol, dan register khusus Apple yang menjadi objek analisis
Bab 4: Gambaran desain arsitektur keseluruhan
- Visualisasi struktur seluruh sistem yang mencakup EL (exception level) dan GL (level perlindungan horizontal)
Bab 5: Struktur mendalam SPTM
- Penjelasan rinci tentang komposisi dasar SPTM, inisialisasi, cara pemanggilan (kernel, TXM, Secure Kernel), serta header dan tabel dispatch
- Alur penanganan event internal SPTM, GENTER, dan pemrosesan SVC/HVC (hypervisor call)
- Logika frame retyping: penjelasan bertahap tentang pemanggilan dan verifikasi, pemeriksaan validitas berdasarkan tipe/domain, pembaruan SPRR (Permission Remapping), hingga penyelesaian pemanggilan
- Proses page mapping dan perangkat pengamannya
Bab 6: Peran Secure Kernel
- Dasar operasi keamanan seperti pemanggilan Secure Kernel ke SPTM dan pemrosesan SVC
Bab 7: Sistem Exclaves
- Komponen utama seperti Exclaves, Exclavecore, dan ExclaveKit
- Pengelolaan memori dan sumber daya Exclave, pengelompokan per domain, state machine conclave (sub-area), serta interaksi ruang pengguna
- Metode komunikasi seperti pembuatan dan penjadwalan endpoint, Mach port, IPC bergaya seL4, xnuproxy, Tightbeam, serta contoh penggunaan nyata (misalnya indikator privasi)
Bab 8: TXM (Trusted Execution Monitor)
- Cara TXM terintegrasi dengan SPTM, struktur dispatch, retyping, dan pengoperasian area perlindungan
- Penjelasan tentang tanggung jawab keamanan TXM dan cara pemrosesan pemanggilannya
Bab 9~10: Diskusi umum dan kesimpulan
- Implikasi keamanan dari penerapan SPTM dan Exclaves, keterbatasan saat ini, serta arah masa depan
- Penutup riset serta lampiran berisi referensi dan penjelasan istilah
Penjelasan istilah utama
- XNU: kernel inti sistem operasi Apple, singkatan dari ‘X is Not Unix’
- SPTM: modul inti yang memberikan domain kepercayaan melalui perlindungan dan pemisahan memori
- TXM: pengawas keamanan yang menangani tugas sensitif seperti verifikasi penandatanganan kode
- Exclaves: lingkungan keamanan tepercaya yang dijalankan secara terisolasi di area fisik maupun logis yang terpisah
- Tightbeam IPC: framework yang mendukung komunikasi aman antara Exclaves dan sistem
- GXF/GL: exception level perlindungan berdasarkan AArch64 serta fungsi kontrol zona kepercayaan horizontal berbasis Guarded Level yang ditambahkan di atasnya
Kesimpulan
Struktur keamanan iOS modern sedang berevolusi ke arah yang memaksimalkan pemisahan kepercayaan dan pembagian peran dengan SPTM, TXM, dan Exclaves sebagai pusatnya. Sistem perlindungan berlapis ini secara drastis mengurangi risiko kompromi pada lapisan bawah kernel, sekaligus menyediakan fondasi teknis untuk menghadapi ancaman keamanan masa depan dengan lebih tangguh.
1 komentar
Komentar Hacker News
Saya merasa tim SEAR dan Apple benar-benar melakukan pekerjaan yang luar biasa di keamanan iOS, dan pantas mendapat pujian besar untuk itu
Upaya menanamkan fitur keamanan di seluruh stack, mulai dari level hardware, juga sangat mengesankan, dan mereka terus meneliti exploit ITW (serangan di dunia nyata) serta cara mencegahnya
Misalnya, mereka pernah memperkenalkan fitur seperti PPL, tetapi ketika menyimpulkan bahwa itu tidak sempurna, mereka berani meninggalkannya dan mencari teknik baru
Apple memiliki struktur integrasi vertikal, jadi hal seperti ini jauh lebih mudah dilakukan dibandingkan Android. Di Android, perlu meminta kolaborasi dari vendor hardware (QC, Mediatek), lalu melewati berbagai tahapan seperti kernel Linux, AOSP, LLVM upstream, dan lain-lain
Pointer Authentication Codes (PAC) juga merupakan contoh yang baik. Apple mengadopsinya dengan sikap “mari kita coba sendiri” sambil memelihara branch LLVM mereka sendiri, dan benar-benar menyelesaikan masalah dengan menanggulangi serangan berbasis ITW
Alasan saya membeli produk Apple bukan semata-mata karena keamanan dan privasinya unggul, tetapi karena Apple mendorong fitur-fitur seperti ini dengan antusias dan sungguh-sungguh meskipun itu bukan sesuatu yang mutlak harus mereka lakukan demi menghasilkan uang
Pada praktiknya, lebih dari sekadar promosi marketing, mereka merekrut para hacker terbaik dari komunitas jailbreaking ke tim keamanan, lalu menghadirkan inovasi seperti Private Relay, private mail, trusted compute, dan multi-party inference
Tentu saja, ada juga masalah yang jelas pada sikap Apple yang munafik. Misalnya, mengizinkan VPN (kecuali trafik yang menuju server Apple), default yang menjamin privasi (kecuali Wi‑Fi calling atau “journaling suggestions”), dan hal-hal seperti itu tetap mengecewakan
Pada dasarnya memang ada syarat bahwa Anda tidak benar-benar aman dari Apple dan beberapa mitra operatornya, tetapi tetap saja dibandingkan Google yang terasa seperti “aman untuk semua orang kecuali Google atau pembeli iklan Google”, menurut saya Apple jauh lebih unggul
Bahkan setelah upaya rekayasa yang luar biasa besar, iMessage masih menyisakan jalur yang memungkinkan kode mencurigakan berjalan di kernel, dan karena itu exploit 0-click masih terus ada
Keuntungan lain dari upaya seperti ini adalah, begitu sebuah jalur kode dijalankan setidaknya sekali di prosesor baru yang telah diperkuat keamanannya oleh Apple, keamanan di semua platform ikut meningkat secara alami
Secara teori, masalah yang sulit ditangkap hanya dengan analisis statis bisa lebih mudah terdeteksi, dan kita juga bisa mendapatkan insight yang lebih dalam daripada sekadar crash sederhana
Sebenarnya Google juga sudah bisa menambahkan MTE sejak beberapa tahun lalu, tetapi mereka tidak ingin memaksakan penerapannya ke OEM sebagai bagian dari sertifikasi Android
Seperti update OS, pada akhirnya sejarah yang mirip terulang lagi
Alasan Apple memperhatikan keamanan saat ini bukan semata-mata untuk melindungi pengguna
Pada dasarnya ini untuk mempersulit pengguna menjalankan software yang tidak disetujui secara langsung atau melakukan hal-hal seperti jailbreak, sehingga monopoli App Store tetap terjaga
Pada akhirnya, menurut saya mereka mendahulukan kepentingan perusahaan, bukan kepentingan pengguna
Setiap kali membaca tentang keamanan iOS, saya selalu terkejut dengan tingkat kompleksitasnya
Ada banyak lapisan, seperti tahap hardware, tahap kernel, dan berbagai teknik sandboxing
Saya penasaran apakah struktur seperti ini adalah “tambal sulam yang ditambahkan di atas desain lama yang mengasumsikan adanya kepercayaan”
Jika dirancang ulang dari awal, apakah bisa dibuat lebih sederhana, dan apakah benar-benar ada sistem operasi (OS) yang dirancang seperti itu
Kerentanan tak bisa dihindari selama sebuah platform mendukung beragam use case
Cara menanganinya adalah defence-in-depth
iOS berbasis MacOS, dan MacOS berbasis NeXT, yang akarnya adalah Unix
Sejak awal memang dirancang dengan asumsi tingkat kepercayaan pengguna yang rendah
Seiring zaman, tingkat kepercayaan terhadap pengguna juga berubah, dan belakangan ini semuanya menjadi semakin kompleks karena fitur jaringan yang selalu terhubung serta ancaman baru pasca-Spectre
Untuk menjawab pertanyaan apakah ini tambal sulam atas keputusan desain historis, saya rasa iya
Ini adalah hasil dari upaya menutupi keterbatasan model keamanan Unix dan pemrograman sistem berbasis bahasa C
Jika dirancang ulang dari awal, mungkin kompleksitasnya bisa dikurangi dengan menerapkan capability architecture dan semacamnya, tetapi karena masalah kompatibilitas POSIX, pada praktiknya kebanyakan hanya ada di ranah akademik/hobi
Jika beralih ke model yang benar-benar baru, sebagian besar program Unix yang ada harus langsung ditinggalkan, jadi adopsi nyata sangat sulit dilakukan
seL4 adalah struktur microkernel yang cepat, sangat aman, dan telah diverifikasi secara formal
Sangat unggul dalam hal kontrol akses tingkat tinggi, dukungan virtual machine, dan sebagainya
Tulisan penjelasan arsitektur microkernel seL4
Namun karena “bagian sisanya” tidak ada, saya rasa ini lebih dekat ke riset daripada sistem operasi yang benar-benar praktis
Saya rasa mungkin keduanya bisa dicoba
“Keamanan hardware” juga punya asumsi kepercayaannya sendiri, tetapi pada akhirnya itu tetap software yang di-hardcode, jadi semakin tinggi kompleksitasnya, semakin besar pula kemungkinan munculnya bug
Dalam keynote Ivan Krstić di Hexacon kali ini, Apple mengumumkan bahwa mereka akan memperkuat program bug bounty
Blog resmi terkait
Saya penasaran apakah masalah koneksi plaintext (tidak terenkripsi) saat update berkala atau menjalankan aplikasi sudah diselesaikan
Referensi terkait