Canvas și WebGL fingerprinting în 2026
Stadiul fingerprinting-ului bazat pe GPU: ce s-a schimbat cu Privacy Sandbox de la Chrome, cum ne-am adaptat și de ce semnalele hardware rămân cei mai stabili identificatori.
Canvas
și
WebGL
fingerprinting au fost pietre de temelie ale identificării dispozitivelor încă de la începutul anilor 2010. Însă peisajul s-a schimbat semnificativ odată cu inițiativele
Privacy Sandbox
de la Chrome, cu Enhanced Tracking Protection de la Firefox și cu Intelligent Tracking Prevention de la Safari. Iată stadiul fingerprinting-ului bazat pe GPU în 2026 — ce s-a schimbat, cum ne-am adaptat și de ce aceste semnale rămân indispensabile.
Ce s-a schimbat cu Privacy Sandbox de la Chrome
Privacy Sandbox de la Chrome, lansat progresiv începând cu 2024, a introdus mai multe schimbări care afectează fingerprinting-ul. Cea mai importantă este inițiativa de stocare partiționată, care reduce eficacitatea urmăririi bazate pe cookie-uri, dar nu afectează direct fingerprinting-ul canvas sau WebGL.
Cu toate acestea, Chrome a început să experimenteze cu injectarea de zgomot pe canvas — adăugarea de mici perturbații aleatorii datelor de pixeli ale canvas-ului pentru a preveni fingerprinting-ul exact. Când este activată, aceleași instrucțiuni de desenare produc la fiecare execuție rezultate de pixeli ușor diferite. Acest lucru strică fingerprinting-ul naiv de canvas bazat pe hash, care se așteaptă la reproductibilitate exactă.
Adaptarea la zgomotul de pe canvas
Răspunsul nostru la injectarea de zgomot pe canvas a fost să trecem de la potrivirea exactă la potrivirea bazată pe similaritate pentru semnalele canvas. În loc să calculăm un singur hash al întregii date de pixeli a canvas-ului, extragem acum mai mulți vectori de caracteristici din regiuni și operațiuni de desenare diferite.
Injectarea de zgomot este de obicei mică — câțiva pixeli modificați per cadru. Extrăgând caracteristici la o granularitate mai grosieră (împărțind canvas-ul în regiuni și calculând statistici agregate), putem identifica semnătura hardware subiacentă în ciuda zgomotului. Algoritmul nostru de potrivire între sesiuni compară acești vectori de caracteristici folosind similaritatea cosinus, cu un prag reglat astfel încât să accepte variații consecvente cu hardware-ul, respingând în același timp dispozitivele diferite.
WebGL: încă o mină de aur
Deși fingerprinting-ul canvas se confruntă cu noi provocări, fingerprinting-ul WebGL rămâne în mare parte neafectat de inițiativele de confidențialitate. API-ul WebGL expune parametri hardware — dimensiuni maxime ale texturilor, formate de precizie a shaderelor, extensii suportate — care sunt intrinseci GPU-ului și nu pot fi perturbate cu ușurință fără a strica funcționalitatea WebGL.
Chrome a discutat despre limitarea accesului la string-urile de renderer și vendor WebGL (înlocuind numele specifice de GPU cu etichete generice precum „GPU”), dar această schimbare nu a fost implementată pe scară largă. Chiar dacă ar fi, cele zeci de alți parametri WebGL pe care îi interogăm ar oferi în continuare semnale de identificare extrem de distinctive.
GPU-ul ca ancoră hardware
Motivul fundamental pentru care fingerprinting-ul bazat pe GPU rămâne puternic este că citește caracteristici hardware determinate fizic de cipul GPU, de driver și de pipeline-ul de randare. Aceste caracteristici nu sunt alegeri software care pot fi schimbate cu ușurință — sunt consecințe ale modului în care a fost proiectat și fabricat siliciul.
Un dispozitiv cu un NVIDIA RTX 4070 va raporta întotdeauna dimensiuni maxime specifice ale texturilor, o precizie specifică a shaderelor și un suport specific pentru extensii, deoarece acele valori sunt determinate de arhitectura GPU-ului. Singura modalitate de a schimba aceste valori este să folosești un GPU diferit sau un driver diferit — iar schimbările de driver sunt relativ rare pentru majoritatea utilizatorilor.
Randarea canvas: dincolo de hash-ul de pixeli
Fingerprinting-ul canvas modern depășește simplul hash de pixeli. Folosim operațiuni de desenare concepute special pentru a amplifica diferențele de randare dependente de hardware. Randarea de text cu fonturi specifice solicită rasterizatorul de fonturi. Curbele Bezier cu anumite puncte de control solicită teselarea curbelor de către GPU. Gradientele cu anumite puncte de culoare solicită pipeline-ul de amestecare a culorilor.
Alegând operațiuni de desenare care maximizează varianța între modelele de GPU, minimizând totodată varianța între rulările repetate pe același GPU, creăm teste canvas care sunt simultan mai distinctive și mai robuste decât abordarea simplă cu text-și-forme folosită de bibliotecile de fingerprinting timpurii.
WebGL shader fingerprinting
O tehnică mai nouă pe care o implementăm este fingerprinting-ul de shadere WebGL. Compilând programe de shadere specifice și interogând proprietățile lor compilate (precizie, nivel de optimizare, număr de instrucțiuni), putem extrage informații despre compilatorul de shadere al GPU-ului — o altă caracteristică dependentă de hardware care variază între familiile de GPU-uri.
Această tehnică este deosebit de valoroasă pentru a distinge dispozitive cu parametri WebGL de bază similari. Două modele diferite de GPU ar putea suporta aceeași dimensiune maximă a texturilor, dar compilatoarele lor de shadere vor produce rezultate compilate diferite pentru același cod sursă de shader.
Considerații privind confidențialitatea
Fingerprinting-ul bazat pe GPU, ca orice fingerprinting, trebuie folosit în mod responsabil. Folosim aceste semnale în scopuri legitime — prevenirea fraudei, detecția boților și securitatea conturilor — nu pentru urmărire între site-uri sau publicitate. Implementarea noastră găzduită în cloud garantează că datele de fingerprint rămân pe infrastructura clienților noștri, eliminând partajarea datelor cu terți.
Peisajul confidențialității va continua să evolueze. Browserele ar putea introduce protecții suplimentare care afectează fingerprinting-ul GPU. Strategia noastră este să ne adaptăm continuu — găsind noi semnale dependente de hardware pe măsură ce cele vechi sunt restricționate, menținând totodată acuratețea și stabilitatea de care depind clienții noștri.