2 poin oleh GN⁺ 2024-11-13 | 1 komentar | Bagikan ke WhatsApp
  • Sejak iOS 18.1, AirPods Pro 2 bisa digunakan seperti alat bantu dengar, tetapi karena pembatasan regional, pengguna dengan gangguan pendengaran di India tidak bisa langsung memakai fitur intinya
  • Syarat pembatasan tersebar di beberapa faktor, seperti tinggal di negara yang didukung, iOS 18.1 atau lebih baru, dan firmware 7B19 atau lebih baru; perangkat juga dapat menentukan lokasi dengan menggabungkan IP, locale, GPS, jaringan seluler, dan informasi lokasi WiFi
  • Manipulasi proxy dan simulasi CoreLocation lewat Xcode gagal, dan dari log locationd serta petunjuk di pengaturan, tampaknya lokasi simulasi tidak dipakai untuk penentuan domain regulasi
  • Pada akhirnya dilakukan eksperimen kandang Faraday dengan meniru lingkungan WiFi Menlo Park, California menggunakan data Wigle dan ESP32, lalu mengurangi sinyal sekitar memakai kotak berlapis aluminium foil dan microwave
  • Setelah sekali diaktifkan, fitur Hearing Aid disinkronkan ke akun iCloud sehingga bisa dipakai di perangkat lain, dan tantangan utamanya adalah menyusun prosedur yang dapat direplikasi untuk membuka fitur yang dibatasi wilayah bagi pengguna nyata

Pembatasan regional fitur alat bantu dengar AirPods Pro 2

  • Tepat setelah pembaruan iOS 18.1, penulis membeli AirPods Pro 2 untuk kakek-nenek yang mengalami gangguan pendengaran, tetapi Apple membatasi fitur Hearing Aid ke AS dan beberapa negara lain sehingga di India praktis tidak bisa digunakan
  • Alat bantu dengar biasa bisa berharga dari ₹50,000 hingga lebih dari ₹8L, tergantung kemampuan penyesuaiannya
  • Apple mempromosikan bahwa fitur alat bantu dengar AirPods dapat mengompensasi pendengaran hingga 60dbHL, terutama di sekitar frekuensi suara
  • Jika berada di lokasi yang didukung, memiliki AirPods Pro 2, serta menggunakan iOS 18.1 atau lebih baru dan firmware 7B19 atau lebih baru, layar fitur tersebut akan muncul di aplikasi Health
    • Jika fitur itu “diaktifkan” pada perangkat dengan iOS 18.1 atau lebih baru, fitur tersebut bisa didorong ke perangkat dengan versi yang lebih lama seperti firmware 7A294

Jalur yang dipakai iOS untuk menentukan lokasi

  • Dari investigasi awal, perangkat iOS dapat menentukan negara dan wilayah pengguna melalui beberapa jalur
    • Mengirim permintaan GET ke https://gspe1-ssl.ls.apple.com/pep/gcc untuk menerima kode negara berbasis lokasi IP
    • Memeriksa pengaturan wilayah Apple Store
    • Dapat merujuk pada locale, zona waktu, dan bahasa perangkat
  • Pada perangkat yang memiliki GPS dan jaringan seluler, penentuan lokasi yang lebih langsung juga dimungkinkan
    • Lokasi berbasis sinyal GPS
    • Penentuan lokasi berbasis jaringan seluler dengan membandingkan MCC/MNC terhadap basis data internal
  • Untuk mempersempit cakupan eksperimen, digunakan iPad generasi ke-10 model WiFi yang tidak memiliki konektivitas seluler
    • Memalsukan GPS dan BTS juga bukan tidak mungkin jika membuat kandang Faraday, tetapi membutuhkan jauh lebih banyak pekerjaan

