Apakah sidik jari peramban merupakan teknik yang layak untuk mengidentifikasi pengguna anonim?

96

Apakah sidik jari peramban merupakan metode yang memadai untuk mengidentifikasi pengguna anonim secara unik? Bagaimana jika Anda memasukkan data biometrik seperti gerakan mouse atau pola pengetikan?

Suatu hari saya berlari ke percobaan Panopticlick EFF berjalan pada sidik jari peramban .

Tentu saja saya langsung memikirkan dampak privasi dan bagaimana itu bisa digunakan untuk kejahatan. Tetapi di sisi lain, ini bisa digunakan untuk kebaikan besar dan, paling tidak, ini merupakan masalah yang menggoda untuk dikerjakan.

Saat meneliti topik saya menemukan beberapa perusahaan menggunakan sidik jari browser untuk menyerang penipuan. Dan setelah mengirimkan beberapa email, saya dapat mengonfirmasi setidaknya satu situs kencan utama menggunakan sidik jari peramban sebagai satu mekanisme untuk mendeteksi akun palsu. (Catatan: Mereka menemukan itu tidak cukup unik untuk bertindak sebagai identitas ketika meningkatkan ke jutaan pengguna. Tapi, otak programmer saya tidak ingin mempercayai mereka).

Berikut adalah satu perusahaan yang menggunakan sidik jari peramban untuk deteksi dan pencegahan penipuan:
http://www.bluecava.com/

Berikut adalah daftar lengkap barang yang dapat Anda gunakan sebagai pengidentifikasi unik di browser:
http://browserspy.dk/

SMrF
sumber
6
Seberapa mudah menulis plugin untuk peramban favorit Anda untuk mengubah sidik jari peramban Anda? Saya membayangkan jika itu bisa dilakukan, seseorang dapat mendistribusikan plugin semacam itu yang memungkinkan Anda mengubah sidik jari Anda sesuka hati. Bahkan dapat berisi "profil" yang sudah dimuat sebelumnya sehingga seluruh kelompok pengguna dapat menggunakan sidik jari yang sama ...
FrustratedWithFormsDesigner
1
Terkait Meta Stack Overflow diskusi tentang melakukan ini di Stack Exchange: Menerapkan beberapa bentuk sidik jari browser untuk membantu mengeluarkan kaus kaki
Mengenai menggunakan plugin untuk mengubah sidik jari browser. Artikel IEEE ini ( spectrum.ieee.org/computing/software/… ) berargumen mengapa itu bisa menjadi kontra-produktif
Pimin Konstantin Kefaloukos

Jawaban:

91

Pertama, saya pikir itu tidak realistis untuk mengharapkan pengguna menonaktifkan JavaScript di web modern. Jadi mari kita lihat apa yang bisa dikumpulkan Panopticlick melalui JavaScript saja, bersama dengan skor keunikan browser khusus saya:

  • Agen Pengguna (1 dalam 4,184)
  • HTTP_ACCEPT Header (1 dalam 14)
  • Rincian Plugin Browser (1 dalam 1,8 juta)
  • Zona Waktu (1 dalam 24)
  • Ukuran Layar dan Kedalaman Warna (1 dalam 1.700)
  • Font Sistem (1 dalam 11)
  • Cookie Diaktifkan? (1 dalam 1.3)
  • Tes SuperCookie terbatas (1 in 2)

Yang menonjol dari keunikan jelas-jelas adalah User Agent dan Browser Plugins. Ingatlah bahwa item-item ini digunakan bersama untuk membentuk sidik jari browser, sehingga mereka lebih dari sekuat skor individu. Keunikan kumulatif di sini adalah: 4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2alias NOMOR SANGAT BESAR . Itu ... sangat unik.

Saya telah menonaktifkan Flash saat ini, dengan "klik untuk mengaktifkan". Mengaktifkan Flash menambahkan:

  • Font Sistem (1 dalam 374k)

Flash menyediakan elemen kedua yang paling unik yang dapat dideteksi, tetapi mengingat jumlah yang sangat besar bahkan yang dihasilkan oleh deteksi JavaScript standar di Panopticlick, saya tidak yakin Flash diperlukan untuk jenis sidik jari browser ini agar berfungsi. Hanya JavaScript yang diaktifkan sudah cukup.

Namun, sidik jari peramban hanyalah bagian dari cerita. Pertimbangkan jumlah dari semua yang dapat kami deteksi dari pengguna anonim, karena semuanya dapat bekerja sama dengan pengguna anonim sidik jari. Seberapa sulitkah untuk mengumpulkan dan menggunakan data yang terdeteksi?

  1. Mengendus peramban detail, seperti yang ditunjukkan di atas (mudah)
  2. Alamat IP, yang memiliki tingkat keandalan yang diketahui dengan pro dan kontra (mudah)
  3. Pola perilaku pengguna seperti penggunaan (waktu hari), mengetik, gerakan mouse atau jari, penggunaan kata (keras, beberapa sisi server, beberapa sisi klien)

