Canvas parmak izi, aynı çizim talimatlarının farklı donanım ve yazılımlarda oluşturduğu görüntüleme farklarını bir tanımlayıcıya dönüştürür ve nadiren tek başına kullanılır. Mantıklı yaklaşım, değeri her seferinde değiştirmek değil, ortam içindeki özellikleri birbiriyle tutarlı tutmaktır.
Canvas parmak izinin çalışma ilkesi karmaşık değildir, ancak etrafta dolaşan önlem önerilerinin önemli bir kısmı yapılması gerekenin tersini yapar.
Aynı talimatlar, farklı makinelerde farklı sonuçlar
Canvas, HTML5 tarafından sağlanan bir çizim bileşenidir. Web sayfaları komut dosyalarıyla bunun üzerine şekiller ve metinler çizebilir. Aynı çizim talimatları, işletim sistemi, tarayıcı sürümü, yazı tipi kitaplığı ve ekran kartı sürücüsü gibi alt düzey farklılıklar nedeniyle çeşitli cihazlarda çok küçük görüntüleme farkları oluşturabilir. Bunlar çıplak gözle neredeyse görünmez, ancak canvas içeriği veri olarak dışa aktarıldığında farklar karşılaştırılabilir değerlere dönüşür.
Süreç kabaca şöyledir: sayfa önce grafikler ve metin çizer, ardından sonucu Base64 dizesi olarak dışa aktarmak için toDataURL() kullanır. Bu dize daha sonra tanımlayıcı olarak kullanılabilir. Farklı cihazlar farklı dışa aktarma sonuçları üretir, bu nedenle çoğu durumda değer benzersizdir. Çerezleri silmek bunu etkilemez; önbelleği temizlemek de etkilemez.
Nadiren tek başına kullanılır
Tek bir Canvas değerinin kullanımı sınırlıdır ve tarayıcı yükseltmelerinde veya sürücü güncellemelerinde değişebilir. Uygulamada Canvas genellikle başka özelliklerle birlikte paketlenir ve karşılıklı olarak doğrulanır:
- WebGL, yazı tipi listesi ve ekran kartı modeli gibi grafik verileri
- UA, saat dilimi, dil ve ekran çözünürlüğü gibi ortam verileri
- Çerezler, yerel depolama ve ağ çıkışı gibi oturum verileri
Bu sinyallerin bir arada kullanılmasının nedeni tutarlılığı denetlemektir. Her bir özellik tek başına normal aralıkta görünebilir, ancak birlikte ele alındıklarında çelişkiler belirginleşir: saat dilimi ABD olarak ayarlanmış, dil listesi tamamen Çince ve Canvas değeri entegre grafiklere karşılık gelirken UA yeni ve üst düzey bir cihaz bildiriyor olabilir. Platformun kim olduğunuzu kanıtlaması gerekmez. Yalnızca bu özellik grubunun gerçek bir makineye benzemediğini görmesi yeterlidir.
Devre dışı bırakmak sizi daha görünür yapar
Birçok kişinin ilk tepkisi Canvas'ı kapatmaktır, ancak bu tam tersi bir sonuç doğurabilir.
Normal kullanıcıların tarayıcılarının neredeyse tamamı Canvas'ı destekler. Canvas'ı açıkça desteklemeyen bir ortam istatistiksel olarak azınlıktadır ve özel bir işlem uygulandığını adeta ilan eder. Daha pratik bir sorun da vardır: birçok site görüntü kırpma, grafikler ve CAPTCHA oluşturma için Canvas'a dayanır. Canvas kapatıldığında sayfa işlevleri bozulabilir ve bir anormallik daha ortaya çıkar.
Başka bir yöntem, her ziyarette yeni bir rastgele değer kümesi kullanmaktır. Bunun da benzer bir sorunu vardır: gerçek cihaz parmak izleri kararlıdır. Her seferinde değişen bir ortam normal bir cihazdan farklı davranır ve bu nedenle daha kolay ayrıştırılıp işaretlenebilir. Rastgeleleştirmenin kendisi tanınabilir bir sinyal olabilir.
Mantıklı yön iç tutarlılıktır
Her ziyarette her şeyi değiştirmek yerine, ortam içindeki özelliklerin birbiriyle uyumlu olması ve genel profilin olağandışı görünmemesi gerçeğe daha yakındır.
Uygulamada özellikler birbirini desteklemelidir: saat dilimi, dil ve çıkış IP'sinin coğrafi konumu birbiriyle uyumlu olmalıdır. UA'nın bildirdiği cihaz ile Canvas ve WebGL'nin gösterdiği grafik kapasitesi aynı seviyede olmalıdır. Aynı hesabın ortamı uzun süre kararlı kalmalı ve tekrarlanan ziyaretlerde belirgin biçimde değişmemelidir. Yalnızca belirli bir özelliği kapatan eklentilere güvenmeyin; bunlar çoğu zaman daha belirgin özellikler oluşturur. Mümkün olduğunda daha az üçüncü taraf komut dosyası çalıştırmak, veri toplanabilecek yüzeyi azaltır.
Birden fazla ortamın birbirinden ayrılması gerekiyorsa, bu ortam izolasyonunun çözmesi gereken bir konudur. PurpleMark gibi araçlar çoklu hesap ortamlarını izole ederken genellikle her hesaba sabit bir ortam atar ve parametreleri rastgele sıçratmaz; çünkü platformların asıl önemsediği şey, bu özellik grubunun kararlı kalıp kalmadığı ve kendi içinde anlamlı olup olmadığıdır.
Özet
Canvas, donanım ve yazılımdaki küçük farklılıkları kararlı ve karşılaştırılabilir bir dizeye dönüştürdüğü için takip amacıyla kullanılabilir. Etkili bir yaklaşım onu kapatmak ya da değerleri gelişigüzel değiştirmek değil, aynı ortamdaki diğer özelliklerle aynı hikâyeyi anlatmasını sağlamaktır. Sıradan görünmek, sıra dışı görünmekten daha güvenlidir.


