Hangi Sinyaller Tarayıcı Güncellemelerinden Sağ Çıkar? Bir Kararlılık Analizi
50 Chrome, Firefox ve Safari güncellemesi boyunca sinyal kararlılığını analiz ettik. İşte en kararlı ve en kararsız parmak izi sinyalleri.
Tarayıcı güncellemeleri, cihaz parmak izinin doğal düşmanıdır. Her 4-6 haftada bir Chrome, Firefox ve Safari, sinyal değerlerini değiştirebilecek yeni sürümler yayımlar; user-agent dizelerini değiştirir, işleme (rendering) davranışını düzenler, API'ler ekler veya kaldırır. W3C Parmak İzi Rehberi'nde belirtildiği gibi, tarayıcılar parmak izi çıkarılabilir yüzey alanını sınırlamak için aktif olarak çalışıyor. Tüm sinyallere eşit davranan parmak izi sistemleri için her güncelleme, milyonlarca ziyaretçi açısından potansiyel bir kimlik kopması demektir.
Temel soruyu yanıtlamak için 50 tarayıcı güncellemesi boyunca kapsamlı bir kararlılık analizi yürüttük: hangi sinyallere güvenebilirsiniz ve hangileri size ihanet eder?
Metodoloji
5 işletim sistemi (Windows 10, Windows 11, macOS Ventura, macOS Sonoma, Ubuntu 22.04) ve 3 tarayıcı (Chrome, Firefox, Safari) genelinde 200 fiziksel cihazı ölçümledik. Her cihaz, 14 ay boyunca günlük olarak otomatik sinyal toplama işlemi çalıştırdı ve 50 büyük tarayıcı sürüm güncellemesini kapsadı: 24 Chrome, 16 Firefox ve 10 Safari sürümü.
Her sinyal için şunları izledik: değerin ne sıklıkla değiştiğini, değişimin bir tarayıcı güncellemesiyle mi yoksa harici bir faktörle mi (sürücü güncellemesi, işletim sistemi yaması) ilişkili olduğunu ve değişimin büyüklüğünü (değerin tamamen değişmesi ile küçük bir varyasyon arasındaki fark).
Kararlılık Katmanları
Katman 1: Kaya Gibi Sağlam (%99,5+ kararlılık)
Bu sinyaller yalnızca fiziksel donanım değiştiğinde veya sürücüler güncellendiğinde değişti; hiçbir zaman yalnızca tarayıcı güncellemeleri nedeniyle değişmedi.
Donanım Eşzamanlılığı (navigator.hardwareConcurrency): %99,97 kararlı. Yalnızca, hyperthreading'i etkileyen bir BIOS güncellemesi alan 1 cihazda değişti. Cihaz Belleği (navigator.deviceMemory): %99,98 kararlı. Çalışma sırasında bir cihaz 8 GB'tan 16 GB'a yükseltildi. Ekran Çözünürlüğü ve Renk Derinliği: %99,92 kararlı. Değişimler monitör değişiklikleri ve yerleştirme istasyonu (docking station) olaylarıyla ilişkiliydi. WebGL Maksimum Doku Boyutu (Max Texture Size): %99,99 kararlı. Tarayıcıyla ilgili sıfır değişim. Yalnızca bir NVIDIA sürücü güncellemesi alan bir cihazda bir kez değişti. Ses Örnekleme Hızı (Audio Sample Rate): %100 kararlı. 200 cihaz ve 50 güncellemenin tamamında sıfır değişim. Bu, izlediğimiz tek başına en kararlı sinyaldir.
Katman 2: Çoğunlukla Kararlı (%95-99,5)
Bu sinyaller zaman zaman tarayıcı güncellemeleriyle değişir, ancak çoğu sürüm boyunca kararlı kalır.
Canvas 2D Parmak İzi: %97,8 kararlı. Değişimler Chrome 118 (yazı tipi işleme motoru güncellemesi), Chrome 122 (alt piksel kenar yumuşatma değişikliği) ve Firefox 121 (metin şekillendirme güncellemesi) sürümlerinde meydana geldi. Her değişim, o tarayıcıdaki tüm cihazları aynı anda etkiledi; bunu tarayıcı sürümünden haberdar eşleştirmeyle ele aldığımız, tespit edilebilir bir örüntüdür. WebGL İşleyici Dizesi (Renderer String): %98,1 kararlı. Chrome zaman zaman ANGLE sarmalayıcı dizesini yeniden biçimlendirir. Altta yatan GPU bilgisi değişmez, ancak dizenin gösterimi değişir. Dizeyi doğrudan hash'lemek yerine GPU modelini dizeden ayrıştırıyoruz. Yazı Tipi Listesi (Font List): %96,4 kararlı. İşletim sistemi güncellemeleri zaman zaman sistem yazı tiplerini ekler veya kaldırır. Tarayıcı güncellemeleri yazı tipi numaralandırmasını nadiren etkiler, ancak Chrome 120 yazı tiplerinin raporlanma sırasını değiştirdi ve bu, hash tabanlı yazı tipi parmak izini bozdu. Sıralı hash yerine küme tabanlı karşılaştırma (küme benzerliği) kullanıyoruz.
Katman 3: Orta Düzey Kararlılık (%80-95)
Bu sinyaller anlamlı bir sıklıkta değişir, ancak değişimler arasında yine de faydalı kimlik tespit değeri sunar.
Yüklü Eklentiler (Installed Plugins): %89,2 kararlı. Chrome'un eklentiler dizisini (navigator.plugins) sürekli azaltması, bazı bağlamlarda eklenti görünürlüğünü tamamen ortadan kaldırdı. Firefox eklenti numaralandırmasını korudu. Safari bunu standart bir kümeyle sınırladı. CSS Özellik Tespiti: %91,7 kararlı. Her tarayıcı sürümüyle yeni CSS özellikleri eklenir ve bu, CSS taramamızla tespit edilen özellik kümesini değiştirir. Etkisini azaltmak için yeni özellikleri yerleşik olanlardan daha düşük ağırlıklandırıyoruz. Dokunma Desteği (Touch Support): %93,1 kararlı. Chrome cihaz emülasyonu tespitini ayarladığında masaüstü tarayıcılar zaman zaman raporladıkları dokunma desteğini değiştirir.
Katman 4: Oynak (<%80)
Bu sinyaller sık sık değişir ve asla birincil kimlik tespit dayanağı olmamalıdır.
User Agent Dizesi: %42,3 kararlı. Chrome'un User-Agent azaltma girişimi dize biçimini birden çok kez değiştirdi. Firefox her sürümde sürüm numarasını günceller. Safari, WebKit sürüm dizesini düzenli olarak değiştirir. Bu, eskiden basit parmak izi sistemlerinin omurgasıydı; o sistemler artık bozuk. Bağlantı Türü (navigator.connection): %68,4 kararlı. Ağ değişimiyle (WiFi'den hücresele, farklı WiFi ağları) değişir. Pil API'si (Battery API): %71,2 kararlı. Şarj durumuna ve tarayıcı API kullanılabilirliğine göre değişir. Chrome bazı bağlamlarda Pil API'si erişimini kısıtladı. Kullanılabilir Ekran Alanı (Available Screen Area): %76,8 kararlı. Görev çubuğu görünürlüğü, pencere yönetimi ve ekran ölçeklendirme ayarlarıyla değişir.
Tarayıcılar Arası Karşılaştırma
Chrome, parmak izi kararlılığı açısından en oynak tarayıcıdır. Google, parmak izi çıkarılabilirliğini azaltmak için aktif olarak çalışır; bu da Chrome güncellemelerinin Firefox veya Safari güncellemelerinden daha fazla sinyali bozması demektir. Çalışma dönemimizde:
Chrome, toplama oturumlarının %3,2'sinde sinyal değişimlerine yol açtı. Firefox, toplama oturumlarının %1,8'inde sinyal değişimlerine yol açtı. Safari, toplama oturumlarının %1,1'inde sinyal değişimlerine yol açtı.
Safari'nin daha düşük oynaklığı kısmen Apple'ın yılda daha az sürüm yayımlamasından, kısmen de Safari'nin parmak izi karşı önlemlerinin (Intelligent Tracking Prevention) API dönüş değerlerini değiştirmek yerine ağ düzeyinde çalışmasından kaynaklanır.
Pratik Öneriler
Bu analize dayanarak, üretim ortamındaki parmak izi sistemleri için beş öneri sunuyoruz:
User-agent'ı asla bir kimlik tespit dayanağı olarak kullanmayın. En kararsız ayırt edici sinyaldir. Yalnızca tarayıcı tespiti ve Katman 3 güven puanlaması için kullanın.
Donanım sinyallerini yazılım sinyallerinden ayırın. Donanım sinyalleri (GPU, ekran, ses), yazılım sinyallerinden (user agent, eklentiler, CSS özellikleri) 40 kat daha kararlıdır. Onları buna göre ağırlıklandırın.
Numaralandırılabilir sinyaller için küme tabanlı karşılaştırma kullanın. Yazı tipi listeleri, eklenti listeleri ve özellik tespit sonuçları, sıralı hash yerine küme benzerliği veya benzer küme mesafe metrikleri kullanılarak karşılaştırılmalıdır. Sıra değişimleri yaygındır; içerik değişimleri nadirdir.
Tarayıcı sürümünden haberdar eşleştirme uygulayın. Chrome 118, tüm Chrome kullanıcıları için canvas işlemeyi aynı anda değiştirdiğinde, sisteminiz bunu kitlesel bir kimlik kopması değil, bir tarayıcı güncellemesi olarak tanımalıdır. Tarayıcı sürümlerini izleyin ve sürüme özgü eşleştirme toleransları uygulayın.
Sinyal kararlılığını sürekli izleyin. Kararlılık yüzdelerimiz geçmiş verilere dayanmaktadır. Gelecekteki tarayıcı güncellemeleri herhangi bir sinyalin kararlılık profilini değiştirebilir. Sürekli izleme yürütüyor ve kararlılık değiştiğinde sinyal ağırlıklarını otomatik olarak ayarlıyoruz.
tracio.ai Üzerindeki Etkisi
V3 çok katmanlı kimlik tespit mimarimiz doğrudan bu kararlılık analizini yansıtır. Katman 1 sinyalleri (donanım) %60 ağırlık taşır. Katman 2 sinyalleri (işleme, yazı tipleri) %30 ağırlık taşır. Katman 3 sinyalleri (tarayıcı meta verileri, bağlantı) %10 ağırlık taşır. Bu ağırlıklandırma, en kararlı sinyallerin kimlik tespitini yönlendirmesini sağlarken, oynak sinyallerin kimlik kopmalarına yol açmadan güven puanlamasına katkıda bulunmasını sağlar.
Sonuç: 50 tarayıcı güncellemesi boyunca %99,5 kimlik tespit kararlılığı; düz hash tabanlı parmak izi kullanan sistemlerde ise %69. Fark, algoritmik zekâ değil; mimari kararlara uygulanan ampirik sinyal analizidir.