Pengembang pustaka sidik jari (fingerprintjs), yang menghasilkan pengenal peramban secara pasif berdasarkan karakteristik tidak langsung seperti resolusi layar, fitur WebGL, serta daftar plugin dan font yang terpasang, telah memperkenalkan metode identifikasi baru berdasarkan penilaian aplikasi terinstal pengguna dan pemeriksaan dukungan peramban terhadap pengendali protokol tambahan. Skrip yang mengimplementasikan metode ini diterbitkan di bawah lisensi MIT.
Pemeriksaan ini didasarkan pada analisis pengikatan handler pada 32 aplikasi populer. Misalnya, dengan mendeteksi keberadaan handler untuk skema URL telegram://, slack://, dan skype:// di peramban, seseorang dapat menyimpulkan keberadaan aplikasi Telegram, Slack, dan Skype di sistem dan menggunakan informasi ini sebagai penanda saat membuat pengenal sistem. Karena daftar handler sama untuk semua peramban di sistem, pengenal tidak berubah saat berpindah peramban dan dapat digunakan di Chrome, Firefox, Safari, Brave, Yandex Browser, Edge, dan bahkan Tor Browser.
Metode ini menghasilkan pengenal 32-bit, yang berarti akurasinya tidak tinggi jika digunakan sendiri, tetapi dapat digunakan sebagai fitur tambahan yang dikombinasikan dengan parameter lain. Kelemahan signifikan dari metode ini adalah visibilitas upaya identifikasi oleh pengguna: ketika menghasilkan pengenal di halaman demo yang disediakan, sebuah jendela kecil namun terlihat jelas akan terbuka di pojok kanan bawah, tempat para pengendali akan menjalankan proses ini dalam waktu yang cukup lama. Kelemahan ini tidak terjadi di Tor Browser, di mana pengenal dapat dihitung tanpa terdeteksi.
Untuk menentukan keberadaan aplikasi, skrip mencoba membuka tautan yang terkait dengan pengendali eksternal di jendela pop-up. Peramban kemudian menampilkan dialog yang meminta pengguna untuk membuka konten di aplikasi terkait jika aplikasi yang diperiksa ada, atau menampilkan halaman kesalahan jika aplikasi tidak ada. Dengan mencoba pengendali eksternal tipikal secara berurutan dan menganalisis kesalahan yang dihasilkan, dimungkinkan untuk menentukan apakah program yang diperiksa ada di sistem.
Di Chrome 90 untuk Linux Metode tersebut tidak berhasil dan browser menampilkan dialog standar untuk mengkonfirmasi operasi (di Chrome untuk semua upaya memeriksa handler). Windows и macOS (Metode ini berhasil). Di Firefox 88 untuk LinuxBaik dalam mode reguler maupun mode penyamaran, skrip tersebut mengidentifikasi keberadaan aplikasi tambahan yang terinstal dari daftar, dengan akurasi identifikasi sebesar 99.87% (35 kecocokan dari 26 pengujian). Saat menjalankan Tor Browser pada sistem yang sama, skrip tersebut menghasilkan pengidentifikasi yang cocok dengan pengujian Firefox.
Menariknya, perlindungan tambahan di Tor Browser justru menjadi bumerang, memungkinkan identifikasi tanpa sepengetahuan pengguna. Menonaktifkan dialog konfirmasi untuk pengendali eksternal di Tor Browser berarti permintaan verifikasi dapat dibuka dalam iframe, alih-alih jendela pop-up (aturan asal-sama memblokir akses ke halaman kesalahan dan mengizinkan akses ke halaman about:blank untuk membedakan keberadaan dan ketidakhadiran pengendali). Berkat perlindungan banjir, verifikasi di Tor Browser membutuhkan waktu yang jauh lebih lama (10 detik per aplikasi).
Sumber: opennet.ru
