1 poin oleh GN⁺ 2025-05-25 | 2 komentar | Bagikan ke WhatsApp
  • tachy0n adalah contoh publik dari eksploit jailbreak 0day terbaru untuk iOS 13.0~13.5
  • Bug ini adalah race condition pada system call lio_listio yang disebut Lightspeed, sebuah eksploitasi kerentanan kernel LPE (eskalasi hak istimewa)
  • Kerentanan ini benar-benar digunakan dalam beberapa proyek jailbreak seperti Spice dan unc0ver, dan artikel ini menjelaskan metode eksploitasi serta teknik peretasan terkait isu manajemen memori
  • Setelah exploit ini dipublikasikan, Apple menerapkan patch dan memperkenalkan regression test, serta sangat memperkuat isolasi objek kernel yang lebih kuat (Zone, kheap, dll.) dan fitur perlindungan pointer
  • Sejak iOS 14, lingkungan jailbreak dan kernel exploit berubah secara mendasar, sehingga tidak ada lagi kernel exploit publik yang tersedia

0. Pendahuluan

  • tachy0n adalah exploit lama yang berlaku untuk iOS 13.0 hingga 13.5
  • Pada 23 Mei 2020, exploit ini dipublikasikan sebagai 0day di unc0ver v5.0.0, dan hanya dalam 1 minggu Apple merilis patch darurat
  • Kerentanan ini sebelumnya juga pernah digunakan sebagai 1day, sehingga dinilai sebagai kasus yang bermakna dari sisi teknik eksploitasi
  • Ini adalah tulisan yang menguraikan secara rinci sumber kerentanan dan bagaimana kerentanan tersebut ditemukan

1. Lightspeed

  • Kerentanan ini adalah bug Lightspeed (CVE-2020-9859, dll.) yang dipublikasikan oleh Synacktiv, di mana masalah race condition terjadi saat membebaskan memori konteks I/O asinkron dari syscall lio_listio
  • Dengan mengatur timing operasi I/O untuk menciptakan kondisi double free pada memori, exploit ini dapat menumpuk beberapa objek di area memori yang sama melalui dua kali pembebasan objek
    • Exploit ini memanfaatkan struktur alokasi memori dinamis di zona kalloc.16 milik kernel
    • Pada dasarnya ini adalah metode yang meningkatkan peluang sukses dengan mengulangi race berkali-kali

2. Spice

  • Exploit ini pernah digunakan di jailbreak Spice yang dibuat oleh team Jake Blair
  • racoon dan app mengimplementasikan varian exploit yang berbeda, dan target utamanya adalah pemalsuan mach port
  • Pada era iOS 11.x, bypass terhadap PAN (Protection Against Null dereference) relatif mudah, dan berbagai teknik peretasan dicoba dengan menggabungkannya dengan kernel infoleak serta sandbox escape
  • Dalam kasus racoon, karena pembatasan akses IOKit, objek target untuk spray di zona kernel dibuat menggunakan OSUnserializeXML
  • Perbedaan detail seperti sysctl_procargsx, kebocoran uninitialized memory di kernel, kebijakan sandbox, serta perkembangan teknis lanjutan juga dijelaskan

3. unc0ver

  • Saat diterapkan di unc0ver, struktur exploit dirancang agar dapat bekerja di berbagai SoC yang luas termasuk A8~A13
  • Dengan melacak penumpukan dan overlap objek OSData, exploit ini mengendalikan area memori dengan membebaskan/mengalokasikan objek yang diinginkan pada waktu yang tepat
  • Menggunakan objek kernel seperti IOMemoryDescriptor, exploit ini mengekspos alamat buffer data yang dikendalikan pengguna dan mengimplementasikan baca/tulis langsung dari kernel
  • Exploit ini juga memanfaatkan secara tepat kelemahan dalam kebijakan allocator memori kernel iOS 13 seperti bypass zone_require
  • Implementasi rinci dari keseluruhan struktur exploit dapat dilihat di repositori GitHub publik (tachy0n)

