1 poin oleh GN⁺ 2025-03-10 | 1 komentar | Bagikan ke WhatsApp

Masalah pada kernel sistem operasi monolitik

  • Sistem operasi modern umumnya dibagi menjadi dua domain perlindungan utama:
    • Domain non-istimewa (mode pengguna): program tidak dapat langsung melakukan operasi kuat seperti akses file atau komunikasi jaringan
    • Domain istimewa (mode kernel): ketika program meminta kernel menjalankan suatu tugas melalui system call, kode kernel menjalankan tugas tersebut lalu mengembalikan hasilnya ke mode pengguna
  • Sebagian besar sistem operasi menggunakan desain kernel monolitik:
    • Kernel memiliki hak akses tanpa batas ke seluruh perangkat keras, memori, dan data pengguna di sistem
    • Ini tidak masalah jika perangkat lunak bebas cacat dan tidak ada upaya pelanggaran keamanan, tetapi pada praktiknya bug dan kerentanan keamanan memang ada
    • Karena ukuran kernel monolitik besar, kemungkinan munculnya kerentanan keamanan lebih tinggi, dan satu kerentanan saja dapat berisiko merusak seluruh sistem
  • Desain mikrokernel memperkuat keamanan dengan menghapus sebagian besar fungsi dari kernel dan menanganinya sebagai proses non-istimewa terpisah:
    • Dapat memperkuat keamanan
    • Dapat menimbulkan penurunan performa dan peningkatan kompleksitas perangkat lunak aplikasi
    • Meski begitu, kernel monolitik tetap luas digunakan karena keunggulan performanya
  • Kernel XNU milik Apple:
    • Kernel yang digunakan bersama di iOS, macOS, tvOS, visionOS, dan watchOS
    • Merupakan mikrokernel berbasis Mach, tetapi karena sebagian besar fungsi sistem berjalan dalam cakupan istimewa yang sama, pada praktiknya ia bekerja seperti kernel monolitik
    • Karena itu, kerentanan keamanan yang sama seperti pada kernel monolitik juga dapat muncul

Upaya isolasi

  • Berbagai teknologi isolasi berbasis perangkat lunak dan perangkat keras telah dicoba:
    • Microsoft Virtualisation-based Security (VBS) – digunakan di Credential Guard pada Windows
    • Intel Software Guard Extension (SGX) dan VT-X2
    • ARM TrustZone – digunakan di Samsung Knox, Samsung Pay, Android Verified Boot, keamanan input PIN Android, dan lainnya