Satu hal yang saya khawatirkan dengan mengendus peramban saja adalah betapa mudahnya bagi pengguna untuk beralih peramban. Setidaknya ada empat alternatif browser yang bagus dan gratis di sebagian besar platform: Chrome, Opera, Firefox, Safari. Jadi, untuk mematahkan pernafasan peramban, atau setidaknya menginterupsi, Anda dapat berganti peramban sesering mungkin.

Perlu disebutkan apa yang disebut SuperCookies di sini karena mereka benar-benar dapat berfungsi, dalam beberapa kasus, bahkan jika Anda beralih browser dan bahkan jika JavaScript, Penyimpanan Lokal HTML 5, dan Flash dinonaktifkan .

Seorang peneliti privasi telah mengungkapkan kejeniusan jahat di balik layanan analisis web nirlaba yang mampu mengikuti pengguna di lebih dari 500 situs, bahkan ketika semua penyimpanan cookie dinonaktifkan dan situs dilihat menggunakan mode privasi browser.

(Jika Anda penasaran, versi TL; DR adalah bahwa mereka melakukan ini dengan mengeksploitasi prinsip tidak jelas dari header ETag .)

Bagaimanapun, kembali ke sniffing peramban - ada dua hal yang agak tidak nyaman yang dapat dilakukan pengguna untuk mengalahkan ini:

  1. Beralih browser secara konstan.
  2. Selalu jelajahi dengan JavaScript dan Flash dinonaktifkan.

Namun, jika pengguna tidak tahu bahwa pengaturan browser mereka sedang diendus dan digunakan sebagai bagian dari metode untuk sidik jari mereka, saya sangat ragu mereka pasti akan kesulitan melakukan dua hal ini. Itu bekerja.

Berdasarkan data di atas, saya percaya sniffing peramban dapat membantu mengidentifikasi pengguna internet anonim yang khas - tetapi hanya efektif dalam kombinasi dengan hal-hal lain yang biasanya kami deteksi dari pengguna internet anonim seperti Alamat IP.

Jeff Atwood
sumber
7
+1 Peretas. Apakah orang tua Anda tahu bagaimana Anda menghabiskan waktu?
P.Brian.Mackey
2
"Pertama, saya pikir itu tidak realistis untuk mengharapkan pengguna menonaktifkan JavaScript di web modern." Saya senang solusi NoScript sederhana benar-benar menghentikan saya dilacak.
Arda Xi
93
"alias NOMOR YANG SANGAT BESAR. Itu ... cukup unik." Hanya unik jika fitur-fitur tersebut didistribusikan di antara pengguna secara acak. Apakah mungkin sebagian besar pengguna menjalankan subset agen dan konfigurasi plugin yang jauh lebih kecil? Apakah ada beberapa agen atau konfigurasi plugin yang sangat berkorelasi? Jika Anda akan mengandalkan ini menjadi unik, Anda harus melihat distribusi fitur-fitur ini di antara pengguna, bukan hanya kasus terbaik.
Charles E. Grant
3
@Arda Xi: Masih membuat pengalaman menjelajah yang merepotkan ...;)
BoltClock
1
"Pertama, saya pikir itu tidak realistis untuk mengharapkan pengguna menonaktifkan JavaScript di web modern." Hormat kami, Anda salah. Dengan addon noscript, skrip dinonaktifkan untuk situs web Anda yang tidak dikenal sambil menikmati web modern di situs yang dikenal.
Arkh
11

Sidik jari browser bergantung pada ekosistem / browser-perangkat yang sangat heterogen. Satu hal yang perlu dipertimbangkan adalah bahwa kita bergerak menuju ekosistem yang lebih dan lebih homogen karena semakin banyak berselancar dilakukan pada smartphone dan tablet / pembalut yang cenderung jauh lebih sedikit terfragmentasi dalam pengertian ini. IPhone / iPad akan misalnya semua terlihat pada dasarnya identik.

pap
sumber
3
titik yang sangat baik, dan agak menyedihkan. Tetapi itu adalah realitas yang sangat mungkin.
Jeff Atwood
Jumlah model iPhone dan iPad berbeda.
JoJo
10

Apakah sidik jari peramban merupakan metode yang memadai untuk mengidentifikasi pengguna anonim secara unik?

Tidak, paling- paling itu bisa secara unik mengidentifikasi Komputer . Tidak ada cara untuk membedakan antara 2 komputer baru (dan sejenisnya) pada jaringan yang sama (IP yang sama) tanpa sesi cookie \.