4. Dampak lanjutan

  • Publikasi exploit 0day ini menimbulkan dampak besar pada komunitas keamanan dan Apple
    • Hanya 4 jam setelah exploit nyata dipublikasikan, Project Zero dan Synacktiv sudah melakukan analisis rinci dan respons
  • Setelah patch, Apple bahkan menambahkan regression test resmi untuk kerentanan tersebut ke XNU, menandai pergeseran ke arah penguatan strategi keamanan yang lebih mendasar
  • Sejak iOS 14, diperkenalkan perubahan besar seperti pemisahan area allocation, object secure guard, PAC (Pointer Authentication Code), struktur kheap, dll. yang sangat meningkatkan tingkat kesulitan pembuatan exploit
  • Kini strategi exploit itu sendiri menjadi jauh lebih penting, dan kesenjangan antara informasi publik dan riset privat makin besar, sehingga untuk iOS 17~18 bahkan tidak ada kernel exploit publik sama sekali

5. Kesimpulan

  • Ini adalah contoh yang dengan jelas menunjukkan bahwa bidang keamanan iOS/jailbreak telah berubah drastis dalam 5 tahun
  • Kasus ini memberi wawasan tentang bagaimana komunitas jailbreak/eksploitasi, para peneliti, dan arah teknis Apple telah berubah
  • Masa ketika IL dibagikan dan tantangan dilakukan bersama kini telah menjadi masa lalu, dan sejak iOS 14 pembagian informasi exploit menurun drastis

Referensi dan kontak

  • Source code terkait dan informasi lebih rinci dapat dilihat di situs pribadi Siguza dan repositori GitHub publik

2 komentar

 
ndrgrd 2025-05-26

Perangkat keras Apple memang hebat, tetapi perangkat lunaknya penuh dengan niat untuk mengekang pengguna.
Bahkan jika Anda hanya ingin menjalankan aplikasi yang Anda buat dan build sendiri di perangkat milik Anda, tetap perlu berlangganan seharga $100.

