Memperkenalkan teknik baharu untuk pengenalan sistem dan penyemak imbas tersembunyi

Sekumpulan penyelidik dari Universiti Teknologi Graz (Austria), sebelum ini dikenali untuk membangunkan kaedah serangan MDS, NetSpectre ΠΈ Throwammer, terbongkar maklumat tentang teknik analisis pihak ketiga baharu yang membolehkan anda menentukan versi sebenar penyemak imbas, sistem pengendalian yang digunakan, seni bina CPU dan penggunaan alat tambah untuk memerangi pengenalan tersembunyi.

Untuk menentukan parameter ini, cukup untuk melaksanakan kod JavaScript yang disediakan oleh penyelidik dalam penyemak imbas. Dalam amalan, kaedah ini boleh digunakan bukan sahaja sebagai sumber tambahan untuk pengenalan pengguna tidak langsung, tetapi juga untuk menentukan parameter persekitaran sistem untuk penggunaan sasaran eksploitasi, dengan mengambil kira OS, seni bina dan penyemak imbas. Kaedah ini juga berkesan apabila menggunakan penyemak imbas dengan mekanisme penyekatan pengenalan tersembunyi, seperti Pelayar Tor. Kod prototaip kod sumber dengan pelaksanaan kaedah diterbitkan di bawah lesen MIT.

Penentuan dibuat berdasarkan peruntukan corak keadaan harta ciri pelayar yang berbeza dalam JavaScript dan ciri-ciri masa pelaksanaan operasi, bergantung pada ciri mekanisme peruntukan JIT, CPU dan memori. Menentukan sifat dilakukan dengan menjana senarai semua objek yang tersedia daripada JavaScript. Ternyata, bilangan objek secara langsung berkorelasi dengan enjin penyemak imbas dan versinya.

fungsi getProperties(o) {
varresult = [];
manakala (o !== null) {
hasil = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
hasil pulangan;
}

Sebagai contoh, untuk Firefox, sokongan untuk 2247 sifat diisytiharkan dalam dokumentasi, manakala bilangan sebenar sifat tertentu, dengan mengambil kira yang tidak didokumenkan, ialah 15709 (dalam Pelayar Tor - 15639), untuk sifat Chrome 2698 diisytiharkan, tetapi 13570 sebenarnya ditawarkan (dalam Chrome untuk Android - 13119) . Bilangan dan nilai sifat berbeza dari versi ke versi penyemak imbas dan merentas sistem pengendalian yang berbeza.

Nilai dan kehadiran sifat tertentu boleh digunakan untuk menentukan jenis OS. Sebagai contoh, dalam Kubuntu sifat window.innerWidth ditetapkan kepada 1000, dan dalam Windows 10 ia ditetapkan kepada 1001. Pada Windows, sifat window.navigator.activeVRDisplays tersedia, tetapi pada Linux tidak. Banyak panggilan khusus disediakan untuk Android, tetapi tiada tetingkap.SharedWorker. Untuk mengenal pasti sistem pengendalian, ia juga dicadangkan untuk menggunakan analisis parameter WebGL, yang keadaannya bergantung pada pemacu. Di samping itu, memanggil WEBGL_debug_renderer_infoextension membolehkan anda mendapatkan maklumat tentang enjin pemaparan OpenGL, yang berbeza untuk setiap sistem pengendalian.

Untuk menentukan CPU, penilaian perbezaan dalam masa pelaksanaan pelbagai blok kod biasa digunakan, pemprosesan yang bergantung pada seni bina set arahan, dengan mengambil kira kelakuan JIT (ia ditentukan berapa banyak daftar CPU akan terlibat dan dalam kes yang mana JIT akan menjana kod yang cekap dengan pengoptimuman dan melibatkan arahan lanjutan, dan apabila tidak ). Untuk menentukan jenis sistem peruntukan memori dan sistem pengendalian, perbezaan masa peruntukan memori untuk pelbagai struktur juga diukur, yang boleh digunakan untuk menilai saiz blok memori.

Parameter yang ditentukan semasa pelaksanaan skrip dibandingkan dengan nilai rujukan biasa untuk persekitaran pra-ujian. Semasa ujian, teknik yang dibangunkan memungkinkan untuk menentukan dengan tepat 40 persekitaran ujian yang berbeza, menentukan versi penyemak imbas yang digunakan, pengilang CPU, sistem pengendalian yang digunakan, dan sama ada ia berjalan pada perkakasan sebenar atau dalam mesin maya.

Secara berasingan, kemungkinan untuk menentukan alat tambah penyemak imbas dan juga tetapan tambahan individu, termasuk alat tambah yang direka untuk menyekat kaedah pengenalan tersembunyi atau aktiviti penyemakan imbas peribadi, dicatatkan. Dalam konteks kaedah yang dicadangkan, penambahan tersebut menjadi satu lagi sumber data untuk pengenalpastian. Penambahan ditentukan melalui penilaian herotan parameter persekitaran asal yang diperkenalkan oleh penambahan.

Antara kaedah pengenalan lain, adalah mungkin untuk mengambil perhatian pertimbangan data tidak langsung seperti resolusi skrin, senarai jenis MIME yang disokong, pilihan khusus pengepala (HTTP / 2 ΠΈ HTTPS), analisis ditubuhkan pemalam dan fon, ketersediaan API Web tertentu khusus untuk kad video ciri- rendering dengan WebGL dan Kanvas, manipulasi dengan CSS, analisis ciri bekerja dengan tetikus ΠΈ papan kekunci.

Sumber: opennet.ru

Tambah komen