Bagaimana jika Anda memasukkan data biometrik seperti gerakan mouse atau pola pengetikan?

Ini sepertinya tidak realistis. Ini harus dikodekan hampir seluruhnya dalam JavaScript karena "data bio-metrik" adalah semua sisi klien. Pengguna cukup mematikannya. Juga seperti apa tampilan "data bio-metrik" Anda untuk Perl Script?


Yang sedang berkata, menggunakan taktik semacam ini untuk melawan penipuan adalah ide yang baik, itu tidak harus menjadi 100% .. setiap penurunan penipuan itu baik, bahkan jika itu hanya peningkatan 5%.

Pertarungan melawan penipuan adalah tambahan, tidak ada solusi tunggal untuk melawan penipuan, bahkan tidak perlu repot-repot mencari satu.


EDIT: Untuk membalas Komentar Di Bawah Ini (dan karena sangat relevan), fakta bahwa sidik jari memperlakukan profil yang berbeda adalah, menurut keyakinan saya, sebuah NEGATIF ​​bersih *. Ini adalah sesuatu yang pengguna jahat akan gunakan untuk mengelabui mekanisme sidik jari, fakta bahwa pengguna memiliki kontrol atas semua variabel yang digunakan dalam sidik jari adalah cacat serous dalam dan dari dirinya sendiri .

* Itulah sebabnya saya katakan yang terbaik itu dapat Mengidentifikasi satu komputer, karena itu LEBIH BAIK kemudian mengidentifikasi satu Akun di Komputer. Jika Anda bisa melakukan keduanya, itu bagus.

Orang bodoh
sumber
3
"data bio-metrik" bisa juga ketika orang mengakses situs, URL mana, seberapa sering, kata-kata dan pola bahasa mereka .. semua ini tidak memerlukan JavaScript
Jeff Atwood
2
Sidik jari memang dapat mengidentifikasi bahkan berbagai akun di mesin yang sama. Saya tahu bahasa Inggris, Swedia, dan beberapa Spanyol. Saya telah mengkonfigurasi Mac saya sesuai. Ketika Firefox meminta sebuah halaman, ia mengirim "Bahasa Terima: en-us, en; q = 0.8, sv; q = 0.5, es; q = 0.3". Istri saya tidak tahu bahasa Spanyol. Firefox pada akunnya di mesin yang sama tidak termasuk istilah "es". Jelas ini sesuatu yang Anda katakan tidak mungkin.
Andrew Dalke
Andy, Hanya karena Ini adalah profil pengguna Anda, bukan berarti Anda duduk di depan komputer.
Morons
4
Mor, pernyataan Anda "yang terbaik yang dapat mengidentifikasi Komputer secara unik" tidak benar. Yang terbaik dapat membedakan antara berbagai akun di komputer yang sama. Jika itu akun jaringan maka dimungkinkan untuk membedakan antara dua akun berbeda di jaringan yang sama. Bahwa banyak orang dapat menggunakan akun adalah masalah yang berbeda.
Andrew Dalke
6

Saya setuju dengan @vincentcr , tetapi akan menambahkan satu lingkungan lagi untuk dipertimbangkan: jaringan perusahaan.

Di sini Anda cenderung menemukan banyak lusinan atau ratusan pengguna (potensial) dengan peramban, plugin, font yang sama persis dll. Faktor-faktor tambahan yang disarankan @vincentcr juga gagal di sini - alamat IP cenderung sama jika pengguna berada di belakang firewall perusahaan, seperti juga lokasi yang dilaporkan pengguna.

Bahkan dengan gerakan mouse dan pola pengetikan diperhitungkan, saya ragu apakah teknik ini dapat digunakan untuk mengidentifikasi pengguna unik dengan segala bentuk keamanan, dan jika Anda ingin akun pengguna dapat bertahan dari perubahan pengguna browser, Anda harus mendukungnya tetap dengan sistem otentikasi yang lebih tradisional pula.

Meskipun seperti yang dikatakan orang lain, mungkin agak berguna dalam mendeteksi robot spam dan sejenisnya. Sebagai contoh, plugin WordPress "Perilaku Buruk" menganalisis header HTTP (di antara faktor-faktor lain) dalam upaya untuk mendeteksi robot spam.

Ian Renton
sumber
Poin yang sangat bagus. Meskipun Anda dapat mendeteksi hal-hal seperti kemiringan jam, yang akan bervariasi dari satu komputer ke komputer lainnya, dan tampaknya Anda dapat mengakses IP aktual melalui flash. Ada juga resolusi monitor, yang akan bernilai sesuatu tetapi kurang bermanfaat dalam lingkungan perusahaan.
SMrF
4

