2 poin oleh GN⁺ 2025-01-28 | 1 komentar | Bagikan ke WhatsApp
  • OpenHaystack adalah framework untuk melacak perangkat Bluetooth pribadi menggunakan jaringan Find My milik Apple, sehingga pengguna dapat membuat tag pelacak sendiri dengan Mac dan BBC micro:bit atau perangkat yang mendukung Bluetooth
  • Saat iPhone di sekitar menemukan iklan BLE dari aksesori OpenHaystack, lokasi akan dienkripsi dan diunggah ke server Apple, lalu OpenHaystack mengunduh laporan lokasi tersebut, mendekripsinya, dan menampilkannya di peta
  • Proyek ini merupakan hasil rekayasa balik dan analisis keamanan jaringan Find My oleh TU Darmstadt Secure Mobile Networking Lab, dan kerentanan akses data lokasi CVE-2020-9986 telah diperbaiki oleh Apple
  • Aplikasi macOS menggunakan plugin Apple Mail untuk menerima laporan lokasi, dan selama instalasi pengguna harus menonaktifkan Gatekeeper sementara serta membiarkan Mail tetap terbuka saat digunakan
  • Karena ini adalah perangkat lunak eksperimental, kodenya belum teruji dan belum lengkap, serta aksesori berbasis firmware yang disediakan menyiarkan kunci publik tetap sehingga mungkin juga bisa dilacak oleh perangkat lain di sekitar

Apa yang dilakukan OpenHaystack

  • OpenHaystack adalah framework untuk melacak perangkat Bluetooth pribadi melalui jaringan Find My milik Apple
  • Pengguna dapat membuat tag pelacak sendiri lalu menempelkannya pada benda seperti gantungan kunci atau ransel, atau mengintegrasikannya ke perangkat yang mendukung Bluetooth seperti laptop
  • Yang dibutuhkan adalah Mac dan BBC micro:bit atau perangkat lain yang mendukung Bluetooth
  • Bahkan tanpa koneksi seluler, iPhone di sekitar dapat menemukan aksesori tersebut dan mengunggah lokasinya ke server Apple saat terhubung ke jaringan

Dasar riset dan analisis keamanan

  • OpenHaystack lahir dari hasil rekayasa balik dan analisis keamanan terhadap Find My network atau offline finding milik Apple
  • Secure Mobile Networking Lab dari TU Darmstadt mulai melakukan analisis setelah Apple mengumumkan offline finding pada Juni 2019
  • Sistem ini menggabungkan elemen berikut
    • Iklan Bluetooth

      • kriptografi kunci publik
      • basis data pusat untuk laporan lokasi terenkripsi
      • Dua kerentanan ditemukan selama proses analisis
      • Kerentanan paling serius memungkinkan aplikasi berbahaya mengakses data lokasi
      • Kerentanan tersebut telah diperbaiki oleh Apple dan diidentifikasi sebagai CVE-2020-9986
      • Analisis keamanan dan privasi terkait dibahas dalam makalah PoPETs 2021 Who Can Find My Devices? Security and Privacy of Apple's Crowd-Sourced Bluetooth Location Tracking System

Keterbatasan sebagai perangkat lunak eksperimental

  • OpenHaystack adalah perangkat lunak eksperimental, dan kodenya belum teruji serta belum lengkap
  • Aksesori OpenHaystack yang menggunakan firmware bawaan menyiarkan kunci publik tetap
    • Karena itu, aksesori tersebut mungkin juga bisa dilacak oleh perangkat lain di sekitar
    • Perilaku ini bisa berubah pada rilis mendatang
  • OpenHaystack bukan proyek yang berafiliasi dengan Apple Inc. maupun mendapat dukungan resmi dari Apple

