two person standing under lot of bullet cctv camera

Canvas Fingerprinting

Att din webbläsare delar med sig av information till hemsidor är troligen inte någon nyhet för någon. Det finns viktig kommunikation som måste genomföras för att hemsidan ska se ut och fungera bäst för din webbläsare och hårdvara. Det finns dock en risk att du delar med dig lite väl mycket information till hemsidor, vilket kan användas för att identifiera och lokalisera dig i ett första skede. I ett andra skede kan informationen användas för att anfalla din dator eller skräddarsy riktad reklam, baserat på var du är och vad du tittar på.

Det har därför skapats regler för hur spårningsdata hanteras på Internet. I och med Apples ”banbrytande” möjligheter att neka att spåras så har nya tekniker kommit till ytan. Jag säger ”nya tekniker”, men följande har använts länge, men i mindre utsträckning. I och med att användaren fick mer kontroll över sin data så var ”marknaden” tvungen att anpassa sig. Många som använder denna teknik hävdar förstås att det rör sig om att skydda sitt eget intresse och förhindra att användare missbrukar deras system, men i grund och botten är det spårning av dom som inte vill bli spårade, om vi ska vara helt ärliga.

Tekniken som används kallas ”Canvas fingerprinting” och fungerar genom att ett script på en hemsida frågar din webbläsare efter en liten smula information, funktionell information. Exempelvis vad du har för webbläsare eller vilken upplösning du har på skärmen. Information som, på egen hand, inte kan användas för att identifiera dig. Webbläsare har nämligen mycket information som kan användas för att skapa ett ”fingeravtryck” för att identifiera personer med hög noggrannhet. Detta kallas försvenskat för ett ”webbläsarfingeravtryck” och statistik visar att om du sätter ihop smulorna med information så kommer ett webbläsarfingeravtryck bara att matcha 1 av 286 777 andra.

Om du tänker att detta var slutet på min ”föreläsning”, så är vi ännu bara på ytan. Du förstår, att identifiera 1 av 286777 andra räcker inte hela vägen fram. Entré för ”Canvas fingerprint”. Detta är en specifik typ av webbläsarfingeravtryck, mycket mer sofistikerad och detaljerad än ”basversionen”.

Canvas fingerprint använder ritoperationer i HTML5, vilka renderas olika beroende på din dators mjuk- och hårdvaruegenskaper. Genom att köra JavaScript-kod som genererar en bild så kan den användas för att göra ett fingeravtryck ännu mer unikt. Jag förstår att det låter som voodoo för den som inte är insatt, men statistik tyder på att över 5 % av webbens mest populära webbplatser använder Canvas fingeravtryck, så tekniken är inte ovanlig eller unik på något sätt. Man behöver inte vara en underrättelsetjänst för att ha tillgång till dom tekniska verktygen heller, det går enkelt att sköta själv och guider finns hur man bygger ett fungerande system utan kostnad.

Webbläsarbaserade skillnader har länge varit webbutvecklarnas förbannelse, med team som spenderar timmar på att försöka identifiera och eliminera dem. I det här fallet kan man dock utnyttja dem. Genom att använda skillnaden i hanteringen mellan system kan man generera unika identifierande egenskaper, oavsett användarens IP-adress, rubriker, cookie-inställningar eller annan potentiellt identifierande information. Inte ens VPN eller andra ”betal-skydd” räddar dig från denna insamling.

Till exempel är ett av de kritiska sätten som webbläsare skiljer sig åt i typsnittsrendering. Saker som kantutjämning och teckensnittstillgänglighet kan ge olika resultat beroende på ditt operativsystem, hårdvara och inställningar. Skillnader i GPU eller grafikdrivrutiner kan ytterligare skilja bildutdata. Genom att rita bakgrundsfärger och former ovanpå text kan man utnyttja dessa skillnader och få ett väldigt exakt resultat. Sedan genereras utdata från ett Canvas fingeravtryck till en unik kod som lagras för att identifiera dig på nätet, var du än befinner dig.

Samma webbläsare skapar samma kod varje gång scriptet körs, oavsett vilken hemsida som använder scriptet, vilket identifierar dig gentemot en större databas. Snart växer ett mönster fram och din användningshistorik, vad du tittar på och när träder fram.

Hur kan man då tillåta denna typ av spårning? Som jag skrev tidigare så hävdar man bestämt att det rör sig om användarnas säkerhet, förstås. Det kan mycket väl vara en smula av sanningen. Att identifiera datorer som är associerade med spam eller skadlig aktivitet gör det svårare för dem att orsaka problem. Som tjänsteleverantör kan man blockera potentiella dåliga användare eller begränsa deras åtkomst till din webbplats. Missbruk kan vara allt från att en användare skapar flera konton på en webbplats där det inte är tillåtet, upprepade gånger försöker olika lösenord, eller försöker flera verifieringskoder för ett stulet kreditkort.

