NimbusX
00
› sayfa yüklendi
← blog
parmak izi08.08.20269 dakika

Dedektörler profilleri nasıl ilişkilendiriyor?

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.

01Çerez değil, tarayıcı parmak izi

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:

KanalNe ölçülüyorTipik ayırt edici değer
Yazı tipleri listesisistemde hangi yazı tipleri yüklüen yüksek entropi: 9,45 bit, makinelerin %35'i benzersizdir
WebGLvideo kartı hattı, oluşturma parametreleriyüksek, donanıma bağlı
Canvasoluşturulan görüntünün karmasıyüksek
SesWeb Audio aracılığıyla sinyal karmasıfarklı makinelerde yüksek
Ekran ve DPRçözünürlük ve piksel yoğunluğuortalama
Saat dilimi, dilsistem 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ı.

02İlk ölçümde ne gördük?

İ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şturucuEvet
Parametreler WebGLEvet
Ekran geometrisi ve DPREvet
Çekirdek sayısı ve bellekEvet
Yazı tipleri listesiEvet
Konuşma sentezi sesleriEvet
Web Sesi Sabit TablosuEvet
Canvasevet ses profil tohumundan geliyor

03Yalnızca Canvas'ı değiştirmek neden yetmez?

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.

Neredeyse yanlış yöne götürecek bir hata. Testin ilk sürümü on sekiz yaygın yazı tipinin genişliğini ölçüyor ve her seferinde eşleşme buluyordu. Cihaz yapılandırması çalışmıyor gibi görünüyordu. Oysa bilgisayarları ayıran şey yüklü yazı tipi listesi, ortak yazı tiplerinin metrikleri değil. Test yöntemini düzelttiğimizde sonuç tersine döndü: B profili kendine özel üç yazı tipini görürken A profili bunların hiçbirini görmedi.

04Kendiniz nasıl doğrularsınız?

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:

$ python -m app.cli profile create --name link-a $ python -m app.cli profile create --name link-b # iki profili de açın ve nimbusx.app/check adresine gidin

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.

05Mevcut sınır

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.

06Devamını oku

Ses parmak izi: mevcut sınır · Tutarlılık sayıdan daha önemlidir

NimbusX dosyasını indirinTeknik soru: @Get_NimbusX_Bot