Apple juga secara bertahap memperluas upaya memisahkan data dari kernel

  • 2013 — Apple Secure Enclave

    • Pertama kali diperkenalkan pada iPhone 5s tahun 2013
    • Secure Enclave berjalan pada inti CPU independen yang diperkeras, dan beroperasi di atas OS berbasis mikrokernel SepOS
      • Kernel SepOS menggunakan cL4, mikrokernel embedded L4 kustom milik Apple
      • Menyimpan dan melindungi data sensitif seperti kunci kriptografi dan informasi biometrik (misalnya Face ID)
      • Beroperasi secara independen dari kernel iOS dan hanya menyediakan layanan ke iOS melalui interaksi yang diamankan
      • Bahkan jika kernel iOS dikompromikan, Secure Enclave tidak akan terpengaruh kecuali terjadi eksploitasi tambahan
    • Perlu dicatat bahwa Secure Enclave dan Secure Exclave adalah konsep yang berbeda
  • 2017 — Page Protection Layer (PPL)

    • Fitur keamanan yang diperkenalkan pada prosesor A11 di iPhone 8 dan iPhone X
    • Fitur berbasis perangkat keras + perangkat lunak yang memberi hak modifikasi tabel halaman memori hanya pada bagian tertentu dari kernel
      • Sisa kernel dibatasi dari hak memodifikasi tabel halaman
      • Permukaan serangan mengecil sehingga upaya bypass menjadi lebih jarang
    • PPL menambahkan lapisan perlindungan, tetapi karena sebagian besar hak kernel tetap dipertahankan, penguatan keamanannya masih terbatas
  • 2021–2023 — Secure Page Table Monitor (SPTM)

    • Fitur baru yang diperkenalkan pada prosesor A15 di iPhone 13 dan iOS 17
    • Menggantikan PPL, melindungi fungsi memori tambahan, dan memisahkannya ke beberapa subsistem
    • Memperkuat keamanan melalui verifikasi penandatanganan kode dan memastikan hanya kode yang ditandatangani Apple yang dapat dijalankan
    • Pada periode ini, mulai muncul penyebutan tidak langsung tentang exclave dalam kode sumber XNU
      • Muncul dugaan bahwa subsistem yang dikelola SPTM mungkin adalah exclave
  • 2024 — Exclave: perombakan besar model keamanan XNU

    • Konsep exclave muncul dalam kode sumber XNU yang mendukung prosesor M4 dan A18
    • Pada prosesor sebelumnya, exclave tidak diaktifkan
    • Menjadi jelas bahwa exclave adalah hasil dari redesain besar terhadap model keamanan XNU
  • XNU Exclaves

    Penafian: struktur internal exclave tidak sepenuhnya open source, jadi sebagian isi dapat berupa dugaan atau interpretasi

    • Exclave adalah kumpulan fitur baru yang secara signifikan memperkuat model keamanan kernel monolitik XNU yang ada
    • Exclave adalah sumber daya yang diisolasi dari XNU, dan tetap terlindungi meskipun kernel dikompromikan
    • Karakteristik exclave:
      • Didefinisikan sebelumnya saat build OS
      • Diidentifikasi dengan nama atau ID
      • Terdiri dari berbagai jenis
      • Diinisialisasi saat boot
      • Diorganisasikan ke dalam domain independen
      • SPTM melindungi memori exclave dengan tipe halaman khusus baru untuk exclave
    • Jenis sumber daya exclave
      • Buffer memori bersama – dapat diakses baik oleh kernel maupun exclave
        • Di XNU dapat diatur sebagai hanya-baca atau baca/tulis
      • Buffer audio dan sensor – memperkuat keamanan indikator akses kamera dan mikrofon
      • Conclave – mengelompokkan banyak sumber daya ke dalam domain keamanan sendiri, dengan Conclave Manager untuk mengelolanya
      • Service – mengeksekusi kode di exclave saat thread XNU memanggilnya
  • Kernel aman — berbasis seL4?

    • Untuk menjalankan service exclave secara independen dari XNU, diperkenalkan kernel baru Secure Kernel (SK)
    • String versi "cL4" ditemukan dalam berkas image SK
    • Ada kemungkinan besar SK berbasis seL4, bukan kernel cL4 (berbasis L4) Apple yang lama
      • Struktur IPC yang digunakan XNU saat berkomunikasi dengan SK mirip dengan struktur seL4
      • Dalam string yang digunakan SK ditemukan banyak konsep yang dipakai seL4 (misalnya capabilities, frames, untyped memory, dll.)
    • Bergabungnya Apple ke seL4 Foundation pada April 2024 mungkin bukan kebetulan
      • Kernel untuk prosesor C1 (chip baseband baru Apple) juga tampak berbasis L4
  • Secure World — ARM TrustZone?

    • SepOS berjalan di prosesor terpisah, sedangkan SK berjalan di prosesor aplikasi berkecepatan tinggi
    • Ini memerlukan tingkat hak istimewa prosesor tambahan → kemungkinan diimplementasikan dengan salah satu dari berikut:
      • Dukungan ekstensi virtualisasi
      • Ekstensi SPTM milik Apple
      • Kemungkinan terbesar adalah memanfaatkan teknologi ARM TrustZone
    • Struktur TrustZone
      • Membagi sistem menjadi dua world:
        • Secure World – menjalankan kode aman
        • Insecure World – menjalankan kode umum (XNU dan iOS berjalan di sini)
      • Dalam kode sumber XNU ditemukan banyak penyebutan tentang perpindahan antara Secure World dan Insecure World milik TrustZone
        • Apple tampaknya menerapkan model service exclave alih-alih Trusted Application model yang diusulkan TrustZone
      • SK menyediakan service dan sumber daya exclave di lingkungan yang terisolasi → memperkuat keamanan
        • Diperkirakan akan sangat sulit keluar dari Secure World ke Insecure World lalu mengompromikan XNU
    • RINGGATE
      • Ada kemungkinan Apple menggunakan SPTM untuk mengelola perpindahan Secure World ↔ Insecure World
      • Dalam kode, perpindahan ini disebut sebagai "RINGGATE"

