Apa itu fingerprinting browser, dan apa yang sebenarnya bisa dibaca situs web?

Setiap kali Anda membuka halaman, browser menyerahkan kepada situs daftar panjang fakta tentang dirinya sendiri. Tidak ada yang rahasia, tidak ada yang meminta izin, dan sebagian besar ada agar halaman dapat tampil dengan benar. Fingerprinting terjadi ketika situs berhenti memakai fakta-fakta itu untuk menampilkan halaman dan mulai memakainya untuk mengenali Anda.
Apa yang bisa dibaca halaman tanpa bertanya
Skrip yang berjalan di tab biasa dapat membaca, antara lain: string user agent, daftar bahasa pilihan, zona waktu, ukuran layar dan kepadatan piksel, jumlah thread CPU, angka memori perangkat yang dibulatkan, kedalaman warna, apakah sentuhan didukung, nama renderer grafis di balik WebGL, serta hasil menggambar gambar kecil ke canvas atau merender buffer audio pendek. Skrip juga dapat mengamati berapa lama operasi tertentu berjalan, font mana yang mengubah lebar satu baris teks, dan perangkat media apa yang ada (jumlahnya, bukan namanya, kecuali Anda memberi akses).
Secara terpisah, semua ini membosankan. Zona waktu mempersempit Anda menjadi beberapa ratus juta orang. Bersama-sama, ia mempersempit jauh lebih jauh, karena kombinasinya yang langka. Mesin Windows dengan string renderer NVIDIA tertentu, 12 thread, layar 2560×1440, bahasa Prancis dan Inggris dalam urutan itu, dan hash canvas tertentu bukanlah kerumunan.
Apa yang membuat sebuah sinyal berguna untuk identifikasi
Tiga sifat yang penting. Sinyal harus stabil: browser yang sama seharusnya memberi nilai yang sama besok. Harus beragam: browser yang berbeda seharusnya memberi nilai yang berbeda. Dan harus murah: bisa dibaca dalam milidetik tanpa permintaan izin. Hash canvas unggul dalam ketiganya, itulah sebabnya ia muncul di setiap pustaka fingerprinting. Ukuran layar unggul dalam dua yang pertama dan sempurna dalam yang ketiga. User agent dulu unggul dalam keberagaman dan sengaja diratakan oleh vendor browser karena alasan persis itu.
Apa yang tidak bisa dibaca halaman
Bagian ini sering dibesar-besarkan. Skrip halaman tidak dapat melihat alamat asli Anda jika Anda berada di balik proxy: ia melihat apa pun yang disajikan proxy. Ia tidak dapat membaca tab lain, riwayat, bookmark, atau kata sandi tersimpan Anda. Ia tidak dapat memastikan apakah Anda berada di jendela privat; heuristik yang mengklaim bisa melakukannya sering rusak. Ia tidak bisa mengetahui nama Anda. Dan ia tidak dapat memutuskan sendiri apakah sebuah alamat adalah proxy atau pusat data: vonis itu berasal dari basis data reputasi yang dibayar situs, bukan dari apa pun yang dikatakan browser Anda.
Situs yang menampilkan "skor bot" atau "proxy: ya" menggabungkan apa yang dilaporkan browser Anda dengan data dari pihak ketiga. Itu hal yang sah untuk dilakukan, tetapi penting untuk tahu bagian mana yang pengukuran dan bagian mana yang pencarian.
Mengapa halaman diagnostik ada
Halaman diagnostik seperti PowerScan membaca sinyal yang sama dengan yang dibaca pelacak dan menunjukkannya kepada Anda alih-alih menyimpannya. Tujuannya bukan memberi Anda skor. Tujuannya agar Anda bisa memeriksa dua hal: apakah sinyal yang Anda harapkan tersembunyi ternyata terlihat, dan apakah sinyal-sinyal itu konsisten satu sama lain. Ketidakkonsistenan adalah yang membuat akun ditandai: alamat di satu negara, jam browser di negara lain, kandidat WebRTC yang tidak cocok dengan alamat asal Anda.
Saat membaca laporan, perlakukan setiap baris sebagai jawaban atas satu pertanyaan: "apa yang baru saja dikatakan browser ini kepada halaman ini?" Tidak lebih. Hash bukan vonis, dan jumlah sinyal yang terbaca bukan ukuran seberapa nyata Anda terlihat.


