← Terug naar de blog

Wat is een WebGL-fingerprint? Hoe videokaartgegevens deel worden van je browser fingerprint

Websites lezen je videokaart via twee routes: de ene vraagt parameters op, de andere bekijkt beelden. Open je een fingerprint-detectiepagina en zie je bij WebGL Renderer voor het eerst het model van je eigen kaart staan, dan denk je waarschijnlijk: hoe weet die pagina welke kaart ik heb geïnstalleerd? Wat er wordt gelezen is geen hardware-serienummer, maar de kenmerken van de grafische omgeving die de browser prijsgeeft. De helft van die kenmerken bestaat uit parameters die de interface zelf rapporteert, de andere helft uit resultaten die worden afgelezen nadat de videokaart een plaatje heeft getekend. Eén zo'n gegeven is niet genoeg om iemand te identificeren, maar samen vormen ze een puzzelstuk met onderscheidend vermogen.

WebGL is de grafische interface die browsers aanbieden. 3D-modellen, kaarten en visualisaties op webpagina's worden ermee via de videokaart gerenderd. Diezelfde interface geeft ook een deel van de grafische omgeving prijs. MostMate is een anti-detect browser die voor elke account een eigen browseromgeving klaarzet. Videokaart- en grafische parameters horen bij de omgevingssignalen die het beheert.

Twee soorten informatie: opgevraagde parameters en getekende beelden

De informatie achter een WebGL-fingerprint komt uit twee bronnen, en de verzamelmethode verschilt volledig. De eerste bron vraag je op. De pagina roept de interface aan en krijgt antwoord: de fabrikant van de videokaart, het renderertype, de ondersteunde versies. De tweede bron tekent. De pagina laat de videokaart een afbeelding met vaste inhoud renderen en leest daarna het resultaat uit. Verschillende apparaten leveren kleine verschillen op. Samen schetsen de twee bronnen het portret van de grafische omgeving zoals een site die ziet.

Schema van de dubbele verzamelroute voor de WebGL-fingerprint

Eerst het opgevraagde deel. Typische velden op een detectiepagina:

VeldInhoudTypische waarde
Vendorfabrikant van de videokaartGoogle Inc. (NVIDIA)
Renderertype rendererANGLE (NVIDIA, GeForce RTX 3060)
WebGL VersioninterfaceversieWebGL 2.0
Extensionslijst met ondersteunde extensieseen reeks extensienamen

In deze lijst zitten enkele details die de moeite waard zijn. Bij Vendor tonen veel browsers uniform Google Inc.; de echte fabrikant staat pas tussen haakjes. De waarde van Renderer verschilt per browserimplementatie: dezelfde NVIDIA-kaart kan in verschillende browsers in een andere tekenreeks worden gerapporteerd. De verschillen in de extensielijst zijn nog duidelijker. Welke extensies worden ondersteund en in welke volgorde ze staan, levert extra informatie op.

De leesinvoer voor deze parameters is een extensie met de naam WEBGL_debug_renderer_info. Die stelt twee constanten beschikbaar: de niet-gemaskeerde vendor- en renderer-tekenreeks. In de MDN-documentatie staat dat deze extensie oorspronkelijk voor debugging bedoeld is en meebeweegt met de privacy-instellingen van de browser. Firefox zet haar volledig uit zodra de privacyoptie resistFingerprinting aan staat. Met andere woorden: dezelfde videokaart kan onder verschillende browsers of privacyconfiguraties andere rapportages opleveren. Houd bij het controleren rekening met die variabele.

Waarom de videokaart een omgevingskenmerk is

De onderscheidende kracht zit in de combinatie, niet in een enkel veld. De markt voor videokaarten is sterk geconcentreerd. NVIDIA, AMD, Apple en Intel dekken samen de overgrote meerderheid van alle apparaten; alleen het veld Renderer wijst dus niemand aan. In combinatie met andere signalen kan het onderscheidend vermogen wel toenemen. Gebruikt een Windows-apparaat bijvoorbeeld Chrome, dan hoort de grafische omgeving die WebGL prijsgeeft doorgaans bij de bijbehorende systeem- en browserconfiguratie; toont de browserinformatie Windows terwijl de grafische omgeving kenmerken laat zien die bij macOS passen, dan is nader onderzoek op zijn plaats. Klopt ook een ander gegeven zoals de tijdzone niet met de verwachte omgeving, dan kan de configuratie als geheel tegenstrijdige signalen afgeven.

Schema van tegenstrijdige en consistente combinaties van grafische parameters

