2026'da Canvas ve WebGL Fingerprinting
GPU tabanlı fingerprinting'in durumu: Chrome'un privacy sandbox'ıyla ne değişti, biz nasıl uyum sağladık ve donanım sinyalleri neden en kararlı tanımlayıcı olmayı sürdürüyor.
Canvas
ve
WebGL
fingerprinting, 2010'ların başından bu yana cihaz tanımlamanın temel taşları olmuştur. Ancak manzara, Chrome'un
Privacy Sandbox
girişimleri, Firefox'un Enhanced Tracking Protection'ı ve Safari'nin Intelligent Tracking Prevention'ı ile önemli ölçüde değişti. İşte 2026'da GPU tabanlı fingerprinting'in durumu — neyin değiştiği, nasıl uyum sağladığımız ve bu sinyallerin neden vazgeçilmez kaldığı.
Chrome'un Privacy Sandbox'ı ile Ne Değişti
2024'ten itibaren aşamalı olarak yayına alınan Chrome'un Privacy Sandbox'ı, fingerprinting'i etkileyen çeşitli değişiklikler getirdi. En önemlisi, cookie tabanlı takibin etkinliğini azaltan ancak canvas veya WebGL fingerprinting'i doğrudan etkilemeyen bölümlenmiş depolama (partitioned storage) girişimidir.
Bununla birlikte Chrome, canvas'a gürültü enjeksiyonu (canvas noise injection) ile deney yapmaya başladı — birebir fingerprinting'i önlemek için canvas piksel verilerine küçük rastgele bozulmalar ekliyor. Etkinleştirildiğinde, aynı çizim talimatları her çalıştırmada biraz farklı piksel çıktıları üretir. Bu, birebir tekrarlanabilirlik bekleyen naif, hash tabanlı canvas fingerprinting'i bozar.
Canvas Gürültüsüne Uyum Sağlamak
Canvas gürültü enjeksiyonuna yanıtımız, canvas sinyalleri için birebir eşleştirmeden benzerlik tabanlı eşleştirmeye geçmek oldu. Tüm canvas piksel verisinin tek bir hash'ini hesaplamak yerine, artık farklı bölgelerden ve çizim işlemlerinden birden fazla öznitelik vektörü çıkarıyoruz.
Gürültü enjeksiyonu tipik olarak küçüktür — kare başına birkaç piksel değişir. Öznitelikleri daha kaba bir ayrıntı düzeyinde çıkararak (canvas'ı bölgelere ayırıp toplu istatistikler hesaplayarak), gürültüye rağmen alttaki donanım imzasını belirleyebiliriz. Oturumlar arası eşleştirme algoritmamız bu öznitelik vektörlerini kosinüs benzerliği kullanarak karşılaştırır; eşik, donanımla tutarlı değişimleri kabul edecek ancak farklı cihazları reddedecek şekilde ayarlanmıştır.
WebGL: Hâlâ Bir Altın Madeni
Canvas fingerprinting yeni zorluklarla karşılaşırken, WebGL fingerprinting gizlilik girişimlerinden büyük ölçüde etkilenmeden kalıyor. WebGL API'si, GPU'ya içkin olan ve WebGL işlevselliğini bozmadan kolayca bozulamayan donanım parametrelerini — maksimum doku boyutları, shader hassasiyet formatları, desteklenen extension'lar — açığa çıkarır.
Chrome, WebGL renderer ve vendor string erişimini kısıtlamayı tartıştı (belirli GPU adlarını "GPU" gibi genel etiketlerle değiştirmek), ancak bu değişiklik geniş çapta uygulanmadı. Uygulansaydı bile, sorguladığımız düzinelerce diğer WebGL parametresi yine de son derece ayırt edici tanımlama sinyalleri sağlardı.
Donanım Çıpası Olarak GPU
GPU tabanlı fingerprinting'in güçlü kalmasının temel nedeni, GPU çipi, sürücü ve render işlem hattı tarafından fiziksel olarak belirlenen donanım özelliklerini okumasıdır. Bu özellikler kolayca değiştirilebilen yazılım tercihleri değildir — silikonun nasıl tasarlandığının ve üretildiğinin sonuçlarıdır.
NVIDIA RTX 4070'e sahip bir cihaz her zaman belirli maksimum doku boyutları, belirli shader hassasiyeti ve belirli extension desteği bildirir; çünkü bu değerler GPU mimarisi tarafından belirlenir. Bu değerleri değiştirmenin tek yolu farklı bir GPU veya farklı bir sürücü kullanmaktır — ve sürücü değişiklikleri çoğu kullanıcı için nispeten seyrektir.
Canvas Render: Piksel Hash'lemenin Ötesinde
Modern canvas fingerprinting, basit piksel hash'lemenin ötesine geçer. Donanıma bağlı render farklılıklarını büyütmek için özel olarak tasarlanmış çizim işlemleri kullanırız. Belirli fontlarla metin render'ı, font rasterizer'ı çalıştırır. Belirli kontrol noktalarına sahip Bezier eğrileri, GPU'nun eğri tessellation'ını çalıştırır. Belirli renk duraklarına sahip gradyanlar, renk harmanlama işlem hattını çalıştırır.
GPU modelleri arasındaki varyansı en üst düzeye çıkarırken aynı GPU üzerinde tekrarlanan çalıştırmalar arasındaki varyansı en aza indiren çizim işlemleri seçerek, erken fingerprinting kütüphanelerinin kullandığı basit metin-ve-şekil yaklaşımından hem daha ayırt edici hem de daha sağlam canvas testleri oluştururuz.
WebGL Shader Fingerprinting
Kullandığımız daha yeni bir teknik ise WebGL shader fingerprinting'tir. Belirli shader programlarını derleyip derlenmiş özelliklerini (hassasiyet, optimizasyon düzeyi, komut sayısı) sorgulayarak, GPU'nun shader derleyicisi hakkında bilgi çıkarabiliriz — bu da GPU aileleri arasında değişen, donanıma bağlı başka bir özelliktir.
Bu teknik, benzer temel WebGL parametrelerine sahip cihazları ayırt etmek için özellikle değerlidir. İki farklı GPU modeli aynı maksimum doku boyutunu destekleyebilir, ancak shader derleyicileri aynı shader kaynak kodu için farklı derlenmiş çıktılar üretecektir.
Gizlilik Hususları
GPU tabanlı fingerprinting, tüm fingerprinting gibi, sorumlu biçimde kullanılmalıdır. Bu sinyalleri meşru amaçlarla kullanırız — dolandırıcılık önleme, bot detection ve hesap güvenliği — siteler arası takip veya reklamcılık için değil. Bulut tabanlı dağıtımımız, fingerprint verilerinin müşterilerimizin altyapısında kalmasını sağlayarak üçüncü taraflarla veri paylaşımını ortadan kaldırır.
Gizlilik manzarası gelişmeye devam edecek. Tarayıcılar, GPU fingerprinting'i etkileyen ek korumalar getirebilir. Stratejimiz sürekli uyum sağlamaktır — eskileri kısıtlandıkça donanıma bağlı yeni sinyaller bulurken, müşterilerimizin güvendiği doğruluğu ve kararlılığı korumaktır.