Browser Fingerprinting: Apa yang Sebenarnya Dibaca Situs

Tur nilai demi nilai tentang apa yang dikumpulkan situs web, dari canvas dan WebGL hingga audio, font, layar, dan zona waktu, serta mengapa identitas yang koheren mengalahkan yang diacak.
Browser fingerprinting adalah praktik mengidentifikasi browser lewat nilai yang dilaporkannya, bukan lewat sesuatu yang disimpannya. Tidak perlu cookie. Browser hanya menjawab pertanyaan yang boleh diajukan halaman web mana pun, dan jawaban-jawaban itu bersama-sama cukup khas untuk dikenali lagi.
Nilai-nilai yang dikumpulkan
Sebagian besar skrip fingerprinting membaca dari beberapa permukaan yang sama.
Yang kasatmata
- User agent memuat nama browser, versi, dan platform, dan dikirim pada setiap permintaan.
- Layar melaporkan lebar, tinggi, kedalaman warna, rasio piksel, dan area kerja yang tersedia.
- Bahasa dan zona waktu mencakup locale yang dilaporkan browser dan selisih waktu yang dihitungnya.
- Petunjuk perangkat keras memberikan jumlah prosesor yang dilaporkan dan, pada beberapa browser, perkiraan kapasitas memori.
Yang berkaitan dengan rendering
Inilah nilai yang dimaksud orang ketika menyebut fingerprinting, karena sifatnya tidak langsung. Halaman meminta browser menggambar sesuatu lalu membaca kembali persis apa yang tergambar.
- Pekerjaan canvas merender teks dan bentuk ke canvas di luar layar lalu menghash-nya. Hasilnya bervariasi menurut tumpukan grafis, font, dan anti-aliasing.
- WebGL mengekspos string vendor dan renderer adapter grafis, ditambah hash dari sebuah adegan yang dirender.
- Audio menjalankan osilator melalui graf pemrosesan audio dan menghash keluarannya. Perilaku floating-point sedikit berbeda antar tumpukan.
- Deteksi font mengukur teks dalam font kandidat dan menyimpulkan mana yang terpasang dari ukuran yang berbeda.
Yang berkaitan dengan jaringan
- Alamat asal permintaan, dan apa yang dikatakan basis data geolokasi tentangnya.
- WebRTC, yang dapat membuka alamat yang kalau tidak takkan diekspos koneksi.
- Urutan dan isi bidang handshake TLS dan HTTP, yang bervariasi menurut klien.
Mengapa mengacak setiap nilai adalah naluri yang salah
Pertahanan yang intuitif adalah mengubah segalanya pada setiap kunjungan. Ini berbalik merugikan, karena dua alasan.
Yang pertama adalah kontradiksi. Nilai yang diacak tidak saling mengetahui. User agent yang mengaku Windows bersama string renderer WebGL yang hanya ada di perangkat keras Apple adalah sinyal yang lebih kuat daripada nilai mana pun sendirian. Mesin asli konsisten secara internal; hanya mesin sintetis yang tidak sepakat dengan dirinya sendiri.
Yang kedua adalah ketidakstabilan. Akun yang melaporkan perangkat berbeda pada setiap kunjungan sedang menggambarkan sesuatu yang tidak dimiliki orang sungguhan. Konsistensi dari waktu ke waktu adalah seperti apa pengguna biasa.
Apa yang dicakup identitas sebuah profil
| Permukaan | Ditangani oleh |
|---|---|
| User agent dan platform | Dibuat bersama, sehingga platform yang diklaim cocok dengan nilai di sekitarnya |
| Layar dan rasio piksel | Tetap per profil, diambil dari ukuran yang benar-benar dilaporkan layar asli |
| Zona waktu dan locale | Diatur per profil, dan dicocokkan dengan jalur jaringan yang dipakainya |
| Canvas, WebGL, dan audio | Diberi perlakuan stabil per profil, identik pada setiap pembukaan |
| Font | Satu set per profil yang konsisten dengan platform yang diklaim profil |
| WebRTC | Dibatasi agar tidak bertentangan dengan jalur jaringan profil |
Memeriksa hasil kerja Anda
Buka profil dan kunjungi halaman uji fingerprinting. Beberapa menerbitkan nilai yang dibacanya, gratis. Dua hal yang layak diperiksa bukanlah yang mungkin Anda duga:
- Apakah nilai-nilainya cocok satu sama lain? Platform, font, string grafis, dan zona waktu harus menggambarkan satu mesin yang masuk akal.
- Apakah sama seperti terakhir kali? Tutup profil, buka lagi, muat ulang pengujian. Profil yang nilainya bergeser di antara pembukaan tidak stabil, dan stabilitas adalah properti yang penting.
Skor kelangkaan di halaman uji adalah angka yang paling tidak berguna di sana. Angka itu mengukur Anda terhadap pengunjung halaman tersebut, yang sebagian besar adalah orang yang sedang menguji antidetect browser.


