Tarayıcı Parmak İzi: Siteler Gerçekte Neyi Okur

Bir web sitesinin topladığı değerlere alan alan bir tur: canvas ve WebGL'den ses, yazı tipleri, ekran ve saat dilimine; ve tutarlı bir kimliğin neden rastgele üretilmiş olandan iyi olduğu.
Tarayıcı parmak izi, bir tarayıcıyı sakladığı herhangi bir şeyle değil, bildirdiği değerlerle tanımlama uygulamasıdır. Çereze gerek yoktur. Tarayıcı, herhangi bir web sayfasının sormasına izin verilen soruları yanıtlar ve yanıtlar bir araya geldiğinde yeniden tanınacak kadar ayırt edicidir.
Toplanan değerler
Çoğu parmak izi betiği aynı birkaç yüzeyden okur.
Bariz olanlar
- User agent, tarayıcı adını, sürümünü ve platformu taşır ve her istekte gönderilir.
- Ekran; genişlik, yükseklik, renk derinliği, piksel oranı ve kullanılabilir çalışma alanını bildirir.
- Dil ve saat dilimi, tarayıcının bildirdiği yerel ayarı ve hesapladığı farkı kapsar.
- Donanım ipuçları, bildirilen işlemci sayısını ve bazı tarayıcılarda yaklaşık bir bellek değerini verir.
Oluşturmaya dayananlar
İnsanların parmak izi dediğinde kastettiği değerler bunlardır, çünkü dolaylıdırlar. Bir sayfa tarayıcıdan bir şey çizmesini ister ve sonra tam olarak neyin çizildiğini geri okur.
- Canvas işleri, metin ve şekilleri ekran dışı bir canvas'a çizer ve özetini (hash) alır. Sonuç; grafik yığınına, yazı tiplerine ve kenar yumuşatmaya göre değişir.
- WebGL, grafik bağdaştırıcısının üretici ve oluşturucu dizelerini ve çizilmiş bir sahnenin hash'ini açığa çıkarır.
- Ses, bir osilatörü ses işleme grafiğinden geçirir ve çıktının hash'ini alır. Kayan noktalı sayı davranışı yığınlar arasında hafifçe farklılaşır.
- Yazı tipi tespiti, aday yazı tiplerinde metin ölçer ve hangi ölçümlerin farklı olduğuna bakarak hangilerinin yüklü olduğunu çıkarır.
Ağa dayananlar
- İsteğin geldiği adres ve bir coğrafi konum veritabanının bu adres hakkında söyledikleri.
- Bağlantının aksi halde açığa çıkarmayacağı adresleri ele verebilen WebRTC.
- İstemciye göre değişen TLS ve HTTP el sıkışma alanlarının sırası ve içeriği.
Her alanı rastgeleleştirmek neden yanlış içgüdü
Sezgisel savunma, her ziyarette her şeyi değiştirmektir. İki nedenle ters teper.
Birincisi çelişkidir. Rastgele alanlar birbirinden haberdar değildir. Yalnızca Apple donanımında bulunan bir WebGL oluşturucu dizesinin yanında Windows olduğunu söyleyen bir user agent, değerlerin her birinin tek başına verebileceğinden daha güçlü bir sinyaldir. Gerçek makineler kendi içinde tutarlıdır; yalnızca sentetik olanlar kendileriyle çelişir.
İkincisi kararsızlıktır. Her ziyarette farklı bir cihaz bildiren bir hesap, hiçbir gerçek kişinin sahip olmadığı bir şeyi tarif ediyordur. Zaman içindeki tutarlılık, sıradan bir kullanıcının görünüşüdür.
Bir profilin kimliği neleri kapsar
| Yüzey | Nasıl ele alınır |
|---|---|
| User agent ve platform | Birlikte üretilir; böylece iddia edilen platform çevresindeki değerlerle uyuşur |
| Ekran ve piksel oranı | Profil başına sabitlenir, gerçek ekranların fiilen bildirdiği boyutlardan seçilir |
| Saat dilimi ve yerel ayar | Profil başına ayarlanır ve kullandığı ağ rotasıyla eşleştirilir |
| Canvas, WebGL ve ses | Profil başına kararlı bir işlem görür; her açılışta aynıdır |
| Yazı tipleri | Profilin iddia ettiği platformla tutarlı, profil başına bir küme |
| WebRTC | Profilin ağ rotasıyla çelişmeyecek şekilde kısıtlanır |
Kendi işinizi kontrol etmek
Bir profil açın ve bir parmak izi test sayfasını ziyaret edin. Birkaçı, okudukları değerleri ücretsiz yayımlar. Kontrol etmeye değer iki şey, beklediğiniz şeyler değildir:
- Değerler birbiriyle uyuşuyor mu? Platform, yazı tipleri, grafik dizeleri ve saat dilimi tek bir makul makineyi tarif etmelidir.
- Geçen seferkiyle aynılar mı? Profili kapatın, yeniden açın, testi yeniden yükleyin. Değerleri açılışlar arasında oynayan bir profil kararlı değildir ve önemli olan özellik kararlılıktır.
Bir test sayfasındaki nadirlik puanı, oradaki en az yararlı sayıdır. Sizi o sayfanın ziyaretçileriyle kıyaslar; onlar da ezici çoğunlukla antidetect tarayıcıları test eden kişilerdir.