Het gaat er niet om elke parameter willekeurig aan te passen, maar om te controleren of de omgevingssignalen onderling samenhangen. Eén parameter zomaar wijzigen maakt de omgeving als geheel niet per se logischer. Over de problemen die willekeurige fingerprintwijziging kan veroorzaken, lees je meer in waarom fingerprintrandomisatie onveilig is.

Nu het getekende deel. De videokaart een vaste afbeelding laten renderen en de uitvoer uitlezen: dat idee loopt parallel met de Canvas-fingerprint; in het artikel over de Canvas-fingerprint staat hoe die verschillen bij 2D-tekenwerk ontstaan. WebGL loopt via de 3D-pijplijn, waarbij de rendering door de videokaartdriver en de onderliggende grafiekbibliotheek gaat. Een andere GPU, een andere driverversie of een andere browserimplementatie kan ervoor zorgen dat de uitvoer een paar pixels afwijkt. Zulke verschillen zijn met het blote oog onzichtbaar, maar een script leest ze exact uit.

Twee kanttekeningen voor de duidelijkheid. Ten eerste: het onderscheidende vermogen van beeldverschillen is minder spectaculair dan het verhaal doet. Tussen apparaten met dezelfde kaart en dezelfde driverversie is mogelijk geen meetbaar verschil te vinden. Ten tweede: dit is een andere verzamelmethode dan bij parameterinformatie, dus interpreteer beide resultaten los van elkaar.

Wat is het verschil tussen WebGL, Canvas en WebGPU?

Drie namen, vaak samen genoemd, telkens iets anders. In een tabel:

ParameterWat wordt bekekenVerzamelmethode
Canvas2D-tekenresultaattekenen en verschil meten
WebGLgrafische parameters en 3D-beeldparameters opvragen en tekenen
WebGPUsignalen van de nieuwe grafische interfaceopvragen en rekenkracht testen
AudioContextuitvoer van audioverwerkingalgoritme uitvoeren en meten

De relatie tussen WebGPU en WebGL valt in één zin te vertellen. WebGPU is de grafische interface van de volgende generatie die browsers nu uitrollen, met meer capaciteiten en een breder scala aan parameters; in het artikel over de WebGPU-fingerprint staat welke apparaatkenmerken die interface prijsgeeft. WebGL is de huidige interface met verreweg de grootste dekking en wordt door vrijwel elke browser ondersteund. De twee zullen nog lang naast elkaar bestaan, verschijnen vaak samen op detectiepagina's en verdienen bij het uitzoeken allebei aandacht.

Hoe controleer je je eigen WebGL-fingerprint?

Noteren en vergelijken is de kern van elke check. Drie stappen:

  1. Open een IP-detectiepagina vanuit je omgeving of een tool als BrowserLeaks en zoek het WebGL-onderdeel. Noteer vier zaken: Vendor, Renderer, WebGL Version en het aantal extensies.
  2. Test dezelfde omgeving na enige tijd opnieuw en leg de twee resultaten naast elkaar. Verandert een parameter van de echte videokaart naar software-rendering zoals SwiftShader, of wijkt het aantal extensies merkbaar af, dan is er iets in de omgeving gewijzigd.
  3. Zet het WebGL-resultaat af tegen de volledige omgevingsconfiguratie. Rapporteert WebGL Windows met NVIDIA, dan moet de UA met het besturingssysteem ook Windows zijn en moeten tijdzone, taal en uitgangsregio op elkaar aansluiten. Een omgeving waarin elk onderdeel op zich klopt maar de combinatie tegenstrijdig is, valt des te sneller op.

Eén categorie hints verdient aparte aandacht. Toont de detectiepagina software-rendering zoals SwiftShader of ANGLE (Google), dan heeft de omgeving mogelijk helemaal geen videokaart. Het kan ook zijn dat de browser op software-rendering is overgegaan. Op echte apparaten komen zulke waarden zelden voor; in een omgeving die langdurig in gebruik is, vormt het een signaal dat om actie vraagt.

Hoe gebruik je de WebGL image parameter van MostMate?

In de vingerafdrukinstellingen van MostMate is WebGL image een parameter die je apart instelt. Op de instellingenpagina staat hij tussen de andere grafische parameters zoals Canvas. Bij het aanmaken of bewerken van een omgeving kent WebGL image twee standen: Real en Noise. Real houdt de echte waarde aan; zet je de stand op Noise, dan loopt de uitvoer via het ruispatroon.