Man kan också använda Canvas fingeravtryck för att identifiera legitima användare i ”gott syfte”. Om en användares fingeravtryck är identiskt eller liknande från session till session kan man vara rimligt säker på att användaren är legitim. Om man upptäcker en förändring kan åtgärder vidtas för att verifiera deras identitet. Dessa ändringar kan ta formen av e-postbekräftelse, en captcha eller kontakt med dem via en enhet om tvåfaktorsautentisering är tillgänglig. En leverantör kan också upptäcka personer som besöker deras webbplats upprepade gånger för att se till att betalvägg och gränser för pris respekteras. Spel- eller e-handelssajter kan använda fingeravtryck för att bekräfta att användarna är den de säger att de är. Väldigt bra, eller hur?

Vilken webbläsare ska man då använda sig av om man inte vill bli spårad via denna teknik? Låt mig säga så här, det är väldigt svårt att ta sig förbi denna teknik eftersom den inte är beroende av vad du tycker och tänker om dess aktivitet. När jag testar på mina datorer så får jag följande resultat med 901701 användare:

  • På iPad med Safari, Chrome, Firefox och Orion så finns det 8482 stycken användare har samma ”signatur” som mig. Det går med 99% säkerhet att säga att ”jag är jag” online.
  • På iPad med DuckDuckGo så finns det ingen med samma signatur. Jag är helt unik och går med enkelhet att spåra utan problem över hela Internet.
  • På Windows med Firefox OCH DuckDuckGo plugin så finns det ingen med samma signatur. Det går att spåra mig med 100% säkerhet över hela Internet. Även med Adblocker Ultimate och andra plugins är det 100% säkert att jag är jag.
  • På Windows med Chrome och Edge är det 3598 av 901701 som har samma signatur som mig. Det är med andra ord lite säkrare, men fortfarande 99,6% säkert att jag är jag.

Som du ser så går det inte att vara anonym, oavsett vilken konfiguration du använder. Det intressanta är att Canvas fingerprint fungerar även om du använder en VPN eller liknande lösning, vilket motverkar den där dyra avgiften du betalar för att anonymisera din anslutning. Via denna teknik så identifieras du ändå.

Men går det verkligen inte att stoppa Canvas fingerprinting? Hur gör man för att skydda sig? Låt oss fortsätta djupdyka.

För Windows är det ganska så lätt att motverka Canvas fingerprint attacker. Det finns plugins som ”Canvas Fingerprint Defender” till Firefox, Chrome och Edge. Detta gör att ett unikt ID skapas varje gång man besöker en hemsida. På detta sätt så kan ingen lägga ihop 1+1 och lista ut vad du egentligen har för dig på Internet (via Canvas fingeravtryck i alla fall).

På iOS (iPhone, iPad) så är det lite svårare. Det finns inget stöd för plugins i varken Firefox, Chrome eller DuckDuckGo. Safari har stöd för plugins, men det verkar inte finnas något som specifikt skyddar mot Canvas Fingerprint. Orion har stöd för alla plugins för Chrome eller Firefox, men det verkar inte fungera att installera något skydd, eftersom det inte påverkar något resultat i slutänden.

Den enda lösningen jag hittat som halvt fungerar är webbläsaren Showhaze, som är känd för att vara extremt säker. Dock har den stora problem med prestanda och kompatibilitet på många, många hemsidor. Den skyddar dock mot Canvas Fingerprint och många andra saker. Frågan är om det är värt det.

Längre än så tänker jag inte dyka i detta ämne. Jag kan nämna att Canvas Fingerprint även kan användas tillsammans med ljudmotorn i din Webbläsare för att ännu mer exakt kunna identifiera dig, men så långt ned i kaninhålet tänker jag inte gå. Nu räcker det med text för idag. =)

Jag fortsätter forska om hur man ska skydda sig mot denna form av integritetsproblem och återkommer så fort jag hittat något som fungerar, om det är någon som är intresserad.

Om du vill testa din egen Canvas Fingerprint på din dator, telefon eller annan enhet så kan du besöka denna hemsida: https://browserleaks.com/canvas. Om ditt resultat är unikt, så är du väldigt spårbar. Ju mindre procent, desto bättre. Notera att om du använder en skydd, som Canvas Fingerprint Defender, så får du oftast 100% spårbar som resultat, men ditt unika ID skiljer sig varje gång du besöker sidan vilket betyder att du är 100% skyddad istället för spårbar. =)

Ha en riktigt bra dag så hörs vi snart igen.