2 poin oleh GN⁺ 2025-01-12 | 1 komentar | Bagikan ke WhatsApp
  • go-haystack adalah kumpulan alat berbasis Go/TinyGo yang memungkinkan pelacakan perangkat Bluetooth pribadi melalui jaringan Find My milik Apple
  • Dengan menggunakan OpenHaystack bersama Macless-Haystack, alat ini menyusun jaringan FindMy kustom dan dapat dikonfigurasi tanpa perangkat keras Apple
  • Menyediakan firmware beacon yang ditulis dengan TinyGo dan paket TinyGo Bluetooth, dengan target perangkat keras seperti board nRF SoftDevice, BBC Microbit, Seeed Studio XIAO nRF52840, board dengan ko-prosesor ESP32, dan RP2040 Pico-W
  • Kode beacon yang sama juga dapat dijalankan di Linux yang memiliki perangkat keras Bluetooth, termasuk Raspberry Pi atau sistem embedded sebagai target
  • Pengguna menyiapkan Apple ID dengan 2FA berbasis SMS, anisette-v3-server, server Macless-Haystack, dan CLI haystack, lalu mendaftarkan perangkat lewat alur pembuatan kunci, flashing firmware, dan unggah JSON

Peran go-haystack

  • go-haystack memungkinkan pelacakan perangkat Bluetooth pribadi melalui jaringan Find My milik Apple
  • Menggunakan OpenHaystack bersama Macless-Haystack untuk menyiapkan jaringan FindMy kustom
  • Alat ini ditulis dalam Go/TinyGo dan dapat digunakan tanpa perangkat keras Apple

Membuat beacon sendiri

Beacon Linux dan TinyScan

  • Kode beacon juga dapat dijalankan di Linux yang memiliki perangkat keras Bluetooth
    • Raspberry Pi atau sistem embedded lain disebut sebagai contoh
    • Kode untuk embedded Linux sama dengan kode beacon untuk mikrokontroler, dan berada di direktori firmware pada repositori
  • go-haystack juga mencakup TinyScan, pemindai perangkat keras untuk perangkat lokal
    • TinyScan berjalan di berbagai board mikrokontroler yang memiliki Bluetooth dan layar kecil
    • Board buatan Adafruit dan Pimoroni disebut sebagai contoh
    • Kodenya berada di direktori tinyscan

Komponen yang diperlukan untuk instalasi

  • Apple ID diperlukan dan 2FA harus diaktifkan
    • Faktor autentikasi kedua hanya mendukung SMS/pesan teks
  • Jalankan anisette-v3-server dengan Docker
    • Perintah contoh membuat jaringan Docker mh-network dan menjalankan kontainer dadoum/anisette-v3-server pada port 6969
  • Jalankan endpoint macless-haystack dalam mode interaktif untuk konfigurasi
    • Selama proses konfigurasi, masukkan Apple ID, kata sandi, dan 2FA
    • Jika serving at port 6176 over HTTP terlihat, konfigurasi telah selesai
    • Setelah konfigurasi, hentikan proses dan mulai ulang server dengan docker restart macless-haystack
  • CLI go-haystack dipasang dengan perintah berikut
go install github.com/hybridgroup/go-haystack/cmd/haystack@latest

Alur penggunaan

  • Perangkat dalam jangkauan lokal dipindai dengan haystack scan
    • Output mencakup alamat Bluetooth, nilai sinyal, data berbentuk identifier, dan status baterai
  • Untuk menambahkan perangkat baru, buat terlebih dahulu kunci untuk perangkat tersebut
haystack keys DEVICENAME
  • Hasil pembuatan kunci akan menyimpan file DEVICENAME.keys dan file DEVICENAME.json untuk konfigurasi Haystack
    • Ganti DEVICENAME dengan nama perangkat sebenarnya
  • Flash perangkat keras dengan menentukan target TinyGo dan nama perangkat
haystack flash DEVICENAME nano-rp2040
  • Perintah ini menggunakan TinyGo untuk mengompilasi firmware yang berisi kunci dan melakukan flashing ke perangkat
  • Terakhir, unggah file JSON perangkat tersebut melalui UI web ke instance macless-haystack yang sedang berjalan
    • Buka aplikasi web Macless-Haystack di browser web, lalu pilih file DEVICENAME.json melalui tautan “Accessories” dan tombol “+”
    • Aplikasi web ini adalah aplikasi satu halaman yang hanya membaca dan menulis data lokal

Menampilkan data lokasi

  • Jika perangkat masuk ke jangkauan suatu iPhone, setelah beberapa waktu data Macless-Haystack akan muncul di UI web
  • Mungkin diperlukan waktu sampai data pertama ditampilkan

