4 poin oleh GN⁺ 2025-09-11 | 1 komentar | Bagikan ke WhatsApp
  • Apple memperkenalkan Memory Integrity Enforcement (MIE), menyempurnakan kerangka keamanan memori inovatif yang menggabungkan perangkat keras Apple Silicon dengan keamanan sistem operasi tingkat lanjut
  • MIE selalu aktif untuk melindungi permukaan serangan inti, dan diterapkan pada semua perangkat iPhone 17 dan iPhone Air tanpa penurunan kinerja
  • Dengan menggabungkan Enhanced Memory Tagging Extension (EMTE), allocator memori aman, dan kebijakan kerahasiaan tag, MIE secara signifikan meningkatkan ketahanan terhadap serangan berbahaya
  • Melalui pemeriksaan tag sinkron dan integrasi canggih antara sistem operasi dan perangkat keras, pemblokiran terhadap buffer overflow dan kerentanan use-after-free dimaksimalkan
  • Melalui riset agresif dan evaluasi internal selama bertahun-tahun, Apple berhasil membatasi keleluasaan penyerang dan mencapai tingkat keamanan memori terkuat hingga saat ini

Pendahuluan

  • Memory Integrity Enforcement (MIE) dari Apple adalah teknologi perlindungan keamanan memori yang selalu aktif, dengan mengintegrasikan perangkat keras Apple Silicon dan keamanan sistem operasi yang telah ditingkatkan
  • Teknologi ini dikembangkan dengan tujuan menghadirkan kerangka keamanan memori yang luas pertama di industri pada berbagai perangkat Apple, tanpa penurunan performa tambahan
  • Apple menilai ini sebagai kemajuan paling penting dalam sejarah keamanan memori sistem operasi konsumen

Latar belakang ancaman keamanan dan evolusi keamanan memori

  • Alasan iPhone tidak memiliki contoh sukses serangan malware berskala besar adalah karena ancaman nyata yang teramati hanya berupa rantai serangan kompleks yang berpusat pada mercenary spyware
  • Serangan tingkat lanjut seperti ini, yang menargetkan sedikit korban dengan biaya jutaan dolar, sama-sama mengeksploitasi kerentanan keamanan memori
  • Apple terus meningkatkan keamanan memori melalui pengembangan bahasa aman seperti Swift, penerapan allocator memori aman, dan mitigasi berskala besar di seluruh sistem
  • Apple pertama kali di dunia memperkenalkan Pointer Authentication Code (PAC) pada A12 Bionic, menetapkan bahwa keamanan gabungan perangkat keras dan perangkat lunak adalah arus utama

Teknologi penandaan memori berbasis perangkat keras (MTE/EMTE) dan mengatasi keterbatasannya

  • Memory Tagging Extension (MTE) yang diajukan Arm bekerja dengan memberikan tag rahasia pada setiap alokasi memori, sehingga akses hanya diizinkan dengan tag yang benar
  • Apple menemukan kelemahan desain asli MTE, seperti operasi asinkron, lalu bekerja sama dengan Arm untuk menyempurnakannya menjadi Enhanced Memory Tagging Extension (EMTE)
  • Inti dari desain ini adalah agar pemeriksaan tag bekerja dengan cara yang selalu sinkron, sehingga perlindungan diberikan secara berkesinambungan

Struktur berlapis MIE dan mekanisme perlindungan utama

  • MIE terdiri dari tiga komponen: allocator aman yang sadar tipe seperti kalloc_type, xzone malloc, dan libpas milik WebKit, lalu EMTE, serta kebijakan Tag Confidentiality Enforcement (perlindungan kerahasiaan tag)
  • Allocator memberikan perlindungan tingkat halaman memori antar tipe yang berbeda, sementara EMTE juga menangani kerentanan pada alokasi memori kecil dalam bucket tipe yang sama
  • Untuk serangan korupsi memori umum seperti buffer overflow dan use-after-free, perangkat keras dan sistem operasi langsung mendeteksi serta memblokirnya melalui penandaan dan penandaan ulang