Kesimpulan

  • Makna dari adopsi exclave
    • Untuk menghadapi serangan berkelanjutan dari aktor ancaman tingkat lanjut, Apple memperkenalkan exclave guna memperkuat tingkat keamanan sistem operasinya
    • Dengan mengisolasi sumber daya sensitif, efek berikut diharapkan dapat dicapai:
      • Mengurangi permukaan serangan
      • Mengurangi dampak dari satu kerentanan kernel
  • Pertahanan kernel monolitik adalah tantangan tanpa akhir, dan exclave adalah salah satu pendekatan untuk menanganinya
    • Belum jelas apakah ini arah yang tepat dalam jangka panjang, atau hanya solusi sementara
    • Harapan pribadi → di masa depan akan ada redesain berbasis CHERI dan ARM Morello 😊
    • Namun untuk saat ini, ini adalah upaya pertahanan terbesar di antara produsen perangkat konsumen
  • Artikel ini tidak secara jelas membahas komponen mana saja yang telah dipindahkan ke exclave
    • Dari image build, elemen berikut tampak berjalan di exclave:
      • Indikator kamera/mikrofon aman
      • Sebagian fungsi Apple Neural Engine (ANE)
      • Sebagian device driver
      • Komponen komunikasi dengan Secure Enclave
  • Kemungkinan lebih banyak komponen akan dipindahkan ke exclave ke depannya
    • Efektivitas keamanan exclave bergantung pada tingkat optimalisasi dari proses pemindahan ini
  • Ada kemungkinan exclave digunakan dalam infrastruktur Apple Private Cloud Compute
    • Dapat memberikan tingkat keamanan dan privasi yang tinggi pada AI berbasis cloud

1 komentar

 
GN⁺ 2025-03-10
Komentar Hacker News
  • SoC terbaru Apple mendukung virtualisasi bersarang, dan pada M4 iPad Pro, exclave digunakan untuk LED kamera
    • Berharap revisi berikutnya dari panduan Apple Platform Security akan membahas exclave SK dan mitigasi baseband untuk deteksi radar Wi-Fi
  • Ada beberapa tambahan spesifik Apple terhadap SPTM
    • XNU sedang direfaktor menjadi arsitektur yang terinspirasi mikrokernel, dengan tujuan mengurangi basis kode dan memisahkan tugas yang sensitif terhadap keamanan
    • Isolasi ruang memori dilakukan dengan bantuan Secure Page Table Monitor (SPTM)
    • Tugas sensitif terhadap keamanan seperti penandatanganan kode, verifikasi otorisasi, mode pengembang, dan mode eksekusi terbatas ditangani oleh Trusted eXecution Monitor (TXM)
  • Kemungkinan besar dilakukan melalui teknologi TrustZone milik ARM
    • Kode sumber XNU mencakup beberapa referensi tentang transisi ke konsep secure world milik TrustZone
    • Ada lebih dari 150 CVE TrustZone
  • Beberapa tahun lalu Google mengimplementasikan pKVM di Pixel menggunakan virtualisasi bersarang berbasis perangkat keras, lalu meng-upstream kodenya ke Linux mainline
    • Namun, selain VM Debian "Linux Terminal", mereka belum mengumumkan fitur pertahanan yang menggunakan pKVM/AVF
  • Steve percaya bahwa laptop adalah buku harian, dan merasa memiliki tanggung jawab atas hal itu
    • Jika Tim tidak berbagi keyakinan Steve, ia tidak akan menjadi CEO
    • Ada pendapat yang mengatakan Steve dirindukan
  • Apple sedang merekonstruksi kernel XNU menjadi exclave
    • Penulis artikel ini menulis artikel yang sangat canggih dan rapi
    • Sebagai orang yang mengikuti exclave, ini terasa ditulis dengan baik
  • Tidak terbiasa dengan tingkat pengetahuan seperti ini, tetapi penasaran apakah enclave itu sendiri bisa diserang untuk memperoleh hak istimewa yang lebih tinggi daripada kernel
    • Juga penasaran apakah perangkat keras ini semacam koprosesor
  • Penasaran dengan dampaknya terhadap keamanan macOS
    • Menurut dokumentasi Apple, SPTM tidak digunakan
    • Exclave yang saat ini menampilkan indikator kamera tidak berlaku untuk macOS, tetapi mungkin bisa berlaku di masa depan
  • Apple sangat mahir melindungi "perkebunan" mereka
    • Namun penasaran apa yang melindungi kita dari mereka
    • Bertanya apakah pernah terpikir kemungkinan adanya "geohot terakhir"
  • Apple mungkin dapat menggunakan SPTM untuk mengelola transisi antara secure world dan non-secure world
    • Karena tidak ada TrustZone