Tahun ini, Anda dan teman Anda Steve Stevington memulai startup pelacakan pengguna. Bisnis ini didasarkan pada
kebocoran metadata WhatsApp yang Anda temukan . Anda berdua harus tetap belajar manajemen, tetapi tetap saja perusahaan telah tumbuh menjadi perusahaan yang kuat, meskipun tidak stabil dengan 65 magang dan mahasiswa yang beragam, pekerja lepas dan pekerja tidak dibayar dalam masa percobaan. Anda baru saja pindah ke kantor baru yang bagus di departemen sastra abad ke-19 dari Perpustakaan Umum San Francisco, dan Anda memiliki reputasi yang patut ditiru di bidang pemasaran Internet.
Tetapi di bawah penampilan yang mengkilap dan meragukan ini menyembunyikan membusuk. Anda mencurigai bahwa teman baik Anda, co-founder dan co-executive director Steve Stevington, berkomplot melawan Anda. Dia kehabisan perpustakaan sepanjang waktu pada waktu yang aneh dan di suatu tempat menghilang selama berjam-jam. Ketika Anda bertanya ke mana dia pergi, dia membangun seringai aneh, yang mungkin dianggapnya seringai jahat - dan memberitahu Anda untuk tidak khawatir. Anda telah menginstruksikan pustakawan untuk mengikutinya beberapa kali, tetapi mereka semua mengerikan dalam pekerjaan lapangan.
Anda telah tinggal di Silicon Valley selama beberapa waktu - dan Anda tahu kekejaman kejam yang terjadi ketika sejumlah besar uang dan data pengguna dipertaruhkan. Steve Stevington mungkin berusaha meyakinkan investor untuk mengusir Anda dari bisnis. Anda berpikir bahwa Peter Thiel akan mendukung Anda, tetapi sulit untuk mengatakan tentang Bibi Martha. Jadi, Anda perlu mencari tahu ke mana Steve pergi.
Untungnya, dia adalah pengguna Tinder yang rajin.
Aplikasi Tinder melacak lokasi penggunanya untuk memberi tahu pasangan potensial seberapa jauh mereka dari satu sama lain. Hal ini memungkinkan pengguna untuk membuat keputusan cerdas: apakah benar-benar layak mengemudi 13 kilometer untuk bertemu pasangan di 6 atau 6,5 poin ketika mereka mandi, es krim di lemari es dan bekerja di pagi hari. Dengan kata lain, Tinder tahu persis ke mana Steve menuju. Dan jika Anda memilih exploit yang tepat, maka Anda juga akan segera mengetahuinya.
Untuk menentukan arah pencarian Anda, Anda memeriksa laporan kebocoran data lokasi sebelumnya untuk pengguna Tinder. Ada beberapa dari mereka. Pada 2013, ditemukan bahwa
server Tinder mengirim koordinat yang tepat dari kemungkinan kecocokan ke aplikasi seluler . Berdasarkan mereka, aplikasi menghitung jarak antar pengguna, tetapi tidak menampilkan koordinat di antarmuka. Namun, penyerang dapat dengan mudah mencegat lalu lintas jaringan Tinder sendiri, memeriksa data mentah, dan menentukan lokasi yang tepat dari target.
Respons Tinder API, termasuk lokasi yang tepatTinder mencoba memperbaiki kerentanan dengan diam-diam dengan menggeser perhitungan jarak ke server alih-alih aplikasi. Setelah itu, pesan jaringan yang dikirim dari server ke aplikasi hanya berisi jarak pra-perhitungan ini tanpa lokasi sebenarnya. Namun, Tinder dengan santai mengirim jarak dalam bentuk angka yang tidak dikelilingi dengan 15 tempat desimal.
Respons Tinder API, termasuk jarak yang akuratKelalaian ini memungkinkan
peneliti licik untuk menentukan lagi lokasi target dengan menggunakan eksploitasi untuk trilateration. Para peneliti mengirim tiga koordinat palsu ke Tinder dengan lokasi pengguna yang berbeda. Di setiap lokasi baru, mereka bertanya pada Tinder seberapa jauh targetnya. Kemudian, tiga lingkaran digambar di peta dengan pusat di koordinat palsu dan jari-jari sama dengan jarak yang diperoleh. Titik persimpangan - koordinat target dengan akurasi 30 meter.
Contoh Trilateration TinderTim keamanan Tinder melihat orang-orang yang terus-menerus membuat mereka bekerja, menghela nafas dan diam-diam memperbaiki kerentanan. Sekarang Tinder mengirimkan jarak yang dibulatkan ke kilometer ke aplikasi. Anda masih dapat menggunakan prosedur trilaterasi yang ditunjukkan untuk menentukan koordinat target dalam satu kilometer atau lebih. Tetapi di kota padat penduduk San Francisco, ini tidak akan memberikan jawaban, ke mana Steve Stevington yang licik pergi.
Pada hari Jumat sore, meringis mencuri muncul kembali di wajah Steve Stevington, menunjukkan kesediaan untuk mengambil berbagai tindakan di tempat-tempat yang tidak diketahui. Anda harus mencari tahu ke mana dia menuju sebelum terlambat. Anda mengunci diri di akun Anda - di ruang baca perpustakaan di lantai 4. Setelah lima belas menit bernafas dalam dan bahkan refleksi yang lebih dalam, Anda memiliki rencana untuk menghidupkan kembali eksploitasi trilateration Tinder dan mencari tahu ke mana tujuan Stevenator.
Misalkan Tinder sekarang menghitung jarak yang tepat pada server, membulatkannya ke bilangan bulat terdekat, dan kemudian mengirim angka bulat ke ponsel Anda. Anda dapat memulai serangan baru dengan cara yang sama seperti dengan trilateration. Kami mengirim lokasi Tinder palsu dan bertanya seberapa jauh targetnya. Tinder dapat menjawab "8 kilometer", yang dengan sendirinya tidak banyak digunakan. Tetapi kemudian Anda dapat memindahkan satu piksel ke utara, menanyakan jarak dengan setiap langkah. Server akan menjawab "8 kilometer, 8 kilometer, 8 kilometer, 8 kilometer, 7 kilometer". Jika asumsi Anda tentang proses pembulatan benar, maka titik di mana jawaban berubah sesuai dengan jarak yang tepat ke target 7,5 kilometer. Jika Anda mengulangi prosedur ini tiga kali dan menggambar tiga lingkaran, maka kita akan kembali menggunakan exploit trilateration.
Kami melakukan tindakan aktif. Sementara Wilson pergi ke toilet, pinjam teleponnya untuk pengujian - Anda tahu bahwa dia menggunakan Tinder, dan kode buka kunci terlihat pada sidik jari di layar. Bicaralah dengan karyawan magang Anda yang belum dibayar pada masa uji coba sehingga mereka tidak menelepon Anda atau mengatakan apa pun kepada Wilson - dan bergegaslah ke sudut kantor Anda yang terpencil dan tidak berpenghuni di departemen fiksi untuk usia sekolah menengah. Di sana Anda membuka Tinder di kedua ponsel. Lanjutkan untuk menggesek hingga Anda mendapatkan kecocokan, dan kemudian menulis skrip Python pendek menggunakan
pynder untuk menipu panggilan Tinder API. Tempatkan Wilson di tengah Teluk San Francisco, lalu coba tentukan koordinatnya, ubah lokasi piksel demi piksel untuk menemukan titik ketika jarak antara Anda berubah dari satu angka bulat ke angka bulat lainnya.
Tapi ada yang salah. Malam telah tiba, makan malam telah berlalu, dan Anda belum menemukan Wilson. Anda agak dekat, tetapi tidak cukup. Lingkaran kadang-kadang sangat dekat dengan persimpangan, tetapi biasanya tidak memberikan jawaban yang berarti di mana Wilson berada. Anda mulai putus asa. Saat ini juga, Steve Stevington dapat menandatangani kontrak baru dengan Peter Thiel dan Bibi Marta. Dia mungkin telah memperbarui halaman LinkedIn perusahaan Anda, menamai Anda "Penasihat," "Asisten," atau "Mantan CEO." Perpustakaan ditutup - dan Anda pindah ke dapur. Wilson terus menelepon, tetapi magang masa percobaan tidak menyerah. Bahkan sebuah pemikiran singkat melompat untuk memberi mereka pekerjaan.

