PowerScan
TR

Canvas parmak izi açıklaması: birbirinin aynısı iki tarayıcı neden farklı pikseller çizer

Tarayıcı parmak izleri · 6 dk okuma · yazan: PowerScan

Fotoğraf: Unsplash

Canvas parmak izi, çoğu insanın adını duyduğu ve en azının açıklayabildiği tekniktir. Fikir basit: tarayıcıdan bir şey çizmesini isteyin, pikselleri geri okuyun ve özetini (hash) alın. İlginç olan, piksellerin makineler arasında neden farklı olduğudur.

Çizim

Bir parmak izi betiği ekran dışı bir <canvas> oluşturur, 2D bağlamı alır ve kısa bir dizi çizer: dolu bir dikdörtgen, adı verilmiş bir yazı tipiyle bir miktar metin, belki bir gradyan, bir eğri, bir emoji. Sonra sonucu okumak için toDataURL() ya da getImageData() çağırır ve baytları bir hash'ten geçirir. Çıktı, 71ae464e gibi kısa bir dizedir. Bu dize, "canvas hash"idir.

Çizimle ilgili hiçbir şey gizli değildir ve GPU'ya, sayfanın zaten tarif edemeyeceği hiçbir şey gönderilmez. Bilgi talimatlarda değil, oluşturmada yatar.

Pikseller neden farklıdır

Değişkenliğin ana kaynağı metindir. Bir glifi oluşturmak; gerçekten seçilen yazı tipi dosyasını (yedekler işletim sistemine göre değişir), hinting ve kenar yumuşatma stratejisini (gri tonlamalı ya da alt piksel, ve hangi alt piksel sırası), rasterleştiriciyi (FreeType, DirectWrite, CoreText ya da tarayıcının kendisininki) ve birleştirmeyi GPU'nun mu yoksa CPU'nun mu yaptığını içerir. Bunların her biri kenar piksellerini azıcık farklı üretir. Bir "e"nin kenarındaki tek bir açık gri piksel, hash'i tamamen değiştirmeye yeter.

Gradyanlar ve eğriler daha fazlasını ekler: farklı grafik sürücüleri ve farklı kenar yumuşatma yolları ara değerleri farklı yuvarlar. Sonuç olarak aynı tarayıcı sürümüne ama farklı GPU'lara, sürücülere ya da işletim sistemlerine sahip iki makine genellikle farklı hash'ler üretirken, aynı makine her seferinde aynı hash'i üretir. Kararlı ve çeşitli; izleyicinin tam olarak istediği şey.

Bir hash siteye ne söyler

Kendi başına, kim olduğunuz hakkında hiçbir şey. Siteye, bu tarayıcının bu çizimi bu şekilde oluşturduğunu söyler; bu da bir grup makine için doğrudur. O grubun büyüklüğü önemlidir. Tümleşik grafikli ve varsayılan yazı tipli yaygın bir dizüstü bilgisayar, hash'ini birçok başkasıyla paylaşır. Alışılmadık bir kurulum neredeyse benzersiz olabilir. Bir ekran boyutu, dil listesi ve oluşturucu dizesiyle birleştiğinde, yaygın bir hash bile nadir bir kombinasyonun parçası olur.

Tarayıcılar bu konuda ne yapar

Firefox, parmak izi direncini (resist-fingerprinting) etkinleştirdiğinizde boş ya da rastgeleleştirilmiş bir canvas döndürür ve canvas erişimi için izin isteyebilir. Brave, canvas okumalarına küçük rastgele sapmalar ekler; böylece hash siteler ve oturumlar arasında değişir. Safari hangi yazı tiplerinin görünür olduğunu sınırlar ve bazı geri okumaları kısıtlar. Chromium'un kendisi canvas'ı rastgeleleştirmez; onun üzerine kurulu ve parmak izlerini denetlemeyi hedefleyen tarayıcılar bunu kendi yamalarıyla yapar ve bu yamaların kalitesi değişir.

Gürültü bedava değildir. Her ziyarette değişen bir canvas hash'i kendi başına bir sinyaldir, çünkü gerçek tarayıcılar bunu yapmaz. Yalıtılmış bir tarayıcı profili için daha iyi strateji, makul ve tutarlı bir hash'tir; böylece saatte bir farklı bir makine gibi değil, tek bir sıradan makine gibi görünür.

Bir tanılama ne gösterir

PowerScan kendi küçük görselini çizer ve size hash'i gösterir. Onu asla yüklemez; değer yalnızca sekmenizde bulunur. Yeniden yükleyin; hash aynı olmalıdır. Değilse, tarayıcıdaki bir şey gürültü enjekte ediyordur; bu, o profile güvenmeden önce bilmeye değer bir şeydir.

Tüm makaleler · Taramayı başlat