Dolandırıcılık önleme sistemleri yalnızca çerezleri karşılaştırmaz. Tarayıcı sinyallerini tek bir parmak izinde toplar ve hesaplar arasında bağ arar. Hangi sinyallerin önemli olduğunu ve Canvas değişikliğinin neden yetmediğini inceliyoruz.
Bir site tek bir tarayıcı etiketi değil, bir ölçüm bütünü görür. Her sinyal tek başına zayıftır; birlikte, çerezler silinse ve IP değişse bile kalan bir parmak izi oluştururlar. Başlıca sinyaller şunlardır:
| Kanal | Ne ölçülüyor | Tipik ayırt edici değer |
|---|---|---|
| Yazı tipleri listesi | sistemde hangi yazı tipleri yüklü | en yüksek entropi: 9,45 bit, makinelerin %35'i benzersizdir |
| WebGL | video kartı hattı, oluşturma parametreleri | yüksek, donanıma bağlı |
| Canvas | oluşturulan görüntünün karması | yüksek |
| Ses | Web Audio aracılığıyla sinyal karması | farklı makinelerde yüksek |
| Ekran ve DPR | çözünürlük ve piksel yoğunluğu | ortalama |
| Saat dilimi, dil | sistem ayarları | bireysel olarak düşük, tutarlılık önemlidir |
Yazı tipleri ilk sıradadır çünkü ölçümlerimizde en yüksek entropiyi onlar taşıdı. Yalnızca yüklü yazı tipi listesi, örneklemdeki bilgisayarların %35'ini benzersiz kıldı.
İlk ölçüm ciddi bir sorunu ortaya çıkardı. Aynı makinede, bağımsız cihaz yapılandırması olmadan çalışan iki profil aynı sonuçları veriyordu yazı tipi metriklerinde, WebGL parametrelerinde, clientRects ve ses sonuçlarında her yapılandırmada eşleşiyordu. Site bu hesapları çerez veya IP kullanmadan ilişkilendirebiliyordu. Bu sonuç ürün mimarisini belirledi.
Çözüm rastgele gürültü eklemek değil, her profile gerçek bir bilgisayardan alınmış tutarlı bir cihaz yapılandırması vermekti. Bu yapılandırma eklendiğinde aynı sinyaller birbirinden ayrıldı. Sonucu gerçek tarayıcılarda doğruladık:
| Yüzey | İki profil arasında değişir |
|---|---|
| WebGL satıcı ve oluşturucu | Evet |
| Parametreler WebGL | Evet |
| Ekran geometrisi ve DPR | Evet |
| Çekirdek sayısı ve bellek | Evet |
| Yazı tipleri listesi | Evet |
| Konuşma sentezi sesleri | Evet |
| Web Sesi Sabit Tablosu | Evet |
| Canvas | evet ses profil tohumundan geliyor |
Canvas'ı değiştirip gerçek yazı tipi listesini korumak ilişkilendirmeyi engellemez; diğer sinyaller eşleşmeye devam eder. Üstelik bazı sinyallere hiç müdahale edilmemelidir.
Motor, yaygın yazı tiplerinin metin metriklerini bilerek değiştirmez. Dedektörlerin kontrolü var measuretext-grid, tam da bu bozulmayı algılamak için tasarlanmıştır. Değeri değiştirmek tarayıcıyı daha kolay tespit edilir hale getirir. Aynı durum clientRects için de geçerlidir (bkz. bcr-vs-range). Bu sinyallerin farklı olması beklenmez: işletim sistemi ve DPR değeri aynı olan iki gerçek bilgisayarda Arial aynı genişliktedir; ölçüyü kullanıcı değil, yazı tipi dosyası ve sistem belirler.
Kendiniz doğrulayın. Ücretsiz pakette iki profil oluşturun, test sayfasını ikisinde de açın ve ham değerleri karşılaştırın:
Canvas ve WebGL sonuçları farklıdır, ancak her profilin sinyalleri kendi içinde tutarlıdır. Bunu açıklamamızda değil, ham değerlerde görebilirsiniz. İsterseniz tarayıcı parmak izi testi: mevcut tarayıcınızın sinyallerini ölçer ve karşılaştırmanız için yanına bir NimbusX yapılandırması yerleştirir.
Aynı bilgisayarda çalışan profilleri hâlâ ilişkilendiren bir sinyal var: oluşturulan sesin özeti. Motorun ses varyasyonu profile değil, alan adına bağlıdır. İki gerçek bilgisayar farklı özetler üretir; aynı makinedeki profiller ise şimdilik aynı sonucu paylaşır. Panel bu sınırı her profilin AUD hücresinde açıkça gösterir. NimbusX kendi motor derlemesini sunana kadar aynı platformun profillerini farklı bilgisayarlarda çalıştırın.
Ses parmak izi: mevcut sınır · Tutarlılık sayıdan daha önemlidir