Komponen dan alur penggunaan

  • OpenHaystack terdiri dari dua komponen
    • Aplikasi macOS: menampilkan lokasi terakhir yang dilaporkan dari perangkat Bluetooth pribadi
    • Image firmware: membuat perangkat Bluetooth menyiarkan beacon yang dapat ditemukan oleh iPhone
  • Persyaratan sistemnya adalah macOS 11 Big Sur
  • Saat membuat aksesori baru, pengguna memasukkan nama dan secara opsional memilih ikon serta warna
    • Aplikasi akan membuat pasangan kunci baru untuk mengenkripsi dan mendekripsi laporan lokasi
    • Kunci privat disimpan di keychain Mac
  • Penerapan perangkat dilakukan dengan menghubungkan perangkat yang didukung ke Mac melalui USB lalu menggunakan tombol Deploy di aplikasi
    • Selain penerapan terintegrasi, kunci publik yang digunakan untuk iklan juga bisa disalin untuk penerapan manual
  • Dapat memerlukan waktu hingga 30 menit sampai laporan lokasi pertama muncul di peta
    • Peta menampilkan lokasi terbaru dari semua item
    • Dengan mengklik tiap item, pengguna bisa melihat kapan pembaruan terakhir diterima
    • Laporan lokasi dapat diperbarui dengan tombol reload

Plugin Mail dan cara instalasi

  • Aplikasi OpenHaystack memerlukan plugin kustom untuk Apple Mail agar dapat mengunduh laporan lokasi dari server Apple
  • Plugin ini bekerja dengan mewarisi hak Apple Mail yang dibutuhkan untuk menggunakan API privat
  • Selama proses instalasi, Gatekeeper harus dinonaktifkan sementara
    • Matikan Gatekeeper dengan sudo spctl --master-disable
    • Aktifkan OpenHaystackMail.mailbundle di Preferences → General → Manage Plug-Ins pada Mail
    • Setelah itu, nyalakan kembali Gatekeeper dengan sudo spctl --master-enable
  • Disebutkan bahwa plugin ini tidak mengakses data pribadi lain seperti email
  • Saat laporan lokasi sedang diunduh, aplikasi OpenHaystack berkomunikasi dengan plugin, jadi Mail harus tetap terbuka

Cara kerja jaringan Find My

  • OpenHaystack menjelaskan sistem offline finding milik Apple dalam empat tahap
  • Pairing

    • Untuk menggunakan jaringan Find My, dibuat pasangan kunci publik dan privat berbasis kurva eliptik P-224
    • Kunci privat disimpan dengan aman di keychain Mac
    • Kunci publik diterapkan ke aksesori seperti micro:bit
  • Kondisi hilang

    • Aksesori menyiarkan kunci publik sebagai iklan Bluetooth Low Energy
    • iPhone di sekitar tidak dapat membedakan aksesori OpenHaystack dari perangkat Apple asli atau aksesori tersertifikasi
  • Ditemukan

    • Saat iPhone di sekitar menerima iklan BLE, perangkat mengambil lokasi saat ini melalui GPS
    • iPhone mengenkripsi lokasi dengan kunci publik yang ada dalam iklan dan mengunggah laporan terenkripsi ke server Apple
    • iPhone dengan iOS 13 atau lebih baru melakukan tindakan ini secara default
    • OpenHaystack tidak terlibat pada tahap ini
  • Pengambilan

    • Apple tidak mengetahui lokasi terenkripsi mana yang terkait dengan akun atau perangkat Apple tertentu
    • Jika mengetahui kunci publik yang sesuai, pengguna Apple dapat mengunduh laporan lokasi apa pun
    • Laporan tersebut dienkripsi secara end-to-end sehingga tidak bisa didekripsi tanpa kunci privat
    • OpenHaystack mengunduh laporan untuk aksesori OpenHaystack dari Apple, mendekripsinya dengan kunci privat yang disimpan di keychain Mac, lalu menampilkan lokasi terbaru di peta
    • Apple membatasi akses sembarang ke basis data dengan memastikan hanya pengguna Apple yang terautentikasi yang dapat mengunduh laporan lokasi

Perangkat yang didukung dan perluasan

  • Pada prinsipnya, perangkat Bluetooth apa pun dapat dijadikan aksesori OpenHaystack yang bisa dilacak melalui jaringan Apple Find My
  • Saat ini, cara penerapan firmware yang praktis hanya mendukung sebagian perangkat embedded
  • Perangkat Linux didukung melalui skrip HCI biasa
  • Contoh dukungan yang tersedia adalah sebagai berikut
    • Nordic nRF51: diuji pada BBC micro:bit v1, mendukung deployment lewat aplikasi, saat ini hanya mendukung nRF51822
    • Espressif ESP32: diuji pada ESP32-WROOM dan ESP32-WROVER, mendukung deployment lewat aplikasi, deployment bisa memakan waktu hingga 3 menit dan memerlukan Python 3
    • Linux HCI: diuji pada Raspberry Pi 4 dan Raspbian, seharusnya mendukung semua mesin Linux
  • Porting ke perangkat lain yang mendukung Bluetooth Low Energy dimungkinkan, dengan memanfaatkan source code firmware dan spesifikasi dalam makalah