1 komentar

 
GN⁺ 2025-01-12
Pendapat di Hacker News
  • Benar-benar keren. Upaya seperti ini dan jaringan Find My selalu membuat saya takjub setiap kali melihatnya, tetapi alasan saya tidak memakai cara seperti ini secara langsung adalah karena suatu hari Apple bisa saja secara resmi menerima praktik menumpang jaringan seperti ini, atau sebaliknya melarang Apple ID yang punya riwayat terkait
    Saat ini Apple mengetahuinya, tetapi tidak mengambil sikap ke arah mana pun. Sampai Apple memberi dukungan yang lebih resmi, atau ada cara yang tidak terhubung langsung dengan Apple ID/akun saya, saya hanya akan menonton saja

    • Proses meminta lokasi tag tertentu tidak terikat dengan Apple Account. Seperti panduan di README, saat masuk ke macless haystack cukup gunakan akun burner
    • Saya pikir ada juga efek positif yang membuat Apple mungkin menutup mata terhadap ini. Semakin luas jaringan ini, adopsinya juga makin meningkat, dan jika melihat P2P sebagai struktur tingkat atas, ini adalah masalah yang lebih besar daripada vendor tertentu, jadi peningkatan adopsi dengan cara apa pun bisa menjadi kompromi yang layak diterima
      Terutama karena Apple tidak perlu turun tangan langsung, sepertinya pada akhirnya mereka akan lebih memanfaatkan kepadatan mesh daripada menekan adopsi sekarang
  • Musim panas lalu saya sedang berlibur di Portugal bersama istri, dan istri saya meninggalkan dompetnya di mobil Uber menuju bandara. Setelah menemukan dompet itu, pengemudi mengambil 20 dolar dan beberapa perhiasan lalu membuangnya, dan pada hari yang sama, lebih malam, kami melacaknya dengan AirTag sampai ke tempat parkir terbengkalai dan menemukannya lewat aplikasi Location
    Sejak itu saya memasang AirTag di semua tas dan mengganti baterainya sesuai jadwal

    • Saya juga memasang AirTag di semua tas saya. Beberapa tahun lalu di area bagasi hilang Bandara Sydney, saya pernah menunggu tas yang setelah berjam-jam bertanya ke maskapai dan bandara baru diketahui ada di sana
      Saat itu ada pria lain yang juga mengatakan barangnya ada di sana; sebulan sebelumnya di New Zealand, saat evakuasi dari pesawat, ia meninggalkan iPad di kantong kursi dan melacaknya sampai Sydney dengan Find My. Ia naik penerbangan internasional beberapa kali sebulan dan bilang AirTag adalah benda terbaik yang ia punya. Sejak itu saya juga menyembunyikan beberapa tag umpan di semua mobil dan tas, serta di dalam barang mahal yang mungkin dicuri
    • Bagaimana Anda tahu itu dilakukan oleh pengemudi, bukan oleh penumpang lain yang naik setelahnya?
  • Setelah membaca ini pun saya masih belum paham. Apakah ini bisa dipakai bersama Apple AirTag, atau kita harus membuat perangkat pelacak sendiri?

  • https://media.ccc.de/v/38c3-find-my-101

  • Ke depannya saya berharap lokasi beacon bisa diketahui dengan akurasi di bawah 1 meter kubik
    Istri saya punya ADD sehingga sering kehilangan barang. Tile suaranya tidak keras dan tidak stabil, dan kami tidak punya iPhone sehingga tidak bisa memakai AirTag. Saya sudah terlalu lelah untuk mempelajari matematika yang diperlukan untuk menemukan posisi beacon Bluetooth, tetapi saya berharap bisa melakukannya. Andai ada proyek software seperti “cukup tambahkan 4 papan Bluetooth kecil”, tetapi tampaknya bagi sebagian besar pengembang open source, ini bukan topik yang menggaruk bagian yang gatal itu

    • AirTag dan iPhone 11 atau lebih baru menyelesaikan persis masalah ini. Anda bisa menemukan AirTag dalam jarak kurang dari 1 kaki
      Lokasi presisi ditentukan bukan dari kekuatan koneksi Bluetooth, melainkan dengan ultra-wideband (UWB). Cara kerjanya memakai time-of-flight berdasarkan keterlambatan pada kecepatan cahaya, seperti GPS. Saat membuka aplikasi Find My, Anda dengan sangat cepat mengetahui jarak akurat ke AirTag, lalu saat berjalan-jalan, aplikasi menghitung arah AirTag dari perubahan posisi yang teramati. Teknologinya cukup keren. Di aplikasi Find My, Anda harus memakai fitur “Find”, bukan “Play Sound”, dan perlu iPhone 11+ yang memiliki chip ultra-wideband H1. Biayanya mungkin mirip dengan memasang beberapa papan Bluetooth di rumah dan jauh lebih akurat, tetapi kesenangan mengutak-atiknya lebih sedikit
      https://en.wikipedia.org/wiki/Ultra-wideband#Real-time_locat...
    • Kami juga sama-sama hanya memakai Android, tetapi sedang mempertimbangkan membeli iPhone 11 atau 12 mini yang layarnya pecah dan menyimpannya khusus untuk pencarian presisi AirTag
      Setidaknya sepertinya tidak ada alternatif setara yang sekaligus punya lokasi presisi ultra-wideband, ketersediaan untuk dibeli, harga yang wajar, dan stabilitas. Di sisi lain, sebagian Android tampaknya punya dukungan UWB yang mungkin bisa bekerja bersama UWB milik Tile: https://www.zdnet.com/article/how-to-enable-uwb-on-android-a...
    • Saya berharap Bluetooth Channel Sounding menjadi lebih luas dalam beberapa tahun ke depan. Konon ini bisa memberi semua perangkat BLE kemampuan estimasi jarak yang mirip, meski kurang akurat dibanding UWB
      https://www.bluetooth.com/learn-about-bluetooth/feature-enha...
    • Saya juga punya ADHD dan terus-menerus kehilangan barang, dan tag Pebblebee cukup membantu. Saya memasang tag di kunci dan kartu di dompet, dan suaranya cukup keras sampai terdengar dari lantai lain bahkan di rumah tua dengan dinding bata tebal
    • Sepertinya “matematika yang diperlukan” yang dimaksud di sini adalah triangulasi posisi dengan beacon tetap. Bahkan Apple pun memakai cara mengirim lokasi ponsel yang menerima sinyal, sehingga muncul cerita polisi mendatangi rumah yang salah gara-gara headphone yang ditemukan anak tetangga di bus
      Dulu saya pernah mengutak-atik beacon, dan membuatnya bekerja sendiri cukup mudah. Saya menulis program kecil agar laptop bertindak seperti beacon, lalu memakai aplikasi “Bluetooth tracker” mana saja di ponsel untuk melihat perkiraan jarak ke beacon tersebut. Setelah itu tinggal berjalan-jalan sambil memperhatikan jaraknya
  • Sepertinya sekarang bisa dipakai bahkan tanpa Mac? Kalau begitu luar biasa. Pelacak Apple hanya beberapa euro saja, tentu untuk produk pihak ketiga

  • Entah cuma saya, tapi seluruh fitur jaringan Find My ini terlihat seperti mimpi buruk keamanan. Saya paham kegunaannya, tapi bukankah lembaga tertentu bisa meminta Apple untuk memberi tahu di mana orang ini berada, bahkan tanpa cakupan seluler?
    Bagaimanapun, karena ini saya memutuskan keluar dari ekosistem Apple, dan dari sisi pengawasan ini tampak seperti mimpi buruk

    • Sistem ini dirancang tepat untuk membuat hal seperti itu mustahil dilakukan
      Tag tidak mengetahui lokasinya sendiri, dan hanya menyiarkan kunci publik yang berotasi miliknya. Karena kuncinya berubah secara acak, Anda sebagai pemilik sah bisa memprediksinya, tetapi pihak ketiga sulit mengikuti tag itu dengan mudah. Perangkat lain melihat kunci tersebut, lalu mengenkripsi lokasinya sendiri dengan kunci publik tag dan membagikannya. Jadi mendapatkan datanya cukup sulit, dan secara praktis mustahil kecuali Apple dipaksa mendesain ulang sistem dan mendistribusikan pembaruan berbahaya. Biasanya tingkat seperti itu dianggap berada di luar jangkauan panggilan pengadilan biasa
    • Mustahil. Apple tidak tahu siapa memiliki tag apa. Ini dibuat dengan desain yang berpusat pada privasi. Saya tahu Apple mengusung perlindungan privasi tetapi juga punya agenda lain, namun saya sudah melihat dokumen desain teknisnya dan ini cukup bagus
      Saya ragu Samsung dan Google melangkah sejauh ini pada pelacak mereka
    • https://support.apple.com/guide/security/find-my-security-se...
    • Perlu disebutkan bahwa di Find My ada dua “jaringan” yang berbeda. Yang satu adalah jaringan tempat perangkat Apple lain membantu menemukan barang Anda, dan yang lain adalah jaringan tempat perangkat Anda mengunggah lokasinya sendiri langsung ke Apple
      Aplikasi Find My menggabungkan keduanya untuk menampilkan lokasi terbaru. Menurut saya proyek ini tampaknya hanya memakai yang pertama, dan sisi itu secara desain memerlukan backdoor yang eksplisit. Namun jika yang ingin Anda lindungi adalah dari lembaga pemerintah, jaringan yang kedua kemungkinan merupakan bagian yang lebih perlu dikhawatirkan
    • Jika Anda khawatir ini adalah mimpi buruk keamanan, Anda bisa mematikannya di pengaturan: Settings → your_name → Find My → device → toggle off
      Jika Anda tidak percaya bahwa ini benar-benar akan dinonaktifkan meski sudah dimatikan, maka Anda perlu memikirkan secara mendalam semua perangkat elektronik yang Anda miliki. Apakah Anda memercayai firmware ponsel Android? Chip modem yang bukan open source? Kartu SIM yang menjalankan Java? Apakah remote TV Anda tidak punya mikrofon yang tidak Anda sadari? Nyatanya banyak remote memilikinya. Bahkan pemanggang roti kemungkinan berisi chip yang lebih kuat daripada komputer era DOS yang terhubung ke jaringan. Punya saya juga begitu. Bagaimana Anda tahu itu tidak tersambung ke Wi-Fi sekitar dan mengirim informasi? Setelah kasus China/iCloud, saya tidak sepenuhnya memercayai Apple, tetapi di antara perusahaan teknologi besar, mereka tetap pihak yang paling saya percayai