Kerahasiaan tag dan strategi menghadapi serangan side-channel

  • Untuk mencegah penyerang menargetkan penyimpanan allocator dan kebocoran tag, Apple memperkenalkan perlindungan kuat seperti Secure Page Table Monitor
  • Untuk menghadapi serangan side-channel yang menyalahgunakan speculative execution, Apple Silicon dirancang agar dampak speculative execution yang disebabkan oleh informasi tag diblokir dari akarnya
  • Kerentanan Spectre V1 juga diblokir dengan cara yang efisien, sehingga pada sebagian besar kasus mata rantai serangan praktis berhasil diputus

Respons terpadu perangkat lunak dan perangkat keras serta penerapan umum

  • Dalam perancangan chip baru A19/A19 Pro, sumber daya perangkat keras tambahan dalam jumlah besar dialokasikan untuk penyimpanan dan verifikasi tag
  • MIE memprioritaskan allocator aman untuk melindungi area yang bisa diamankan melalui perangkat lunak, sementara EMTE diterapkan secara selektif dan presisi pada area yang tidak dapat dipertahankan lewat perangkat lunak
  • Strategi distribusinya juga dirancang secara cermat agar perangkat iPhone lama tetap dapat memperoleh sebanyak mungkin manfaat peningkatan keamanan memori

Evaluasi keamanan di lapangan dan analisis efektivitas

  • Tim riset serangan Apple membangun berbagai skenario serangan sejak tahap perencanaan MIE pada 2020 hingga 2025, dan berulang kali mencoba penetrasi nyata bahkan pada prototipe perangkat keras
  • Pada rantai exploit lama maupun baru, dipastikan bahwa dengan MIE sebagian besar tahap serangan diblokir secara mendasar
  • Bahkan sejumlah kecil kerentanan yang tersisa pun tidak dapat dieksploitasi secara stabil, sehingga kemungkinan dampak nyata turun tajam

Kesimpulan

  • Keamanan iPhone yang berada di tingkat tertinggi industri membatasi paparan terhadap serangan tingkat sistem bagi sebagian besar pengguna
  • MIE menetralkan strategi serangan mercenary spyware yang paling kompleks dan mahal di dunia nyata, sambil selalu melindungi sekitar 70 proses ruang pengguna utama, termasuk kernel
  • Hasil evaluasi menunjukkan bahwa MIE secara drastis meningkatkan biaya dan tingkat kesulitan eksploitasi kerentanan korupsi memori, dan efektif memblokir teknik serangan utama selama 25 tahun terakhir
  • MIE menjadi perubahan terbesar dalam sejarah keamanan memori sistem operasi konsumen pada iOS dan perangkat Apple