OpenHaystack Mobile

  • OpenHaystack Mobile adalah aplikasi yang sepenuhnya mengimplementasikan ulang aplikasi macOS OpenHaystack untuk smartphone
  • Aplikasi ini menyediakan fitur pembuatan aksesori dan pelacakan, dengan tujuan khusus meningkatkan kemudahan penggunaan bagi pengguna baru
  • Berbeda dari aplikasi macOS, smartphone tidak dapat langsung mengambil laporan lokasi
    • Untuk mengakses jaringan Find My, dibutuhkan server proxy yang di-host di perangkat keras Mac
    • Server proxy tersebut dapat diakses secara bersamaan oleh banyak pengguna melalui jaringan
  • Untuk terhubung ke server proxy, URL yang benar harus diatur di openhaystack-mobile/lib/findMy/reports_fetcher.dart
  • OpenHaystack Mobile dibuat dengan Flutter framework dan berjalan di Android serta iOS

Lisensi dan referensi

1 komentar

 
GN⁺ 2025-01-28
Opini Hacker News
  • Semoga ada opsi yang bagus juga untuk orang yang bukan pengguna Apple. Dari yang saya dengar, versi Google, seperti yang diduga, cukup buruk
    Ada batasan seberapa sering Anda bisa mencari tag sendiri, lokasinya tidak ditampilkan sampai terdeteksi oleh beberapa ponsel, dan cakupannya juga buruk
    Dalam satu pengujian, jaringan Samsung disebut lebih baik, padahal ponsel Samsung seharusnya hanya merupakan sebagian dari semua ponsel Android di jaringan Google, jadi ini tidak masuk akal. Walau secara teori tampak bagus, ini terasa seperti produk Google yang eksekusinya buruk bahkan bertahun-tahun setelah Apple menunjukkan caranya
    https://security.googleblog.com/2024/04/find-my-device-netwo...
    https://9to5google.com/2024/08/01/find-my-device-stress-test...
    https://9to5google.com/2024/08/03/google-android-find-my-dev...
    https://www.androidcentral.com/accessories/testing-new-googl...

    • Sungguh konyol bahwa penanggung jawab jaringan Find My milik Google memprioritaskan perlindungan privasi sampai merusak satu-satunya fungsi produk itu
      Dengan pilihan ini, Google memang mendapatkan beberapa artikel tentang peningkatan perlindungan privasi yang “inovatif” sebelum seberapa buruk kinerjanya benar-benar terverifikasi, tetapi mereka kehilangan peluang untuk bersaing dengan Apple di bidang ini dan juga berdampak buruk pada ekosistem Android/Pixel serta pangsa pasar. Tingkat inkompetensi seperti ini bahkan sulit dikarang
    • Sulit dipercaya Google merusak jaringan ini sedemikian rupa. Seharusnya, karena pangsa Android, jaringan itu bisa mengungguli jaringan Apple
      Dari sudut pandang pelancong nomaden, jaringan Apple tidak terlalu berguna. Soalnya, saya bepergian bukan ke kota-kota kaya dengan banyak ponsel Apple, melainkan ke “seluruh dunia lainnya” yang pangsa Android-nya mendekati 90%. Namun bahkan di tempat-tempat itu pun Apple tampaknya lebih baik daripada Google
    • Saya memasang satu di kunci, dan saat mencoba memakainya, meski disegarkan berkali-kali, yang ditampilkan hanya lingkaran dengan radius 0,25 mil
      Padahal sebenarnya ada di dalam tas tepat di sebelah saya
    • Solusi Samsung bukan subset, melainkan pendekatan terpisah yang lebih baik
      Bahkan di bandara atau desa di negara yang sangat terpencil, dua tag saya bisa ditemukan dengan baik, jadi saya merasa tenang. Video ini juga menyimpulkan bahwa meski Anda pengguna iPhone, Samsung SmartTag adalah yang terbaik
      https://m.youtube.com/watch?v=9wefUV_bR0Y
    • Sepertinya Google seharusnya ikut saja ke Find My
  • Dari kodenya, tampaknya mereka memakai izin Apple Mail pribadi untuk mengambil lokasi yang dikumpulkan perangkat-perangkat di jaringan FindMy
    https://github.com/seemoo-lab/openhaystack/blob/8d214aa5eb68...
    Saya penasaran apakah ini juga bisa dilakukan jika membuat akun pengembang Apple

    • Ada versi-versi yang tidak perlu berinteraksi dengan Apple Mail
      Yang dibutuhkan hanya akun Apple, dan tidak perlu menjalankan kode di perangkat keras Apple
      https://github.com/biemster/FindMy
  • Saya ingin menemukan materi yang pernah saya lihat dulu. Apple memberi tahu pengguna tentang “tag yang bisa mengikuti Anda”, dan seingat saya ada seseorang yang membuat implementasi yang memutar alamat MAC atau sesuatu seperti kunci privat dengan fungsi derivasi kunci (KDF), tetapi nilai turunannya cukup dapat diprediksi untuk dilacak
    Di tempat tinggal saya, masalah pencurian kecil-kecilan benar-benar parah, dan waktu yang terbuang untuk terus memperbaiki jendela pecah atau membersihkan bekas pembobolan paksa cukup besar. Saya sama sekali tidak berniat berhadapan langsung dengan siapa pun, tetapi suatu hari nanti saya ingin membuat jejak pergerakan yang bisa diberikan kepada penyelidik swasta atau aparat penegak hukum

    • Beli pelacak GPS seluler dan gunakan SIM IoT yang sangat murah, bahkan gratis
      Atau Anda bisa membawa satu krat air minum ke tempat berkumpul pecandu narkoba terdekat dan meminta mereka berhenti mencuri barang-barang Anda
    • Setahu saya, AirTag juga tetap memutar kunci privat, jadi saya tidak tahu apakah itu akan membantu menyelesaikan masalah
      Namun mungkin saja periode rotasinya lambat, dan saya tidak begitu tahu algoritma pastinya
    • Di daftar kiriman saya ada tautan ke tulisan tentang OpenHaystack dan peringatan tersebut. Ringkasnya, iOS sama sekali tidak pernah memberi peringatan tentang pelacak berbasis OpenHaystack yang saya taruh di dalam mobil selama beberapa waktu
      Namun itu terjadi beberapa tahun lalu, jadi sekarang bisa saja sudah berbeda
  • Akan lebih baik jika ada cara untuk mengintegrasikannya dengan aplikasi Find My, alih-alih mengambil lokasi melalui prosedur sendiri yang tidak stabil
    Replika buatan Tiongkok tampaknya jelas bisa melakukannya entah bagaimana, karena mereka bisa memakai merek mereka sendiri

    • Di sini, itu terlihat seperti taman berpagar Apple. Dulu saya pernah membaca spesifikasi Apple untuk mitra resmi, dan dalam proses pairing, perangkat menandatangani sesuatu dengan sertifikat/kunci yang diterbitkan Apple untuk developer tersebut. Yang penting, itu adalah kunci yang didapat setelah melalui kontrak—dengan kata lain uang—dan berbeda dari pasangan kunci yang dipakai untuk siaran sebenarnya
      Tanda tangan itu diverifikasi Apple, sehingga perangkat bisa ditambahkan ke akun Apple ID dan aplikasi tersebut. Sebaliknya, kunci yang disiarkan perangkat dalam mode hilang bersifat acak dan sepenuhnya buram, sehingga Apple pun tidak punya cara untuk mengaitkannya dengan ID, perangkat, atau developer. Proyek ini bisa berjalan juga karena kunci-kunci itu pada akhirnya masuk ke server Apple
      Replika-replika itu tampaknya telah mencuri kunci valid untuk proses pairing. Jika Apple berniat dan berhasil menemukan kunci itu, sepertinya mereka bisa menghapus semua perangkat dari semua akun, tetapi perangkatnya sendiri akan tetap menyiarkan, dan lokasi masih bisa diakses dengan cara kasar seperti di atas. Saya juga penasaran apakah pemilik asli kunci itu nantinya akan mendapat tagihan besar berupa royalti per perangkat jika Apple menghitung “jumlah perangkat yang ditandatangani dengan kunci ini dan ditambahkan ke Apple ID” di basis datanya
    • “Replika buatan Tiongkok” adalah produk yang didukung resmi, dan caranya ada di sini: https://developer.apple.com/find-my/
    • Replika buatan Tiongkok menggunakan program Apple Find My, jadi itu adalah tag resmi yang bisa muncul di aplikasi
      OpenHaystack adalah hack yang memakai kunci berbeda, sehingga karena alasan kriptografis tidak bisa muncul di aplikasi
    • Bukankah replika juga punya batasan? Misalnya, seingat saya tidak ada fitur seperti Precision Finding, meski mungkin saja saya salah mengingat sesuatu yang saya baca di tempat lain
  • Benar-benar keren. Saya suka Apple AirTag, tapi terlalu tebal dan bentuknya juga agak nanggung
    Saya ingin ada AirTag berbentuk kartu kredit yang bisa dimasukkan ke dompet, dan AirTag yang lebih kecil untuk dipasang di kalung kucing

    • Di Temu atau Aliexpress, Anda bisa membeli tag pihak ketiga yang kompatibel dengan Find My seharga sekitar 5 dolar. Ukurannya mirip AirTag biasa, tetapi lebih mudah dibongkar jika ingin membuang casing-nya, dan lebih murah
      Saya pernah mengeluarkan salah satu yang saya punya dari casing-nya untuk melihat apa yang bisa dibuat lebih tipis, dan ternyata sebagian besar ketebalannya berasal dari dudukan baterai CR2032, speaker, dan tombol. Speaker dan tombol sepertinya bisa dihilangkan setelah pengaturan awal, dan jika ingin form factor kartu tipis, dudukan baterai juga bisa dilepas lalu daya disuplai dari sisi samping, bukan dari atas
    • Sudah ada kartu ultra-tipis kompatibel AirTag yang masuk ke dompet
    • Ini foto AirTag yang dipakai kucing calico saya berbobot 8,5 pon di kalungnya sejak usia 3 bulan
      https://imgur.com/a/r9EGSOc
      Foto ini baru saja saya ambil dengan kacamata Meta Stories
    • Saya memakai ini untuk anjing, dan sangat minimalis
      https://www.amazon.com/gp/product/B09DCVFNFF/
      Namun, saya perlu melilitnya dengan selotip bening agar AirTag tidak terpuntir keluar dari holder
  • Saya belum menelitinya secara detail, tetapi penasaran apakah ini bisa dipakai untuk menyisipkan dan mengirim payload data kecil arbitrer

    • Bisa. Baru-baru ini ada proyek yang mengirim data hardware keylogger menggunakan jaringan AirTag
      Bahkan jika komputer benar-benar terisolasi, data bisa kembali melalui iPhone orang yang sedang mengetik
    • Saya pernah melihat contoh penggunaan ini untuk melacak status kotak surat. Sensor kontak di dalam kotak surat merotasi kunci siaran sesuai jumlah trigger
      Jika kuncinya berubah dan perangkat lain yang baru terlihat, itu berarti ada surat masuk; cukup cerdas
  • Saya penasaran berapa batas atas throughput yang bisa diunggah satu perangkat ke server Apple. Jika perangkat Apple tidak punya seluler atau Wi-Fi, berapa lama riwayat ping lokasi itu tersimpan di perangkat?
    Saya juga penasaran apakah ada kemungkinan serangan denial-of-service di sini. Misalnya penyerang meniru lebih dari 1 juta perangkat Bluetooth, lalu ketika korban kebetulan lewat, ponselnya macet karena ada jumlah perangkat yang sangat besar di satu lokasi dan terus mengunggah ke server Apple

  • Ngomong-ngomong, apakah ini bisa dipakai untuk benar-benar mengatur AirTag tanpa perangkat Apple lain seperti iPhone atau Mac?

  • Artikel sebelumnya: https://news.ycombinator.com/item?id=26342504

  • Apakah perangkat-perangkat ini bisa dipairing dengan aplikasi Apple Find My yang sebenarnya, sehingga bisa ditemukan di dalam aplikasi?