Bahkan jika ada sejumlah besar kombinasi, mereka tidak semuanya didistribusikan secara merata.

Pikirkan berapa banyak orang, katakanlah, macbook, hanya akan menggunakan konfigurasi stok. Atau mereka yang tidak pernah menginstal plugin apa pun: Saya curiga mereka adalah mayoritas pengguna.

Dan pada akhirnya, Anda memiliki segmen perangkat yang tumbuh paling cepat: pengguna ponsel dan tablet, terutama iPhone dan iPad, di mana Anda direduksi menjadi hanya dua variabel: make, dan nomor versi.

Jadi mungkin heuristik yang baik ketika dikombinasikan dengan faktor-faktor lain (seperti alamat ip atau lokasi saat tersedia), tetapi tidak lebih dari itu.

vincentcr
sumber
3

Dengan menggunakan sidik jari peramban, Anda dapat mengidentifikasi satu pengguna di web, dan satu-satunya kekurangannya adalah Anda harus membuat javascript wajib untuk setiap pengguna.

Ini bekerja pada dua prinsip:

  1. Mendeteksi sidik jari browser berdasarkan 8 parameter
  2. Mendeteksi jika seseorang telah mengubah sidik jarinya dengan mengubah parameter apa pun.

Keberhasilan sidik jari tergantung pada prinsip kedua; untuk mendeteksi apakah seseorang telah mengubah sidik jari.

Untuk info lebih lanjut coba kode yang tersedia . Anda perlu mengembangkan algoritma Anda sendiri untuk mendeteksi pengguna yang kembali karena algoritma yang digunakan oleh https://panopticlick.eff.org/ tidak 100% efisien saat ini.

chetan
sumber
1
'tidak 100% efisien' atau mungkin 'tidak 100% efektif'? Bisakah Anda menguraikan hal itu?
Martijn Pieters
2

Beberapa browser juga dapat diidentifikasi melalui HSTS Supercookies.

Di sinilah Anda dapat menyematkan halaman dengan permintaan ke set acak sumber daya yang aman dan tidak aman untuk setiap pengunjung, kemudian memantau pola permintaan mereka pada kunjungan kembali. Jika setiap sumber daya diminta dalam pola yang sama, maka Anda dapat menggunakan informasi itu untuk mengidentifikasi pengguna.

Ini sangat berguna untuk mengidentifikasi iPhone / iPad yang seharusnya memiliki lebih banyak sidik jari browser generik. Pendekatan ini tidak begitu berguna untuk Internet Explorer di mana HSTS tidak didukung.

Artikel ini menjelaskan pendekatannya; http://www.radicalresearch.co.uk/lab/hstssupercookies/

Artikel ini memberikan contoh yang baik tentang bagaimana memanfaatkan Supercookies HSTS untuk mengidentifikasi pengguna; https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-browser-dilemma-how-hsts-supercookies-make-you-choose-between-privacy-ata-security/

Mat
sumber
0

Javascript tidak wajib, ada banyak parameter lain untuk mengendus dari PHP. Yang mengatakan, 99% dari pengguna memiliki JS jadi mengapa repot-repot

Dapatkah sidik jari memberikan identifikasi yang cukup unik? Saya percaya begitu. Demikian kata www.visitor-intelligence.com dengan filosofi penyaringan berturut-turut. Pikirkan tentang itu.

Galaksi pribadi pribadi Anda tidak sebesar seluruh planet kita.

Berapa banyak, rambut cokelat tinggi, mata biru gadis dengan aksen Prancis berjalan di jalan Anda? Dalam skala planet, jutaan. Tapi saya yakin dia akan cukup unik di jalan Anda (atau mengunjungi toko Anda).

Kecuali Anda tinggal di Champs Elysees. Kemudian lihat lebih dekat. Apakah dia langsing dan berjalan seperti model? Apakah dia memakai tas tangan yang mahal? Baiklah, dia benar-benar unik sekarang :-)

Melihat murni pada header adalah salah karena menyertakan nomor versi browser dan parameter yang lebih bervariasi.

Kami sekarang di Chrome 27 dan Firefox 21. Kami memperbarui versi browser tanpa menyadarinya.

Sekarang, melihat daftar plugin lengkap juga cukup salah. Coba itu: instal firefox, instal acrobat reader, lalu instal Chrome. Saya yakin pembaca acrobat tidak akan muncul di daftar plugin Chrome Anda :-)

Jadi ... Intinya adalah: jika Anda mencari sistem identifikasi yang layak untuk toko ukuran standar, maka sidik jari sudah cukup, dan bahkan lebih stabil daripada cookie (saya pribadi menghapus semua cookie saya hampir setiap hari).

Hanya 2 sen saya

pengguna2435894
sumber