Frustrasi, Anda mundur selangkah dan memukul kepala Anda di rak yang lebih rendah. Ketika Anda keluar dari tumpukan produk pembersih, Anda sedang mempertimbangkan kemungkinan bahwa asumsi mungkin salah. Mungkin Tinder tidak hanya membulatkan jarak yang tepat. Anda mengambil camilan dari kulkas karyawan perpustakaan untuk membantu proses berpikir. Berhenti menggambar lingkaran dan mulai berjalan di sepanjang garis di sekitar lokasi sebenarnya Wilson, tandai setiap perubahan dalam jarak.
Pada jam kedua malam itu semuanya menjadi jelas.
Menempatkan tanda pada peta berdasarkan jarak TinderSekarang Tinder sangat bersemangat untuk privasi pengguna sehingga memecah klip membosankan geometri konvensional. Dia meninggalkan Euclid. Dia tidak membutuhkan
formula haversinus . Sebagai gantinya, Tinder menggunakan dua inovasi dalam menghitung jarak antar pertandingan.
Pertama, dan yang paling penting, itu membagi kota menjadi kotak sekitar 1 Γ 1 mil. Saat menghitung jarak, lokasi target dipotret ke tengah kotak persegi saat ini. Kemudian menghitung dan mengembalikan perkiraan jarak antara Anda
dan lokasi terlampir ini .
Tinder mengunci lokasi pengguna ke kisiKedua, ia menghitung jarak seolah-olah dengan formula uniknya. Untuk melakukan ini, peta kasar, jarak yang telah ditentukan diambil - dan ditumpangkan di tengah alun-alun target. Tinder mencari lokasi penyerang di hamparan ini dan mengembalikan jarak yang sesuai. Dalam perhitungan normal jarak Euclidean, ini akan menjadi satu set lingkaran konsentris.

