PowerScan
ID

Cara Kerja Browser Antideteksi: Penjelasan Teknis Lengkap

Browser Antidetect · 11 menit baca · oleh PowerOps

Foto: Unsplash

Permukaan fingerprint, pembuatan identitas yang koheren, isolasi penyimpanan di disk, perutean per profil, dan batas-batas jujur dari seluruh pendekatan ini.

Browser antideteksi mengerjakan empat tugas. Ia menyimpan data penjelajahan tiap profil secara terpisah, mengendalikan identitas perangkat yang dilaporkan setiap profil, merutekan lalu lintas tiap profil secara mandiri, dan menjaga ketiganya tetap konsisten dari waktu ke waktu. Artikel ini menelusuri cara tiap tugas dikerjakan, pada tingkat mekanisme, dan ditutup dengan hal-hal yang tidak bisa dilakukan pendekatan ini.

Permukaan fingerprint

Mulailah dari apa yang bisa dibaca sebuah halaman, karena semua hal lain adalah tanggapan terhadapnya. Skrip di situs web mana pun bisa mengajukan pertanyaan kepada browser, dan jawabannya menggambarkan mesin tersebut. Permukaan-permukaan itu terkelompok secara alami.

PermukaanYang dibaca halaman
NavigatorNama dan versi browser, platform, daftar bahasa, jumlah prosesor dan memori yang dilaporkan, dukungan sentuh
LayarLebar, tinggi, area kerja yang tersedia, kedalaman warna, rasio piksel perangkat
CanvasPiksel persis hasil menggambar teks dan bentuk di luar layar, di-hash menjadi nilai yang stabil
WebGLString vendor dan renderer grafis, ditambah hash dari adegan yang dirender
AudioKeluaran osilator yang dijalankan melalui graf pemrosesan audio, yang bervariasi menurut stack
FontJenis huruf yang terpasang, disimpulkan dari pengukuran teks
Zona waktu dan jamZona dan offset yang dilaporkan, dibandingkan dengan asal datangnya lalu lintas
JaringanAlamat itu sendiri, pandangan WebRTC tentang kandidat koneksi, dan bentuk handshake TLS

Tidak ada satu baris pun yang mengidentifikasi sebuah mesin. Kombinasinyalah yang melakukannya, dan kombinasi itu juga tempat kebohongan tertangkap: nilai-nilai yang mustahil berasal dari satu mesin nyata adalah sinyal yang lebih keras daripada nilai tunggal mana pun.

Pengumpulannya murah dan senyap. Setiap nilai dalam tabel tersedia bagi halaman mana pun melalui API yang terdokumentasi, tanpa permintaan izin, dan sebagian besarnya tiba dalam detik pertama kunjungan. Apa pun posisi Anda terhadap praktik ini, itu adalah fakta tetap dari web modern, dan itulah garis dasar yang dijadikan acuan rekayasa browser antideteksi.

Bagaimana identitas yang koheren dibuat

Pendekatan naif adalah mencegat tiap pertanyaan dan mengacak jawabannya. Pendekatan itu gagal karena alasan struktural. Jawaban-jawabannya menggambarkan satu mesin, sehingga saling berkorelasi, dan jawaban acak yang independen merusak korelasi itu. User agent Windows bersama font yang hanya ada di macOS, ukuran layar yang belum pernah dipakai laptop mana pun, string grafis yang tidak pernah hidup berdampingan dengan platform yang diklaim: masing-masing adalah kontradiksi yang bisa diuji pemeriksa dengan murah.

Maka browser antideteksi yang berfungsi membuat identitas sebagai satu set. Ia berangkat dari kelas mesin nyata yang umum dan menurunkan setiap nilai dari pilihan itu. Platform menentukan daftar font, string grafis, dan dukungan sentuh yang masuk akal. Layar diambil dari ukuran yang memang dipakai kelas mesin tersebut. Bahasa dan zona waktu berasal dari wilayah yang dituju profil. Nilai-nilai itu saling cocok karena dipilih bersamaan, dari satu deskripsi tentang satu mesin.

Sifat kedua sama pentingnya: set itu disimpan. Ia ditulis ke dalam profil saat profil dibuat, dan setiap sesi melaporkan nilai yang sama, karena perangkat yang berubah antarkunjungan menggambarkan perangkat keras yang tidak dimiliki siapa pun. Kestabilan adalah sebagian besar dari makna masuk akal.

Isolasi penyimpanan di disk

Tugas penyimpanan adalah yang paling tidak glamor dan paling mutlak. Setiap profil memiliki satu direktori, dan semua yang disimpan browser berada di dalamnya: basis data cookie, Local Storage, IndexedDB, cache HTTP, registrasi service worker, state ekstensi, riwayat, dan kredensial tersimpan. Dua profil berarti dua direktori yang terpisah sepenuhnya, dan setiap browser yang berjalan diarahkan ke direktorinya sendiri.