Upaya bypass yang gagal: proxy dan simulasi lokasi

  • Pertama, locale dan wilayah di pengaturan iOS diubah, lalu lalu lintas jaringan perangkat diproksikan lewat laptop agar respons endpoint geolokasi terlihat sebagai US, bukan IN
  • Juga dicoba memalsukan CoreLocation dengan fitur lokasi simulasi milik Xcode
  • Cara ini tidak berhasil
    • Karena certificate pinning, banyak aplikasi dan layar pengaturan gagal terhubung ke server Apple
    • Ada kemungkinan koneksi ke server Apple yang dibutuhkan untuk mengaktifkan fitur ikut terblokir, tetapi hal ini tidak diverifikasi sepenuhnya
  • Di log konsol terlihat pesan yang seolah menunjukkan fitur seharusnya aktif, tetapi layar pengaturan Hearing Aid tetap tidak muncul

Petunjuk yang terungkap dari locationd

  • Saat log diperiksa lagi keesokan harinya, muncul pesan yang mengindikasikan perangkat menilai dirinya tidak berada di AS, meski lokasi IP dan locale sudah dipalsukan
  • Binary countryd dan locationd diekstrak untuk mencari string yang relevan
  • Di dalam locationd ditemukan pengaturan boolean AllowSimulatedLocation, dengan nilai default 0
  • Ditemukan juga getter skipUpdatingRegulatoryDomain, yang diduga dipakai di sendUpdateToRDIfAllowed untuk menentukan apakah domain regulasi akan diperbarui
  • Kesimpulannya, meski CoreLocation disimulasikan dengan alat bawaan Xcode, hal itu tidak mempan untuk penentuan domain regulasi bagi Hearing Aid
    • Fitur Hearing Aid dapat dikendalikan dari macOS, tetapi aktivasi tetap harus dilakukan melalui perangkat iOS
    • Mengubah binary secara langsung di macOS dengan SIP dinonaktifkan juga masih menjadi kemungkinan untuk mengaktifkan fitur, tetapi jalur ini tidak dieksplorasi

Menipu informasi lokasi WiFi

  • Perangkat modern dapat melakukan triangulasi lokasi setingkat kota dengan menggabungkan SSID WiFi sekitar, alamat MAC router/perangkat, dan GPS
  • Inilah alasan iPad khusus WiFi tetap bisa menampilkan lokasi akurat di aplikasi meski tanpa GPS atau seluler, yaitu lewat penentuan posisi berbasis lokasi WiFi
  • Penulis mendaftar ke Wigle, salah satu basis data lokasi WiFi publik, lalu mengambil data Menlo Park, California
  • Skylift kemudian di-fork dan dimodifikasi agar ESP32 bisa menyiarkan SSID WiFi secara bergiliran dengan cepat
    • Dengan cara ini ESP32 meniru lingkungan nirkabel dari wilayah lain
    • Jumlah SSID yang diputar dinaikkan dari 10 menjadi 100
  • Karena di sekitar Lagrange Point ada banyak jaringan WiFi nyata dari rumah-rumah sekitar, iPad bisa saja melaporkan jaringan lain di sekitarnya jika sinyal-sinyal ini tidak dilemahkan atau dikalahkan

Eksperimen kandang Faraday dan microwave

  • Kandang Faraday awal dibuat dengan membungkus kotak kardus bergelombang memakai aluminium foil
  • Di dalam kotak ditempatkan ESP32 yang menyiarkan SSID California bersama iPad; iPad terhubung ke laptop untuk log konsol dan akses internet
  • Dengan memanfaatkan fakta bahwa WiFi dan microwave sama-sama memakai pita 2.4GHz, dicoba menyalakan microwave yang bocor pada daya maksimum untuk memblokir sinyal jaringan sekitar yang membandel
  • Setelah iPad dimasukkan ke dalam kotak, disusun skrip untuk reboot setelah 5 menit lalu menyalakan jaringan
  • Pada percobaan pertama, iPad masih dikenali sebagai wilayah IN, tetapi setelah beberapa kali menyesuaikan kandang Faraday, gangguan microwave, dan proses reboot, pesan perubahan wilayah yang diinginkan akhirnya terlihat di konsol
  • Setelah itu, ketika iPad dikeluarkan dan AirPods dibuka, proses pengaturan Hearing Aid langsung muncul