Tapi Tinder tampaknya menggunakan overlay konsentris dengan kurva aneh di sudut saat bergerak menjauh dari target.

Antara lain, ini berarti bahwa Tinder sering mengembalikan jarak yang sedikit salah. Anda mencurigai bahwa pembulatan sudut diperlukan untuk mengoreksi jarak yang
terlalu salah yang timur laut satu sama lain.
Snapping mesh adalah inovasi utama dalam pendekatan Tinder. Ini berarti bahwa Tinder akan selalu mengembalikan jarak yang sama jika target berada di mana saja dalam kotak kisi yang diberikan. Eksploitasi trilaterasional Anda tidak akan berfungsi. Dan jika Tinder benar-benar menerapkan pengikatan jala, maka tidak akan ada eksploit murni yang dapat bekerja. Tidak ada cara untuk menemukan lokasi target dengan akurasi lebih besar dari batas salah satu kotak kisi (sekitar) 1 Γ 1 mil. Bahkan pengawasan kasar semacam itu dapat membuat pengguna Tinder heran. Namun pada kenyataannya, ini adalah perilaku yang cukup masuk akal untuk aplikasi tersebut, fungsi utamanya adalah untuk memberi tahu orang asing di mana tentang Anda.
Anda benar-benar tidak tahu mengapa Tinder menggunakan lapisan kotak yang aneh dengan sudut bulat. Selama lokasi pengguna diikat ke kisi, Tinder dapat menggunakan jarak Euclidean normal tanpa membahayakan privasi. Mungkin hanya bahwa metrik baru dihitung lebih cepat, dan terlepas dari ajaran Gordon Moore, komputer masih terbatas. Namun, semua ini mengarah pada kesimpulan bahwa Tinder aman - dalam aspek yang sangat sempit ini - dan Anda gagal.
Perpustakaan dalam kegelapan total, tidak termasuk cahaya hijau Xerox. Anda sedih, tapi rajin menyapu trek. Taruh di lemari dan buang telepon Wilson ke mesin penghancur industri perpustakaan. Keluar melalui pintu masuk utama, curi sepeda yang rusak parah dan kendarai pulang dengan sedih.
Pagi berikutnya, Steve Stevington memberi Anda salah satu dari beberapa direktur yang dikerjakannya di kelas keramik sore rahasia. Ini benar-benar menjijikkan. Akan lebih baik jika dia memberimu satu dari sepasang uang kertas sepuluh dolar dan tinggal di kantor. Dia bekerja sedikit dan buruk, dan Anda harus mengadakan banyak pertemuan dan banyak berbohong - biasanya ini adalah pekerjaannya. Tapi setidaknya dia tidak mencuri perusahaanmu. Anda menuangkan kopi Wilson ke cangkir konyol Anda dan berharap kesehatan yang baik untuk teman baik Anda.
Ketika Anda tertidur di malam hari, pikiran muncul di kepala Anda tentang apa yang terjadi dengan grid Tinder di Kutub Utara ...
Kode Anda dari artikel ini dipublikasikan di Github . Harap informasikan diri Anda jika Anda memiliki pertanyaan atau menemukan kesalahan.