1 komentar

 
GN⁺ 2025-09-11
Komentar Hacker News
  • Kedua pendekatan tersebut sama-sama sampai pada kesimpulan yang sama. Memory Integrity Enforcement (MIE) secara mendasar memblokir sebagian besar strategi eksploitasi yang bisa digunakan penyerang. Bug korupsi memori pada dasarnya saling dapat dipertukarkan, tetapi MIE menutup terlalu banyak jalur eksploitasi pada tahap dasar sehingga rantainya tidak bisa dipulihkan hanya dengan menggantinya dengan bug baru. Seberapapun kerasnya upaya dilakukan, rantai bypass tidak bisa disusun ulang. Beberapa efek yang masih tersisa pun tidak andal, sehingga tidak cukup bagi penyerang untuk mengeksploitasinya dengan sukses. Ini adalah kabar yang sangat baik, dan meskipun sekilas mudah terlewat, ini adalah poin penting. Sebagian struktur ekonomi spyware bayaran bergantung pada rantai yang dapat dipertukarkan, sehingga pertahanan yang secara langsung menargetkan sifat ini sangat menarik
    • Saya penasaran apakah strategi Apple merupakan langkah menuju memory safety berbasis capability yang sepenuhnya lengkap seperti CHERI (lihat: Capability Hardware Enhanced RISC Instructions), atau justru sinyal bahwa Apple menilai sistem seperti itu tidak diperlukan
    • Saya juga ingin memperkenalkan pendekatan memory safety Google sebagai pembanding untuk kasus Apple. Google sudah serius terhadap memory safety sejak masa awal Chrome/Android, dan juga memimpin adopsi ASAN, syzkaller, serta Hardware MTE. Karena saya pernah menjadi penanggung jawab yang memimpin tim seperti ini, saya mengalami langsung berbagai kelebihan dan kekurangannya. Yang ingin dilakukan Google adalah memungkinkan verifikasi setingkat ASAN dinyalakan dan dimatikan sesuai kebutuhan. Menjadikannya selalu aktif sebagai mitigasi keamanan memiliki berbagai masalah selain overhead memori. Misalnya, ini bisa menyebabkan banyak crash yang terlihat pengguna secara tidak konsisten di semua perangkat. Dari sudut pandang developer, mau tak mau mereka hanya bisa benar-benar menguji pada perangkat yang mendukung MTE, yang jumlahnya sekitar 1 juta unit, jadi wajar jika banyak keluhan. Ada eksploit keamanan yang tertangkap oleh MTE, tetapi juga banyak bug tak berbahaya yang ikut tertangkap. Namun, untuk mitigasi saat runtime, belum jelas apakah ini selalu pilihan terbaik. Menurut saya, Google Security, Project Zero, dan pihak lain telah berupaya sangat keras untuk menangani CSV, tetapi kantor pusat kurang maksimal dalam memproductize MTE (tautan)
    • Mungkin ini bukan kabar baik bagi Vigilant Labs, tetapi tidak jelas apakah mereka benar-benar terdampak besar
  • Saya rasa pernyataan Apple bahwa "perlindungan memory safety harus selalu sinkron, aktif secara default, dan terus berjalan" lahir dari pengalaman, bukan dari sikap ideologis. Ini berbeda dengan perlindungan kernel awal mereka. Kernel Patch Protection (KPP) yang diperkenalkan di iOS 9 pada 2015 memeriksa secara asinkron apakah kernel telah dimodifikasi setiap beberapa menit ketika perangkat sedang idle. Pendekatan ini tidak terlalu dapat diandalkan dari sisi keamanan, dan memiliki cacat desain sehingga pernah dipublikasikan jailbreak yang sepenuhnya melewatinya. KPP tidak mencegah patch kernel sejak awal, melainkan hanya memicu panic saat terdeteksi. Artinya, jika penyerang menyelesaikan pekerjaannya cukup cepat lalu mengembalikannya, KPP bisa tidak mendeteksinya (lihat writeup)
    • Berdasarkan informasi internal, KPP dibuat secara terburu-buru sekitar saat KTRR pada A11 diperkenalkan, untuk secara sengaja menyamai sebagian tingkat keamanan yang setara pada SoC A11. Ini diimplementasikan dengan cara terbaik yang bisa dilakukan dalam timeline sesingkat itu, dan setelahnya pendekatan semacam ini tidak diulang lagi
    • Tampaknya bukan karena sejak awal mereka menyiapkannya secara prinsipil, melainkan karena mereka sampai pada kesimpulan ini saat perencanaan awal adopsi MTE. Tingkat keamanan Apple terus meningkat, dan di baliknya ada banyak pelajaran yang dipaksakan oleh pengalaman seperti jailbreak
    • Saya setuju bahwa sistem seperti ini sulit diimplementasikan secara sempurna sejak awal
  • Apple mengatakan bahwa “tidak ada serangan malware yang sukses dan meluas terhadap iPhone”, tetapi saya rasa spyware yang sudah ada sekarang pun hanya perlu sedikit modifikasi untuk langsung dipakai dalam serangan skala besar. Pada kenyataannya, pembedaan ini tidak terlalu jelas
    • Baik Apple maupun Google pada praktiknya tidak bisa mengetahui skala serangan yang sebenarnya secara sempurna. Menurut materi bocor yang dipublikasikan GrapheneOS, para pengembang eksploit jauh lebih mampu dalam menyerang perangkat dan merespons update daripada yang dibayangkan orang. Ada juga materi tambahan yang belum dipublikasikan, dan jika tidak diverifikasi oleh beberapa sumber independen, hanya sebagian yang dibagikan untuk mencegah terungkapnya jalur kebocoran. Alat eksploit seperti ini tersedia luas, dan bahkan membedakan apakah penggunaannya untuk ekstraksi data sehari-hari atau eksploitasi jarak jauh pun tidak mudah. Dalam praktik nyata, eksploit jarang terdeteksi, dan karena kebanyakan bisa digunakan dalam skala besar tanpa terdeteksi, satu rantai pun tetap bernilai untuk waktu lama. Lembaga penegak hukum di seluruh dunia menggunakan alat seperti Cellebrite Premium terhadap banyak orang di perbatasan, lokasi demonstrasi, dan tempat lain. Ini sendiri sudah termasuk penggunaan dalam skala besar. Untuk eksploit jarak jauh, bahkan jika digunakan luas, tidak perlu didistribusikan secara luas
    • XcodeGhost adalah contoh representatif serangan malware iPhone skala besar. Saat itu WeChat dan lainnya ikut terinfeksi. Referensi: Wikipedia XcodeGhost
    • Tidak pasti apakah ini benar-benar bisa digunakan untuk serangan skala besar, tetapi jika tingkat paparannya setinggi Windows, mungkin akan ada jauh lebih banyak contoh
    • Kalimat tersebut kemungkinan terutama dimaksudkan untuk menonjolkan keunggulan model kontrol mereka sendiri dibanding Android
    • Walaupun terdengar seperti bahasa pengacara, tetap positif bagi kita semua bahwa Apple merilis materi yang sangat rinci dan pesan yang penuh keyakinan tentang teknologi baru seperti MIE kali ini
  • Sistem kali ini jelas mengesankan. Namun, jika penyerang bisa mencoba berkali-kali, pertahanannya mungkin tidak cukup. Misalnya, jika memungkinkan akses di luar batas hingga ke objek yang tidak bersebelahan, atau jika setelah banyak manipulasi alokasi memori tag kebetulan cocok, bypass bisa terjadi. Peluang tag cocok adalah 1/16. Namun, karena tidak ada penjelasan rinci di teks utama, saya tidak yakin apakah perkiraan saya benar. Jika ini benar-benar diterapkan dengan sukses, eksploit yang tersisa harus bergantung pada bug logika sehingga akan jauh lebih sulit bagi penyerang
    • Mirip dengan Android MTE, serangan probabilistik yang menargetkan masalah ukuran tag yang kecil (mencoba berkali-kali) juga dimungkinkan. Namun, perbedaan penting di sini adalah enforcement sinkron yang konsisten. Artinya, trap langsung terjadi pada setiap manipulasi penulisan memori, bukan saat context switch
    • Selain peluang 1/16 itu, 15/16 percobaan lainnya semuanya menyebabkan crash. Bug yang tidak stabil seperti ini mudah terlihat oleh pengguna atau sistem diagnostik, dan jika harus berhasil menyambungkan beberapa tahap sekaligus, maka secara probabilistik eksploitasi nyata nyaris mustahil
    • Pertahanan seperti ini mungkin tidak berlaku untuk serangan tingkat negara yang menyusup dalam waktu lama, seperti serangan supply chain
  • Model Apple/ARM tampaknya jauh lebih canggih, tetapi ini mengingatkan saya pada arsitektur memory tagging dari Burroughs large system (referensi)
  • Pada penjelasan “penyerang tidak boleh bisa memprediksi nilai tag yang dipilih sistem. Untuk itu, PRNG sering di-reseed untuk menghasilkan tag baru”, masalah mendasarnya adalah entropi tag yang rendah (hanya 4 bit). Jika penyerang menebak secara acak, peluang berhasil tetap 1/16, dan reseed PRNG tidak mengubah peluang itu. Sepertinya perlu penjelasan tambahan
    • Penyerang hanya punya satu kesempatan untuk menebak. Jika salah, proses akan dihentikan atau kernel akan panic. Saat mencoba lagi nanti, tag-nya sudah baru sehingga harus menebak lagi, jadi percobaan beruntun tidak dimungkinkan
    • Dengan 4 bit, jumlah kemungkinan terlalu sedikit. Alokasi memori terjadi jutaan kali per detik, dan walaupun reseed sering dilakukan, kemungkinan tabrakan akan meningkat sangat cepat
  • Kekuatan terbesar dari seri perangkat kali ini adalah fitur baru ini
  • Jika kebijakan seperti chat control di EU diterapkan, negara bisa mengakses apa pun yang diinginkan di perangkat saya, dan jika Google memaksakan WEI, seluruh web bisa terkunci. Dengan secure boot dan MIE diterapkan, pengguna mungkin akan sulit mendapatkan kembali kebebasan yang dulu dimiliki
    • Artinya, untuk menjaga kebebasan semacam ini, kita mungkin perlu lebih memisahkan sistem dan layanan (membalkankan)
    • Saya penasaran apakah penguatan MIE di sini juga memuat keluhan bahwa hal itu membatasi kebebasan pengguna seperti jailbreak
    • Saya penasaran apa itu WEI
  • Langkah Google yang tahun lalu menyediakan MTE secara opt-in adalah langkah awal yang baik, tetapi itu berbeda dari MIE berbasis EMTE yang ditekankan Apple karena kurangnya integrasi penuh. Menarik bahwa dengan peluncuran iPhone 17 dan Air, Apple menghadirkan sistem memory safety komprehensif yang selalu aktif pertama di industri. Meski disayangkan upaya perintis GrapheneOS (contoh rilis, peningkatan kesadaran) tidak mendapat sorotan yang semestinya, saya berharap upaya serius Apple segera menyebar ke Google, Pixel OS, dan berbagai OS keamanan lainnya. Ini kembali menegaskan GrapheneOS sebagai pelopor sistem yang bertahan bahkan terhadap ancaman yang belum diketahui
    • Apple telah mempersiapkan bidang ini sejak lama. Ini bukan dimulai sejak GrapheneOS mengaktifkannya
  • Ada kalimat, “Pada 2018, chip A12 Bionic menjadi yang pertama di industri yang menerapkan Pointer Authentication Codes (PAC) untuk melindungi integritas code flow)”, tetapi bahkan setelah PAC diperkenalkan, masih ada beberapa kasus serangan full chain. PAC bukanlah sarana penangkal serangan yang benar-benar berarti. Penyerang terus menemukan cara melewati PAC. Poin ini perlu dipertimbangkan saat menilai efektivitas MIE
    • Sebenarnya Apple tidak menyebut PAC sebagai sarana penangkal serangan, melainkan mengatakan bahwa peningkatan "kompleksitas eksploit" adalah hasilnya. Kalimatnya sendiri memang agak ambigu, tetapi menurut pembacaan saya ini adalah pengakuan bahwa PAC saja tidak cukup dan dibutuhkan pendekatan gabungan SW/HW. PAC sendiri adalah fitur HW yang membutuhkan perubahan SW, tetapi EMTE adalah teknologi yang membutuhkan cakupan dan koordinasi yang jauh lebih luas
    • Bukan berarti PAC tidak bermakna, justru ia berfungsi sebagai pendorong yang memaksa penyerang untuk menemukan cara bypass PAC. Cara bypass PAC tidaklah tak terbatas
    • Fakta bahwa PAC sudah beberapa kali dilewati tidak berarti ia tidak berguna; justru itu menunjukkan bahwa ia bekerja cukup efektif