1 poin oleh GN⁺ 2023-12-28 | 1 komentar | Bagikan ke WhatsApp

Rantai serangan 'Operation Triangulation'

  • Mengirim lampiran iMessage berbahaya yang diproses oleh aplikasi tanpa sepengetahuan pengguna.
  • Lampiran ini memanfaatkan kerentanan eksekusi kode jarak jauh CVE-2023-41990 pada perintah font ADJUST TrueType milik Apple yang tidak terdokumentasi.
  • Menggunakan multi-tahap yang ditulis dengan return/jump-oriented programming serta bahasa kueri NSExpression/NSPredicate untuk menambal lingkungan library JavaScriptCore dan menjalankan eksploitasi eskalasi hak akses yang ditulis dalam JavaScript.
  • Eksploitasi JavaScript dibuat sangat terobfuskasi hingga nyaris tidak dapat dibaca dan ukurannya diminimalkan. Sekitar 11.000 baris kode sebagian besar dialokasikan untuk parsing dan manipulasi memori JavaScriptCore serta kernel.
  • Dengan memanfaatkan fitur debugging DollarVM($vm) milik JavaScriptCore, penyerang memperoleh kemampuan untuk memanipulasi memori JavaScriptCore dari skrip dan menjalankan fungsi API native.
  • Dirancang untuk mendukung iPhone lama maupun baru, termasuk bypass Pointer Authentication Code(PAC) untuk mengeksploitasi kerentanan pada model terbaru.
  • Memanfaatkan kerentanan integer overflow CVE-2023-32434 pada system call pemetaan memori XNU (mach_make_memory_entry dan vm_map) untuk memperoleh akses baca/tulis ke seluruh memori fisik perangkat dari level pengguna.
  • Menggunakan register memory-mapped I/O(MMIO) perangkat keras untuk melewati Page Protection Layer(PPL). Ini dimitigasi melalui CVE-2023-38606.
  • Setelah semua kerentanan dimanfaatkan, eksploitasi JavaScript dapat melakukan operasi apa pun yang diinginkan pada perangkat. Alih-alih langsung menjalankan spyware, ia dapat menyuntikkan payload yang memulai proses IMAgent dan menghapus jejak eksploitasi dari perangkat, atau menjalankan proses Safari dalam mode tak terlihat untuk meneruskan ke halaman web tahap berikutnya.
  • Halaman web tersebut memiliki skrip yang memverifikasi korban, dan jika lolos pemeriksaan akan menerima tahap berikutnya, yaitu eksploitasi Safari.
  • Eksploitasi Safari menggunakan CVE-2023-32435 untuk menjalankan shellcode.
  • Shellcode menjalankan eksploitasi kernel lain dalam bentuk berkas objek Mach. Ini menggunakan kerentanan yang sama, yaitu CVE-2023-32434 dan CVE-2023-38606. Ukurannya besar dan fungsinya luas, tetapi sepenuhnya berbeda dari eksploitasi kernel yang ditulis dalam JavaScript. Meski ada bagian terkait yang dibagikan oleh keduanya, sebagian besar kodenya dialokasikan untuk parsing dan manipulasi memori kernel. Ini mencakup berbagai utilitas pasca-intrusi, tetapi sebagian besar tidak digunakan.
  • Eksploitasi tersebut memperoleh hak akses root dan menjalankan tahap lain untuk memuat spyware.

Misteri dan kerentanan CVE-2023-38606

  • Model iPhone terbaru memiliki perlindungan keamanan tambahan berbasis perangkat keras untuk area sensitif pada memori kernel.
  • Perlindungan ini mencegah penyerang mengambil alih perangkat sepenuhnya meskipun mereka dapat membaca dan menulis memori kernel.
  • Penyerang melewati perlindungan keamanan berbasis perangkat keras ini dengan menggunakan fitur perangkat keras lain pada SoC yang dirancang Apple.
  • Penyerang melewati perlindungan memori berbasis perangkat keras dengan menulis data, alamat tujuan, dan hash data ke register perangkat keras tak dikenal pada chip yang tidak digunakan oleh firmware.
  • Fitur perangkat keras tak dikenal ini diduga dimaksudkan untuk digunakan oleh insinyur Apple atau di pabrik untuk keperluan debugging atau pengujian, atau bisa juga tersertakan secara tidak sengaja.

Detail teknis

  • Berbagai periferal pada SoC menyediakan register perangkat keras khusus yang dapat digunakan CPU untuk mengoperasikan perangkat-perangkat ini.
  • Register perangkat keras ini dipetakan ke memori yang dapat diakses CPU, dan dikenal sebagai "memory-mapped I/O(MMIO)".
  • Rentang alamat MMIO periferal pada produk Apple(iPhone, Mac, dll.) disimpan dalam format berkas khusus bernama DeviceTree.
  • Sebagian besar MMIO yang digunakan dalam serangan tidak termasuk dalam rentang MMIO mana pun yang didefinisikan di DeviceTree.
  • Tidak jelas bagaimana penyerang mengetahui MMIO yang tidak digunakan firmware ini, atau periferal mana yang memiliki alamat MMIO tersebut.
  • Register MMIO ini telah diidentifikasi sebagai milik koprosesor GPU.
  • Penyerang menggunakan register MMIO ini untuk melewati Page Protection Layer(PPL) dan menambal entri tabel halaman.
  • Metode perhitungan hash memungkinkan fitur perangkat keras yang digunakan dalam serangan melakukan operasi direct memory access(DMA) ke lokasi memori yang diminta.