Kijk daarna in het vingerafdrukvoorbeeld rechts naar de bijbehorende rij: de waarde verandert in een notatie met een code van zes tekens. Die code geldt niet voor andere parameters. Hij markeert de ruisconfiguratie; welke hash er daadwerkelijk wordt blootgelegd, controleer je op de detectiepagina die je vanuit de omgeving opent.

De parameter WebGL image in de vingerafdrukinstellingen van MostMate

Welke stand je kiest hangt ervan af wie de omgeving moet zijn. Voor omgevingen die langdurig worden opgebouwd is Real het advies: de parameters van een echte videokaart en het drivergedrag zijn het moeilijkst na te bootsen, en een stabiele omgeving hoeft daar niets aan te veranderen. Heb je meerdere omgevingen nodig voor hetzelfde soort werk, dan levert Noise gedifferentieerde beelduitvoer op, zodat niet elke omgeving op het grafische vlak dezelfde strek toont. Ook met Noise begin je niet vanaf nul: in het vingerafdrukvoorbeeld staat elke waarde gewoon op tafel, dus je ziet in één oogopslag hoe alles is geconfigureerd.

De grens verdienen eveneens een woord. Parameterbeheer verkleint vooral het risico op vermenging en tegenstrijdigheden tussen omgevingen. Los van WebGL staan signalen zoals schermresolutie en lettertypen op zichzelf; een checklist voor het op één lijn brengen vind je in het artikel over anti-associatie en consistentie. Hoe netjes je de omgeving ook configureert, hoe het platform oordeelt bepaalt het platform zelf; dit artikel belooft dus nergens dat configuratie detectie onmogelijk maakt.

Veelgestelde vragen over de WebGL-fingerprint

Kan een website mijn echte videokaartmodel zien?

Het model in het veld Renderer is zichtbaar, op voorwaarde dat de browser de extensie WEBGL_debug_renderer_info niet beperkt. Maar dit is grafische beschrijvingsinformatie die de browser prijsgeeft, geen uitlezing van de hardware-identiteit. Browsers zoals Firefox verbergen of generaliseren dit soort informatie zodra privacybescherming aan staat.

Helpt WebGL uitzetten tegen fingerprinting?

Dat wordt afgeraden. Moderne webpagina's zijn sterk afhankelijk van WebGL voor rendering; na uitschakelen hapert de functionaliteit. Bovendien ondersteunt vrijwel elke gangbare browser WebGL, waardoor een browser zonder WebGL op zichzelf al een afwijkend signaal is en juist sneller in een apart hokje wordt gestopt.

Is een WebGL-fingerprint hetzelfde als een Canvas-fingerprint?

Nee. Beiden benutten renderverschillen, maar Canvas tekent in 2D terwijl WebGL via de 3D-pijplijn loopt en daarbovenop nog een laag capaciteitsparameters heeft. Op een detectiepagina zijn het twee losse blokken; de waarde van de ene zegt niets over de andere.

Kan een anti-detect browser WebGL omzetten naar een willekeurige videokaart?

Dat hangt af van de implementatie. MostMate kiest voor twee standen, Real en Noise, waarbij Noise gedifferentieerde beelduitvoer geeft. Het doel blijft steeds dat de parameters van de hele omgeving op elkaar aansluiten, niet dat één veld een bepaalde waarde krijgt toebedeeld.

Tot slot

De kern van de WebGL-fingerprint is dat de browser de parameters en het rendergedrag van de grafische omgeving aan websites overgeeft: parameters antwoorden op de vraag wat voor kaart je hebt, beelden op de vraag wat je tevoorschijn tovert. Voor het beheer van meerdere accounts draait het nooit om het verbergen van de videokaart. Het gaat erom dat de grafische parameters van elke omgeving hetzelfde verhaal vertellen als de UA, de tijdzone en de uitgangsregio.

MostMate stopt parameters zoals de WebGL image in de omgevingsconfiguratie en beheert ze centraal; controleren en afstemmen kosten daardoor minder moeite. Een omgeving opzetten is slechts het begin; de dagelijkse controle is wat op termijn het verschil maakt. Voor de aanpak van meer grafische parameters biedt de officiële website een volledig overzicht; wie voor meerdere accounts een omgeving met heldere grenzen wil opzetten, kan MostMate downloaden en bij de eerste omgeving beginnen.

MOSTMATE

Veilig meerdere accounts beheren, heel eenvoudig

Begin met je eerste account en bouw met MostMate aan veiligere, slimmere en efficiëntere multiaccountactiviteiten.

  • Onafhankelijke profielen. Consistente identiteiten.
  • AI-automatisering · Accountgezondheid · Teamwerk
MostMate downloaden