Prosedur yang bisa diulang dan rencana aktivasi massal

  • Setelah proof of concept selesai, penulis mulai membuat prosedur yang lebih stabil agar fitur bisa dibuka untuk orang-orang yang membutuhkannya
  • Selama beberapa hari, eksperimen diulang sambil membuat kandang Faraday yang lebih permanen
  • Direncanakan untuk menjalankan kamp aktivasi kecil di Lagrange Point bagi orang-orang di Bengaluru yang akan terbantu jika bisa memakai AirPods sebagai alat bantu dengar
  • Partisipasi dan pembaruan akan diterima melalui akun X dan thread tweet

Perilaku setelah aktivasi

  • Fitur Hearing Aid tampak seperti preset equalizer yang didorong ke AirPods dan menggantikan mode transparansi
  • Setelah fitur Hearing Aid sekali diaktifkan, flag fitur akan disinkronkan ke akun iCloud
  • Berkat sinkronisasi ini, fitur tersebut bisa digunakan di semua perangkat tanpa harus mengulangi proses yang sama

1 komentar

 
GN⁺ 2024-11-13
Komentar Hacker News
  • Fitur Hearing Aid sebenarnya adalah preset equalizer yang di-push ke AirPods, dan tampaknya menggantikan mode transparansi
    Jika Apple tidak memasarkannya sebagai “alat bantu dengar” atau memakai istilah medis, sepertinya regulator tidak akan ikut campur. Earbud true wireless lain yang memiliki equalizer parametrik dan mode transparansi juga bisa melakukan hal yang sama
    Sebagai gantinya, mereka memang akan kehilangan keunggulan pemasaran, tetapi mungkin itu sendiri merupakan risiko besar yang sudah diperhitungkan. Perangkat seperti ini memiliki kemampuan pemrosesan dan fleksibilitas yang luar biasa. Bahkan produk di bawah 10 dolar yang memakai JieLi SoC yang terkenal buruk itu pun pada dasarnya punya komputer 32-bit 160MHz di tiap telinga
    Cukup mengejutkan belum ada earbud true wireless yang mengusung firmware open source, dan tampaknya ada sebagian pekerjaan kustomisasi di komunitas Tiongkok dan Rusia

    • Ini masalah yang jauh lebih besar daripada sekadar “kehilangan keunggulan pemasaran”. Apple tidak bergerak di ruang hampa; Sony dan Bose juga mengincar pasar yang sama, dan kemungkinan besar akan mendorong pemasaran dengan cara mereka sendiri
      Jika Apple hanya mengatakan “bekerja kurang lebih seperti alat bantu dengar”, mereka akan sangat dirugikan dibanding merek lain yang memasang poster mencolok di titik penjualan toko. Tentu saja, untuk penjualan online atau bagi orang yang tidak benar-benar membutuhkan keandalan tinggi, Apple mungkin tetap bisa menang
      https://electronics.sony.com/otc-hearing-aids
    • Ada PineBuds Pro: https://pine64.com/product/pinebuds-pro-open-firmware-capabl...
    • Bagi yang penasaran, TWS konon berarti “True Wireless Stereo”
      https://audiochamps.com/what-does-tws-mean/
      Dengan kata lain, maksudnya earbud Bluetooth
    • Mungkin mereka menargetkan orang yang memakai FSA/HSA untuk pengeluaran terkait medis
    • Kalau itu satu-satunya kekhawatiran, baguslah. Sepertinya kecil kemungkinan Apple akan mematikan fitur ini
      Saya sempat khawatir apakah ada isu regulasi lain seperti volume, tetapi tidak terpikir apa tepatnya
  • Ada bagian yang mengatakan, “Karena WiFi dan oven microwave beroperasi pada frekuensi yang sama, 2,4GHz, mereka menjalankan microwave yang bocor pada daya maksimum untuk memblokir sinyal jaringan terus-menerus di udara”; menariknya, WiFi justru sengaja berusaha menghindari interferensi seperti ini
    Oven microwave tidak memancarkan daya pada titik zero-crossing dari sumber listrik AC yang menggerakkannya, dan pada interval itu tidak ada sinyal di udara yang mengganggu gelombang radio. Karena WiFi mendengarkan dulu sebelum mengirim, ia berusaha tidak bertabrakan dengan perangkat lain, dan sinyal microwave cukup kuat untuk memicu deteksi ini
    Saya tidak ingat apakah microwave bekerja dengan metode setengah gelombang sehingga ada interval 1/120 detik sebanyak 60 kali per detik, atau hanya ada periode ambang di sekitar zero-crossing ketika dayanya tidak cukup untuk menimbulkan interferensi. Dalam kasus ini, tampaknya cukup besar kemungkinan microwave sebenarnya tidak banyak berperan

    • Terlepas dari apa pun analisis teoretisnya, setidaknya pada satu kombinasi oven microwave dan router, saya pernah mereproduksi fenomena microwave mengganggu sinyal WiFi
      Namun di kesempatan lain, ada juga kasus ketika dampaknya tidak terlihat jelas
    • Saya penasaran mengapa microwave tidak memancarkan daya pada zero-crossing listrik AC. Apakah microwave memang dirancang memodulasi sinyal 2,4GHz di atas 50/60Hz?
    • Apakah itu berarti dua microwave bocor yang terhubung ke fase listrik berbeda bisa memblokir WiFi 2,4GHz?
    • Secara teori begitu, tetapi dalam praktiknya microwave mengganggu WiFi sudah menjadi fenomena yang sangat dikenal, sampai-sampai muncul di XKCD
  • Seseorang di Reddit memberi tahu bahwa fitur tes pendengaran bisa diakses langsung lewat URL khusus
    x-apple-health://HearingAppPlugin.healthplugin/HearingTest
    Saya penasaran apakah deep link serupa untuk menyalakan mode Hearing Aid juga bisa ditemukan
    https://www.reddit.com/r/AirpodsPro/comments/1gftyqo/is_the_...

    • Saya juga sudah menggali bagian itu, tetapi tidak menemukan apa pun
      Sampai taraf tertentu, pendekatan yang dipakai sekarang memang lebih mudah
      Pasti rasanya ada sesuatu di sana. Apple mengubah skema URL handler di iOS 18, jadi repositori lama yang merujuk ke ini sudah tidak berfungsi lagi
  • Saya Rithwik, salah satu penulisnya. Kalau ada pertanyaan, saya akan jawab

    • Ini hack yang benar-benar keren dan sangat menyenangkan dibaca. Kalau harus bertanya, saya penasaran apa rencana berikutnya dengan sangkar Faraday yang baru dibuat itu
    • Saya agak bingung dengan cara penanganan wilayahnya. Saya tinggal di Spanyol selama beberapa tahun terakhir, tetapi iPhone saya dibeli di Kanada, akun Apple saya Kanada, kartu kredit dan alamat penagihan saya Kanada, dan lokasi App Store juga disetel ke Kanada
      Menurut Apple, saya masih sepenuhnya “orang Kanada”. Saya sama sekali tidak melihat fitur terkait App Store pihak ketiga yang dibatasi untuk wilayah UE, dan saya bisa mengakses fitur seperti Apple Intelligence yang tidak tersedia di UE
      Karena fitur alat bantu dengar tidak tersedia baik di Kanada maupun Spanyol, saya tidak bisa mengujinya, tetapi saya penasaran apa bedanya pembatasan wilayah alat bantu dengar ini dibanding fitur pembatasan wilayah/aktivasi wilayah Apple yang lain
    • Tulisannya bagus sekali. Melihat perilaku aplikasi iOS diretas secara kasual seperti ini terasa seperti dunia yang benar-benar berbeda, terutama karena saya mengira iOS cukup terkunci
      Saya penasaran bagaimana Anda memulainya dan apakah ada materi yang bisa direkomendasikan. Dan karena Anda bilang pada akhirnya tidak jadi membeli earbud yang sangat mahal, saya juga penasaran earbud apa yang sebenarnya Anda pakai atau ingin beli
    • Hack yang benar-benar keren. Saya agak terkejut bahwa pada akhirnya bahkan spoofing jaringan WiFi pun harus dilakukan, tetapi hebat sekali bisa sampai menemukan itu
    • Tulisannya menarik dibaca. Saya penasaran seberapa puas kakek-nenek Anda dengan fitur alat bantu dengar ini. Apakah benar-benar bekerja dengan baik, dan bagaimana daya tahan baterainya
  • Saya penasaran apakah pengaturan ini akan direset setelah beberapa waktu, atau cukup dilakukan sekali saja
    Saya khawatir iPad atau AirPods akan menganggap mereka sudah terlalu lama berada di India lalu menghapus fiturnya

    • Saya salah satu penulisnya. Ini adalah pengaturan yang cukup dilakukan sekali saja
      Setelah fitur diaktifkan, sebuah flag akan disetel pada akun iCloud, jadi fitur akan terus berfungsi ke mana pun Anda bepergian. Pada saat yang sama, profil equalizer didorong ke mode transparansi AirPods sehingga fungsi alat bantu dengar aktif
      Setelah selesai sekali, pengaturan ini akan bertahan kecuali AirPods direset
      Namun ada satu keanehan yang menarik. Jika fitur ini diaktifkan pada AirPods milik orang lain, tetapi fitur tersebut tidak berstatus “tersedia” di perangkat atau akun orang itu, ia tidak bisa menyesuaikan pengaturannya dari perangkatnya sendiri
  • Kasus ini menunjukkan dengan baik mengapa perangkat lunak bebas itu penting. Penguncian wilayah di sini adalah praktik bermusuhan yang sama sekali tidak masuk akal
    Jika software atau firmware-nya bebas dan terbuka, penguncian wilayah bisa dipatch untuk dihapus atau dinonaktifkan. Besar kemungkinan pembatasan semacam itu bahkan tidak akan dimasukkan sejak awal

    • Dalam kasus umum, pembatasan wilayah memang masuk akal
      Di negara-negara yang disetujui, regulator kemungkinan harus menyetujuinya sebagai perangkat bantu medis. Jika perangkat bantu medis dan sejenisnya bisa dijual tanpa persetujuan, barang yang benar-benar bisa melukai atau membunuh orang pun bisa dijual dengan nama perangkat bantu medis
      Masalahnya di sini adalah kasus ini tampak seperti fitur bantuan yang tidak merugikan, sehingga pelarangannya terlihat konyol. Namun jika regulasi tidak dijalankan, regulasi itu tidak ada gunanya
      Pada akhirnya, regulator di negara lain mungkin lambat, atau dalam skenario terburuk Apple mungkin tidak mengajukan persetujuan
  • Saya penasaran apakah ada yang tahu apa sebenarnya yang dilakukan mode Hearing Protection. Fitur ini tidak tersedia di Norwegia maupun di luar Amerika Utara
    Saya pernah memakai AirPods Pro 2 untuk pelindung telinga sebelumnya dan hasilnya cukup baik. Saya penasaran apakah ini hanya karena istilah “Hearing Protection” hanya boleh dipakai di AS, atau apakah fiturnya benar-benar lebih baik daripada peredam bising Pro 2 biasa

    • Kemungkinan besar yang baru hanya aplikasi tes pendengaran dan marketing. AirPods sudah memiliki fitur-fitur seperti ini
      Kalau didengar saat Hearing Protection bekerja, terdengar seperti kompresi multi-band. Artinya, rentang frekuensi yang terdengar dibagi menjadi beberapa band, lalu kompresi diterapkan secara terpisah pada masing-masing band. Namun sepertinya ini pun sudah dilakukan sejak sebelumnya
  • Saya penasaran apakah ini benar-benar berbeda dari mode transparansi yang dikustomisasi di aksesibilitas yang sudah ada sebelum pengumuman fitur alat bantu dengar
    Audiogram yang tersimpan di aplikasi Health bisa digunakan. Namun mode transparansi yang dikustomisasi suaranya cukup buruk, terdengar seperti comb filter

    • Benar. Sepertinya tidak berbeda. Saya sudah memakai fitur itu sejak Maret
  • Benar-benar luar biasa. Di i3Detroit, kami sedang membuat Faraday cage seukuran walk-in closet. Tentu saja karena berada di AS, ini tidak diperlukan untuk hack ini sendiri, tetapi ada banyak sekali alasan menarik untuk memilikinya
    Alasan terbesarnya adalah ada pemancar WOMC tepat di dekat kami, dengan EIRP 135.000 watt. Sinyal ini menyusup ke berbagai macam peralatan dan membuat pengukuran frekuensi radio lain menjadi sulit. Saat melakukan pekerjaan seperti penyelarasan amplifier, lebih baik memastikan dasar-dasarnya kuat di lingkungan yang tenang sebelum menambahkan kemungkinan penyebab seperti intermodulasi
    Perangkat nirkabel seperti WiFi dan Bluetooth bisa didebug tanpa banyak sekali node di sekitar. Kita memang bisa memfilter output sniffer, tetapi memfilter inputnya sendiri lebih menyenangkan
    Kita juga bisa menyalakan jaringan seluler 1G atau 2G tanpa khawatir soal lisensi frekuensi. Kita bisa berlatih teknik WiFi agresif yang mungkin mengganggu jaringan yang sudah ada di hackerspace
    Di area tanpa FCC, kita bisa bermain-main dengan GPS spoofer, atau melakukan eksperimen seru yang ingin dilakukan secara bertanggung jawab. Kita juga bisa mengurung iPhone di dalamnya dan melihat apakah ia akan reboot sendiri

    • Benar. Sampai-sampai mengejutkan bahwa selama ini kami hidup tanpa Faraday cage
      Saya sudah gatal ingin memasukkan perangkat ke dalamnya lalu memenuhi udara di dalamnya dengan gelombang radio tanpa khawatir soal lisensi
      Saya pernah melihat Faraday cage ukuran penuh di Indian Institute of Science, dan rasanya menyenangkan karena pendekatan dan strukturnya mirip dengan milik kami
  • Dalam kasus ini, certificate pinning sepertinya juga cukup mudah diatasi. Cukup pakai proxy atau VPN. Meski begitu, kehebohan Faraday cage ini cukup keren

    • Sepertinya perlu dijelaskan bagaimana VPN menyelesaikan masalah certificate pinning. Penulis sudah memodifikasi traffic HTTP/S iPhone melalui koneksi jaringan yang diproxy, dan setahu saya VPN tidak memungkinkan pemalsuan respons HTTPS yang valid dengan sertifikat server yang sudah dipinning
    • Pada akhirnya, itulah yang kami lakukan. Kami memakai VPN komersial dan menyediakan internet ke perangkat lewat kabel USB
      Mungkin Tailscale di VPS di suatu tempat juga bisa dipakai
    • Saya tidak paham bagaimana memakai VPN membuat lebih mudah melakukan serangan man-in-the-middle terhadap diri sendiri untuk mengubah respons dari request GET itu