Keterpisahan penuh adalah sifat yang perlu diperiksa, karena isolasi parsial gagal secara diam-diam. Cookie mudah dipisahkan. Cache dapat mengidentifikasi browser yang kembali melalui sumber daya yang disimpannya. Service worker dapat menyimpan pengenal dan terus berjalan di antara kunjungan. IndexedDB adalah tempat aplikasi modern menyimpan catatan yang benar-benar mereka percayai. Isolasi yang mencakup penyimpanan yang terkenal tetapi berbagi penyimpanan lainnya baru mengisolasi bagian yang terlihat dari masalahnya.

Persistensi adalah separuh lainnya. Sesi mengumpulkan nilai: pemeriksaan keamanan yang selesai, riwayat login yang mapan, bentuk pengunjung yang kembali. Profil mempertahankan direktorinya antarsesi, dan itulah yang membuat kerja akun mungkin dilakukan. Penulisan saat penutupan membuat direktori itu tahan lama, itulah sebabnya mematikan proses profil di tengah sesi bisa menghilangkan sesi yang baru saja dibangunnya.

Perutean jaringan

Setiap profil membawa rutenya sendiri, diterapkan saat browsernya dimulai, sehingga lalu lintas keluar melalui proxy profil itu tanpa menyentuh pengaturan sistem atau rute profil lain.

Rute juga merupakan komponen yang paling layak diverifikasi secara independen, karena dibeli dari pihak ketiga. Menguji sebuah endpoint sebelum menetapkannya, dan membaca kembali alamat yang teramati alih-alih yang diiklankan, menangkap kegagalan selagi masih berupa masalah konfigurasi dan belum menjadi masalah akun.

Apa yang diubah browser itu sendiri

Ada dua tempat sebuah alat dapat mengubah jawaban yang diterima halaman, dan perbedaan di antara keduanya adalah persimpangan paling teknis dalam topik ini.

PendekatanCara kerjaKelemahan
Injeksi skripEkstensi atau skrip yang disuntikkan menimpa fungsi yang dipanggil halaman, sehingga pembacaan canvas dan pencarian navigator mengembalikan nilai penggantiPenimpaan itu sendiri terlihat. Fungsi yang ditambal bisa dikenali sebagai ditambal, dan permukaan apa pun yang terlewat oleh injektor tetap menjawab dengan nilai asli
Di dalam kode browser itu sendiriImplementasi browser menjawab dengan nilai tersimpan milik profil, di jalur kode tempat nilai asli dihasilkanJauh lebih banyak pekerjaan untuk dibangun dan dipelihara, itulah yang membedakan alat yang dibuat khusus dari ekstensi

Pendekatan injeksi adalah titik awal kategori ini, dan batas atasnya sudah dipahami dengan baik: halaman dapat memeriksa apakah fungsi bawaan masih tampak bawaan, dan dapat mencapai permukaan yang sama lewat jalur yang tidak tercakup injeksi. Karena itu browser antideteksi yang dibuat khusus melakukan perubahan di dalam browser itu sendiri, sehingga identitas tersimpan adalah yang dilaporkan implementasi melalui setiap jalur yang membacanya.

Apa yang sebenarnya dilakukan saat profil dibuka

  1. Identitas tersimpan dimuat: satu set nilai perangkat yang koheren, set yang sama seperti terakhir kali.
  2. Browser dimulai terhadap direktori milik profil itu sendiri, sehingga setiap penyimpanan persisten adalah milik profil.
  3. Rute diterapkan: proxy, resolusi nama melaluinya, WebRTC yang dibatasi padanya.
  4. Sesi berjalan, mengumpulkan state di dalam direktori.
  5. Saat ditutup, state ditulis keluar, sehingga pembukaan berikutnya melanjutkan perangkat, penyimpanan, dan rute yang sama.

Setiap bagian daftar itu bisa diperiksa dari luar. Buka halaman uji fingerprint dua kali dan bandingkan nilainya antarpembukaan. Lihat direktori profil di disk. Baca kembali alamat yang teramati. Alat dalam kategori ini seharusnya mengundang pemeriksaan semacam itu, karena mekanismenya adalah produknya.

Batas-batas yang jujur

Pendekatan ini punya tepi, dan mengetahuinya adalah bagian dari menggunakannya dengan cakap.

Bacalah batas-batas ini sebagai definisi, bukan kekecewaan. Browser antideteksi adalah instrumen konsistensi: penyimpanan terpisah, identitas yang stabil dan masuk akal, rute yang cocok, dipegang bersama per profil dan diulang identik setiap kali dibuka. Itulah seluruh mekanismenya, dan semua yang lain yang ditulis tentang kategori ini hanyalah variasi darinya.

Semua artikel · Jalankan pemindaian