Kalau Anda adalah pengembang yang memakai aplikasi open source skala kecil hingga menengah dan membangunnya sendiri untuk dipakai,
daripada harus melakukan sideload dengan memanfaatkan celah di perangkat Apple sampai perlu jailbreak, lebih mudah pakai Android saja.

 
GN⁺ 2025-05-25
Opini Hacker News
  • Menurut saya, kunci dia bisa mengalahkan perusahaan raksasa seperti Apple itu sederhana, tapi membosankan dan repetitif: regression testing
    Disebutkan bahwa SockPuppet sebelumnya juga pernah dipakai untuk jailbreak pada era iOS 12, lalu setelah Ned Williamson dari Project Zero melaporkannya ke Apple dan ditambal di iOS 12.3, celah itu muncul lagi di iOS 12.4
    Kemungkinan Apple mem-fork XNU ke branch terpisah dan patch tersebut terlewat, dan masalah besarnya adalah pada dasarnya tidak ada regression test untuk kerentanan baru maupun lama seperti ini
    Saya sendiri pernah mengotomatisasi beberapa kerentanan 1-day yang sudah diketahui sebagai regression test, lalu langsung berhasil menemukan celahnya lagi
    Jadi saya penasaran apakah berbagai proyek open source seperti Linux, FreeBSD, OpenWRT, OpenSSH, dan lainnya juga menjalankan regression test untuk kerentanan lama di versi baru
    Kalau tiap kerentanan ditulis dalam bentuk otomatis dan ada kapasitas sumber daya untuk menjalankannya di CI, menurut saya manfaatnya akan sangat besar
  • Menekankan bahwa regression testing, yaitu pemeriksaan agar bug yang sudah diperbaiki tidak muncul lagi, adalah prosedur standar QA
    Berbagi pengalaman saat kuliah 20 tahun lalu menjadi sukarelawan QA di Mozilla, ketika sudah ada ratusan kasus regression test
    Kebanyakan terkait bug rendering/layout dan JS engine, dan jika test case yang diminimalkan sudah dibuat, strukturnya bisa langsung ditambahkan ke pipeline CI
    Bug itu sendiri memang tak terhindarkan, tetapi yang paling buruk adalah ketika bug yang sudah diperbaiki muncul lagi karena itu membuang waktu dan biaya, dan organisasi yang peduli kualitas pasti berinvestasi besar pada regression test
    Sayangnya, ada juga banyak organisasi yang mengabaikan QA atau hanya menyerahkannya ke outsourcing tanpa perhatian serius
    Sulit dipahami bahwa Apple tidak punya regression test terkait jailbreak
    Sejak dulu di Mozilla dan tempat lain sudah ada lingkungan QA serta CI/CD yang sangat baik dengan alat seperti Tinderbox dan Bugzilla, dan saya dulu mengira cara seperti ini sudah umum bahkan sebelum konsep DevOps populer, tetapi belakangan sadar ternyata tidak begitu
  • Saya lupa namanya, tetapi ada proyek open source yang memiliki test case untuk setiap issue
    Ada ribuan test case, dan sepertinya itu Sqlite
    Ditambahkan juga bahwa jika patch backport tidak dilakukan, kemungkinan besar test tersebut juga tidak akan ikut di-backport
  • Akar masalahnya di banyak organisasi adalah pemisahan isu keamanan ke workflow terpisah dan diperlakukan sebagai jenis bug yang berbeda
    Pada akhirnya hukum Conway (Conway's law) tetap berlaku antara keamanan dan pengembangan fitur
    Karena itu, bahkan di organisasi yang regression test-nya pada proses build/release sudah bagus, isu terkait keamanan tetap berpotensi terlewat karena struktur internal organisasi
  • Menanggapi pertanyaan “apakah proyek lain juga menjalankan regression test seperti ini”,
    pendapatnya adalah badan intelijen (G10, Rusia, China, Korea Utara, dan lain-lain) serta banyak kelompok swasta tentu saja melakukan regression test kerentanan dengan cara seperti ini
  • Saya bukan peneliti keamanan, tetapi secara pribadi sangat merasa relate dengan kasus ini
  • Tentang “lupakan semua pengetahuan soal pemisahan heap, berbagai teknik mitigasi, dan seterusnya”
    Diibaratkan seperti sedang berbicara dengan teman dalam bahasa asing lalu detik berikutnya topiknya tiba-tiba berubah ke bedah otak atau fisika nuklir sehingga pikiran langsung kosong
    Ini mengingatkan pada pengalaman dulu saat mencoba menerjemahkan percakapan tentang perbaikan pabrik baja
    Sayang sekali jailbreak kini nyaris menghilang; meski saya sendiri tidak terlalu memanfaatkan iPad yang sudah di-jailbreak untuk hal berguna, saya tetap merasa itu menyenangkan
    Kalau sekarang, saya ingin memasang aplikasi tethering atau UTM, serta solusi JIT
    SideStore terlihat menjanjikan dan ingin saya coba, tetapi akun Apple saya dulu adalah akun developer berbayar dan 10 app ID saya belum kedaluwarsa, jadi ada batasan untuk memasang aplikasi semacam itu
    Agar bisa, saya harus membuat akun baru atau membayar lagi
  • Saya punya pengalaman lama memakai iPhone 4 yang sudah di-jailbreak
    Tanpa jailbreak, sama sekali tidak ada alasan bagi saya untuk memakai iPhone sebagai ponsel utama, dan akhirnya saya pindah ke Android
    Saat itu Android juga sudah banyak menyusul dari sisi fitur dasar
  • Saya dengar sekarang Apple memberikan hadiah satu juta dolar untuk jailbreak, dan itu menjelaskan bahwa angka tersebut adalah harga minimum yang terbentuk di pasar
  • Sebenarnya batas harga ini sudah ditembus sejak 2015, dan dibagikan artikel tentang kasus 1 juta dolar
  • Saya penasaran, jika berhasil melakukan jailbreak dan ingin mendapat bayaran jutaan dolar dari Apple, bagaimana cara menghubungi mereka
    Apakah harus lewat broker perantara, apakah ada email atau jalur resmi, dan apakah ada risiko laporan itu hanya tenggelam di dukungan level pertama
  • Itulah harga pasar saat ini, dan dibagikan tautan artikel terkait bounty zero-day Zerodium
  • Jika strategi Apple memang benar, maka dengan memblokir semua cara mendapatkan hak root, Apple juga akan memperoleh kerentanan yang ditemukan gratis oleh pengembang jailbreak
  • Namun kenyataannya tidak begitu
    Seperti disebut dalam tulisan itu, komunitas privat masih tetap memiliki kerentanan dan Apple terus menambalnya
    Yang berkurang hanyalah jailbreak yang dipublikasikan ke publik
  • Mungkin meskipun arti katanya berbeda dalam konteks ini, orang tetap bisa cukup memahami makna slang tersebut
  • Mungkin ada yang mengira dialah yang pertama menciptakan kata itu, tetapi sebenarnya sudah ada contoh penggunaan sebagai slang sebelumnya