Opini GN⁺

  • Riset ini mengungkap rantai serangan yang sangat canggih terhadap iPhone. Ini merupakan temuan yang sangat penting bagi peneliti keamanan dan dapat berkontribusi pada penguatan keamanan produk Apple.
  • Bagaimana penyerang mengetahui fitur perangkat keras yang tidak digunakan firmware masih menjadi misteri. Ini menekankan pentingnya riset keamanan perangkat keras.
  • Tulisan ini menawarkan materi yang sangat menarik bagi orang-orang yang tertarik pada keamanan perangkat lunak dan perangkat keras. Metode serangan yang sangat kompleks serta proses analisisnya menunjukkan kedalaman dan pentingnya riset keamanan.

1 komentar

 
GN⁺ 2023-12-28
Opini Hacker News
  • Hal yang mengejutkan tentang penyalahgunaan MMIO

    • Para penyerang memiliki kemampuan riset yang sangat tinggi, atau yang lebih mungkin, mereka meretas Apple untuk memperoleh dokumentasi perangkat keras internal.
    • Apple mengetahui bahwa fitur tersebut berbahaya, menyembunyikannya, dan menambahkan perlindungan tambahan dengan fungsi tanda tangan digital.
    • Tidak mungkin menemukan fitur ini tanpa pembongkaran silikon dan rekayasa balik, jadi ada kemungkinan mereka meretas pengembang untuk mencuri dokumen internal.
    • Metode meretas ulang melalui Safari dengan menggunakan rantai kerentanan lain menunjukkan organisasi besar yang secara internal sangat terpisah.
    • Mengingat para penelitinya adalah orang Rusia, besar kemungkinan ini adalah pekerjaan NSA atau GCHQ.
    • Malware dapat mengaktifkan pelacakan iklan dan mendeteksi hosting layanan iPhone cloud yang sering digunakan para peneliti keamanan.
    • Platform malware iOS/macOS telah dikembangkan selama lebih dari 10 tahun, dan menggunakan ML untuk pengenalan objek serta OCR pada foto di perangkat tanpa mengunggah byte gambar.
    • Saya tidak setuju dengan klaim bahwa obscurity melalui keamanan tidak efektif. Platform ini telah digunakan tanpa diketahui selama 10 tahun.
  • Ringkasan Twitter Steve Weis

    • Kerentanan iMessage ini mengejutkan, karena mencakup kerentanan TrueType yang sudah ada sejak era 90-an, 2 kerentanan kernel, kerentanan browser, dan fitur perangkat keras tak terdokumentasi yang tidak digunakan dalam perangkat lunak yang dirilis.
  • Penjelasan tentang Coresight

    • Coresight bukan backdoor, melainkan fitur debug pada semua CPU ARM.
    • Tampaknya ini adalah ekstensi Coresight yang diperlukan agar dapat bekerja bersama fitur perlindungan memori Apple.
    • Meski tidak ada dokumentasi publik, ribuan engineer Apple kemungkinan memiliki akses ke gdb yang dimodifikasi atau alat lain yang memanfaatkannya.
  • Spekulasi tentang kemungkinan menemukan register MMIO

    • Pertanyaan tentang kemungkinan menemukan register MMIO dengan menjelajahi secara acak semua alamat register.
    • Hanya dari perbedaan timing saja mereka mungkin bisa mengetahui bahwa itu adalah alamat yang valid, dan hashnya sebagai hash 20-bit juga mungkin bisa dipecahkan dengan brute force.
  • Pertanyaan tentang penggunaan hash pada fitur debug chip

    • Pertanyaan tentang tujuan penggunaan hash pada fitur debug yang seharusnya dinonaktifkan di produksi.
    • Saya bukan engineer elektronik, tetapi fitur debug sebaiknya bekerja secara sederhana dan cepat untuk meminimalkan interferensi.
    • Kemungkinan penyerang rantai pasok menanamkan ini ke semua chip Apple sangat rendah.
  • Pengamatan tentang karakteristik algoritma hash

    • Saat semua data bernilai 0, nilai hash juga 0, dan untuk satu bit tunggal, nilainya adalah satu nilai tunggal dari tabel sbox.
    • Algoritma hash seperti ini mungkin bisa direkayasa balik tanpa dokumentasi internal.
  • Kekaguman terhadap upaya para penyerang

    • Ada rasa penasaran apakah para penyerang seperti ini merasa frustrasi karena tidak mendapat pengakuan atas pekerjaan mereka.
  • Penjelasan tentang fitur yang dimanfaatkan penyerang

    • Para penyerang dapat melewati perlindungan memori berbasis perangkat keras dan menulis data ke alamat fisik tertentu.
    • Caranya adalah dengan menulis data, alamat tujuan, dan hash data ke register perangkat keras tak dikenal pada chip yang tidak digunakan oleh firmware.
  • Pentingnya kerentanan yang baru ditemukan

    • Lebih penting mengetahui apakah kerentanan milik sendiri bisa dikompromikan daripada memperoleh kerentanan baru.
    • Ini dapat membantu mencegah operasi kontraintelijen.