Setiap perangkat Wi-Fi punya pengenal unik yang dipancarkan terus-menerus, dan pengenal itu bisa dipakai untuk menebak di mana perangkat tersebut berada. Bukan lewat GPS, bukan lewat triangulasi sinyal yang rumit, tetapi lewat basis data lokasi yang dibangun dari hasil pemindaian jutaan perangkat. Proyek open source bernama WaveDigger memperlihatkan seberapa mudah proses itu dijalankan oleh siapa pun yang punya laptop dan koneksi internet.
Artikel ini membahas apa yang dilakukan WaveDigger, teknologi di baliknya, dan yang lebih penting, apa artinya bagi keamanan dan privasi. Perlu ditegaskan sejak awal: ini bukan alat untuk membobol jaringan. Ini alat untuk menerjemahkan pengenal yang bersifat publik menjadi perkiraan titik di peta, dan justru kesederhanaannya itu yang membuatnya layak dipahami tim keamanan.
Apa Itu WaveDigger
WaveDigger mendeskripsikan dirinya sebagai alat untuk menyelidiki sinyal nirkabel guna menemukan lokasi fisiknya. Ada dua jenis target yang bisa dicari. Pertama, titik akses Wi-Fi, dicari berdasarkan BSSID. Kedua, menara seluler, dicari berdasarkan parameter jaringan untuk LTE dan 5G NR. Istilah BSSID merujuk pada alamat MAC yang mengidentifikasi satu titik akses tertentu, bukan sekadar nama jaringan yang dipancarkan ke pengguna.
Dari sisi rekayasa, WaveDigger dibangun memakai Next.js dan TypeScript, dengan peta interaktif berbasis deck.gl. Sebuah versi yang dihosting tersedia di wavedigger.networksurvey.app. Repositori proyeknya mencatat sekitar 241 bintang dan 14 fork di GitHub, dengan 83 commit pada cabang utama. Skala itu menunjukkan proyek ini bukan perkakas raksasa, melainkan aplikasi kecil yang berdiri di atas riset orang lain.
Fitur yang Tersedia
Fitur intinya sederhana: masukkan BSSID, lalu hasilnya ditampilkan sebagai perkiraan lokasi di peta. Ada validasi dan pemformatan otomatis untuk masukan pengguna, sehingga BSSID bisa dimasukkan dalam beberapa format: dengan pemisah titik dua, dengan pemisah tanda hubung, atau sebagai rangkaian karakter tanpa pemisah sama sekali. Tiga format itu mencakup cara orang biasa menyalin pengenal dari pengaturan perangkat atau dari tangkapan layar pemindai jaringan.
Fitur kedua adalah pencarian menara seluler. Untuk LTE, yang dipakai adalah kombinasi MCC, MNC, TAC, dan Cell ID. Untuk 5G NR, yang dipakai adalah MCC, MNC, TAC, dan NCI. MCC dan MNC mengidentifikasi negara dan jaringan operator, sementara TAC dan Cell ID atau NCI mengidentifikasi sel tertentu di dalam jaringan itu. Satu detail menarik: pencarian NR mengembalikan sel target sekaligus sel-sel NR di sekitarnya yang berada dalam klaster yang sama, sehingga hasilnya bisa berupa sekelompok titik, bukan satu titik tunggal.
Di sisi antarmuka, ada peta interaktif untuk memvisualisasikan hasil, riwayat pencarian agar penelusuran sebelumnya bisa dibuka lagi, dan tata letak responsif yang bekerja di komputer maupun perangkat bergerak. Kombinasi itu membuat alat ini nyaman dipakai untuk pekerjaan lapangan yang butuh pengecekan cepat.
Cara Kerjanya: Meminjam Layanan Lokasi Publik
Bagian teknis yang paling penting adalah sumber datanya. WaveDigger tidak memindai apa pun dari udara. Ia bertanya ke layanan lokasi publik milik Apple. Kredibilitas proyek ini berasal dari riset proyek lain bernama apple-corelocation-experiments, yang membalik rekayasa cara kerja layanan lokasi Apple.
Dari riset itu, WaveDigger memakai beberapa hal: definisi protobuf untuk API yang disebut WLOC, dokumentasi endpoint beserta format permintaan dan tanggapannya, pemahaman tentang cara koordinat dikodekan, dan deretan byte pembuka yang wajib dikirim agar permintaan dianggap sah oleh server. Implementasinya mengirim permintaan ke alamat layanan lokasi Apple, menangani konversi koordinat, dan mendukung endpoint wilayah default maupun endpoint khusus wilayah Tiongkok.
Satu detail kecil yang menunjukkan betapa dalam rekayasa ini dibedah: Apple mengirim koordinat dalam bilangan bulat 64 bit dengan delapan angka desimal. Artinya presisi koordinat disimpan sebagai bilangan bulat berskala, bukan sebagai bilangan pecahan langsung. Pemahaman seperti ini hanya didapat dari membedah lalu lintas jaringan sungguhan, bukan dari dokumentasi resmi, karena dokumentasi resminya tidak ada untuk keperluan ini.
Kenapa BSSID Bisa Menunjuk Lokasi
Jawabannya ada pada cara kerja sistem penentuan posisi berbasis Wi-Fi. Perangkat modern, ketika layanan lokasi aktif, ikut melaporkan daftar jaringan Wi-Fi yang terdeteksi di sekitarnya beserta kekuatan sinyalnya. Laporan itu masuk ke basis data besar bersama perkiraan lokasi perangkat pelapor, yang biasanya didapat dari GPS. Dari jutaan laporan seperti itu, terbentuklah peta yang menghubungkan setiap BSSID dengan perkiraan koordinat.
Peta itulah yang membuat penentuan posisi tanpa GPS bisa bekerja, dan peta yang sama juga bisa ditanyakan balik: kalau saya tahu BSSID-nya, di mana kira-kira titik akses itu berada. Yang sering tidak disadari adalah sisi sebaliknya. Karena perangkat ikut menyumbang data, keberadaan sebuah jaringan Wi-Fi pribadi bisa terpetakan tanpa pemiliknya pernah mendaftarkan diri ke layanan mana pun.
Untuk menara seluler, prinsipnya mirip tetapi tingkat presisinya berbeda. Jangkauan satu sel jauh lebih luas daripada satu titik akses Wi-Fi, jadi hasilnya berupa area, bukan titik. Meski begitu, untuk banyak keperluan, mengetahui bahwa sebuah perangkat berada di area tertentu sudah cukup informatif.
Menjalankannya Sendiri
Dari sisi pemasangan, WaveDigger relatif ringan. Prasyaratnya adalah Node.js versi 24 atau lebih baru beserta npm. Setelah dependensi dipasang, server pengembangan bisa dijalankan dan aplikasi dibuka di peramban pada alamat lokal. Untuk ubin peta yang lebih baik, tersedia opsi menambahkan token Mapbox melalui berkas lingkungan lokal, dan tanpa token itu pun aplikasi tetap berjalan dengan penyedia peta bawaan.
Arsitektur teknisnya memakai Next.js 15 dengan TypeScript, deck.gl bersama react-map-gl untuk visualisasi peta, Tailwind CSS untuk tampilan, dan rute API Next.js sebagai perantara permintaan ke layanan lokasi. Pemisahan itu penting dari sudut keamanan: permintaan ke layanan pihak ketiga dilewatkan server aplikasi, bukan dikirim langsung dari peramban pengguna, sehingga logika rekayasa baliknya tidak seluruhnya terekspos di sisi klien.
Implikasi Keamanan dan Privasi
Inilah bagian yang membuat proyek ini layak dibahas di konteks keamanan. Selama bertahun-tahun, banyak organisasi memperlakukan alamat MAC perangkat mereka sebagai data internal yang tidak berbahaya. Kenyataannya, satu BSSID yang bocor bisa dipakai untuk memperkirakan lokasi fisik perangkat tersebut, dan kalau perangkat itu adalah router kantor, yang bocor bukan hanya lokasinya, melainkan juga konteks kehadiran orang di lokasi itu.
Kebocoran BSSID tidak harus terjadi lewat peretasan. Pengenal itu terpancar ke udara, bisa terbaca dari luar gedung dengan antena sederhana, dan bisa tercatat tanpa pernah menyentuh sistem yang dilindungi. Siapa pun yang pernah memindai jaringan sekitar dan menyimpan hasilnya sudah memegang bahan mentah untuk pencarian seperti yang dilakukan WaveDigger. Karena itu, menganggap BSSID sebagai rahasia adalah asumsi yang keliru.
Ada pula sisi sebaliknya yang perlu dipahami tim yang membangun aplikasi. Aplikasi yang membaca daftar jaringan Wi-Fi di sekitar pengguna, lalu mengirimkannya ke server, secara tidak langsung ikut membangun basis data lokasi. Banyak pengguna tidak menyadari bahwa izin lokasi sekaligus membuka jalur pelaporan jaringan sekitar. Untuk aplikasi yang peduli privasi, keputusan tentang apa yang dikirim ke server adalah keputusan desain, bukan detail teknis.
Pada perangkat konsumen, produsen sistem operasi sudah lama mengadopsi pengacakan alamat MAC ketika perangkat memindai jaringan. Tujuannya persis untuk mengurangi pelacakan berbasis pengenal tetap. Namun pengacakan itu melindungi pengenal perangkat yang memindai, bukan menghapus keberadaan titik akses yang diamati. Titik akses tetap punya BSSID tetap, dan selama perangkat lain melaporkannya, peta lokasinya tetap terbentuk.
Yang Bisa Dilakukan Tim
Beberapa langkah praktis bisa diambil tanpa mengubah arsitektur besar. Pertama, perlakukan daftar BSSID sebagai data sensitif. Tangkapan pemindaian jaringan yang lama, berkas konfigurasi, dan log perangkat lapangan sebaiknya tidak dibiarkan terbuka karena semuanya bisa menunjuk lokasi. Kedua, saat mengirim perangkat kerja ke lapangan, pertimbangkan bahwa jejak jaringan yang terekam di perangkat ikut menunjukkan di mana perangkat itu pernah berada.
Ketiga, untuk aplikasi yang meminta izin lokasi, tinjau lagi apakah pembacaan daftar jaringan sekitar benar-benar dibutuhkan, atau bisa digantikan dengan mekanisme yang lebih hemat privasi. Keempat, sertakan topik ini dalam materi kesadaran keamanan. Banyak orang paham bahwa foto bisa mengandung metadata lokasi, tetapi belum tentu paham bahwa alamat MAC pun bisa dipakai untuk hal serupa.
Kenapa Rekayasa Balik seperti Ini Berguna
Ada alasan lebih dalam mengapa proyek semacam WaveDigger layak diperhatikan, di luar fungsi praktisnya. Layanan lokasi yang dipakai di sini tidak didokumentasikan untuk umum. Tanpa upaya rekayasa balik yang dipublikasikan, pemilik jaringan, peneliti keamanan, dan pengguna biasa tidak akan pernah tahu sejauh mana perangkat mereka bisa dikaitkan dengan lokasi fisik tertentu. Riset terbuka itulah yang memaksa pertanyaan privasi ini masuk ke ruang diskusi, bukan sekadar menjadi dugaan.
Nilai lain dari riset terbuka adalah reprodusibilitas. Karena definisi protobuf, format permintaan dan tanggapan, cara pengodean koordinat, sampai deret byte pembuka yang wajib dikirim semuanya terdokumentasi, temuan itu bisa diperiksa ulang oleh orang lain. Klaim tentang apa yang dikirim perangkat ke server jadi bisa diuji, bukan diterima begitu saja. Untuk topik yang menyangkut data lokasi, kemampuan memverifikasi klaim secara independen adalah hal yang paling penting, karena kepercayaan pada dokumentasi resmi saja tidak cukup ketika dokumentasinya memang tidak pernah dibuat.
Batas dan Catatan Etis
Presisi hasil WaveDigger tidak bisa dijadikan bukti pasti. Basis data lokasi dibangun dari laporan yang bisa salah, sehingga titik akses yang dipindahkan dari satu lokasi ke lokasi lain bisa muncul di tempat lama untuk sementara. Untuk menara seluler, keluarannya berupa area, bukan titik. Jadi hasil alat ini paling tepat dipakai sebagai perkiraan awal, bukan sebagai penentu tunggal.
Dari sisi etika dan hukum, memakai alat seperti ini untuk memantau atau melacak orang lain jelas tidak dibenarkan, meskipun datanya berasal dari layanan publik. Sifat publik dari data tidak otomatis membuat pemakaiannya sah dalam semua konteks. Proyek ini dimaksudkan untuk penelitian dan pemahaman, dan nilainya justru terletak pada kesadaran yang dibangun: bahwa apa yang kita pancarkan ke udara bisa bekerja seperti alamat, dan alamat itu bisa dicari.
Kesimpulan
WaveDigger adalah contoh kecil dengan implikasi besar. Dari sisi rekayasa, ia menunjukkan bagaimana riset rekayasa balik atas protokol yang tidak terdokumentasi bisa menghasilkan aplikasi yang mulus, lengkap dengan peta interaktif dan pencarian menara seluler. Dari sisi keamanan, ia menegaskan bahwa pengenal nirkabel bukan data netral. BSSID, MCC, MNC, TAC, dan Cell ID adalah pengenal yang menghubungkan dunia digital dengan dunia fisik.
Untuk pengembang dan tim infrastruktur, kesimpulannya bukan untuk berhenti memakai Wi-Fi, melainkan untuk berhenti menganggap pengenal yang terpancar bebas risiko. Memahami cara kerja geolokasi berbasis jaringan adalah cara paling murah untuk menilai apa yang sebenarnya terbuka dari sistem yang kita kelola, dan alat seperti WaveDigger membuat pemahaman itu bisa dicapai tanpa harus memulai dari nol.
Rekomendasi Tools & Layanan
Kalau lo mau langsung praktikkan panduan di atas, dua layanan yang gue pake sehari-hari: free trial Alibaba Cloud buat coba-coba tanpa biaya di awal, dan ECS instance 9th-gen kalau udah siap naik ke VPS production.
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