Enhetens fingeravtryck
Ett enhetsfingeravtryck eller maskinfingeravtryck är information som samlas in om programvaran och hårdvaran för en fjärrdatorenhet i identifieringssyfte. Informationen assimileras vanligtvis till en kort identifierare med hjälp av en fingeravtrycksalgoritm . Ett webbläsarfingeravtryck är information som samlas in specifikt genom interaktion med enhetens webbläsare .
Enhetsfingeravtryck kan användas för att helt eller delvis identifiera enskilda enheter även när beständiga cookies (och zombie cookies ) inte kan läsas eller lagras i webbläsaren, klientens IP-adress är dold eller man byter till en annan webbläsare på samma enhet. Detta kan göra det möjligt för en tjänsteleverantör att upptäcka och förhindra identitetsstöld och kreditkortsbedrägerier , men också att sammanställa långsiktiga register över individers webbhistorik (och leverera riktad reklam eller riktade utnyttjande ) även när de försöker undvika spårning – vilket ger en stor oro för internetintegritetsförespråkare .
Historia
Grundläggande webbläsarkonfigurationsinformation har länge samlats in av webbanalystjänster i ett försök att mäta verklig mänsklig webbtrafik och minska olika former av klickbedrägerier . Sedan introduktionen i slutet av 1990-talet skript på klientsidan gradvis möjliggjort insamling av en ökande mängd olika information, med vissa datasäkerhetsexperter som började klaga på hur lätt det är att extrahera bulkparameter som webbläsare erbjuder redan 2003.
År 2005 visade forskare vid University of California, San Diego hur TCP- tidsstämplar kunde användas för att uppskatta klockans snedställning för en enhet, och följaktligen för att på distans få ett hårdvaru-fingeravtryck av enheten.
2010 lanserade Electronic Frontier Foundation en webbplats där besökare kan testa sitt webbläsarfingeravtryck. Efter att ha samlat in ett urval av 470161 fingeravtryck, mätte de minst 18,1 bitar av entropi möjlig från webbläsarfingeravtryck, men det var före framstegen med canvas fingeravtryck , som påstår sig lägga till ytterligare 5,7 bitar.
2012 visade Keaton Mowery och Hovav Shacham, forskare vid University of California, San Diego , hur HTML5- elementet kan användas för att skapa digitala fingeravtryck av webbläsare.
Under 2013 visade sig minst 0,4 % av Alexas topp 10 000 webbplatser använda fingeravtrycksskript från några kända tredje parter.
Under 2014 visade det sig att 5,5 % av Alexas topp 10 000 sajter använde canvas-fingeravtrycksskript som betjänades av totalt 20 domäner. Den överväldigande majoriteten (95 %) av skripten serverades av AddThis , som började använda canvas fingeravtryck i januari samma år, utan några av sina kunders vetskap.
Under 2015 introducerades en funktion för att skydda mot webbläsarfingeravtryck i Firefox version 41, men den har sedan lämnats i ett experimentellt skede, inte initierat som standard. Samma år introducerades en funktion som heter Enhanced Tracking Protection i Firefox version 42 för att skydda mot spårning under privat surfning genom att blockera skript från tredjepartsdomäner som finns i listorna publicerade av Disconnect Mobile .
På WWDC 2018 meddelade Apple att Safari på macOS Mojave "presenterar förenklad systeminformation när användare surfar på webben, vilket förhindrar att de spåras baserat på deras systemkonfiguration."
Under 2019, från och med Firefox version 69, har förbättrat spårningsskydd aktiverats som standard för alla användare även under icke-privat surfning. Funktionen introducerades först för att skydda privat surfning 2015 och utökades sedan till standardsurfning som en opt-in-funktion 2018.
Mångfald och stabilitet
Motivationen för enhetens fingeravtryckskoncept härrör från det rättsmedicinska värdet av mänskliga fingeravtryck .
För att unikt kunna särskilja vissa enheter över tiden genom deras fingeravtryck måste fingeravtrycken vara både tillräckligt olika och tillräckligt stabila. I praktiken är varken mångfald eller stabilitet fullt möjligt att uppnå, och att förbättra den ena har en tendens att påverka den andra negativt. Till exempel skulle assimileringen av en extra webbläsarinställning i webbläsarens fingeravtryck vanligtvis öka mångfalden, men det skulle också minska stabiliteten, för om en användare ändrar den inställningen så skulle webbläsarens fingeravtryck också ändras.
En viss grad av instabilitet kan kompenseras genom att länka samman fingeravtryck som, även om de är delvis olika, förmodligen kan tillhöra samma enhet. Detta kan åstadkommas med en enkel regelbaserad länkalgoritm (som till exempel länkar samman fingeravtryck som skiljer sig endast för webbläsarversionen, om den ökar med tiden) eller maskininlärningsalgoritmer.
Entropi är ett av flera sätt att mäta mångfald.
Källor för identifieringsinformation
Applikationer som är lokalt installerade på en enhet tillåts samla in en stor mängd information om enhetens programvara och hårdvara, ofta inklusive unika identifierare som MAC- adress och serienummer som tilldelats maskinens hårdvara. Faktum är att program som använder digital rättighetshantering använder denna information i själva syftet att unikt identifiera enheten.
Även om de inte är utformade för att samla in och dela identifierande information, kan lokala applikationer ovilligt exponera identifierande information för de avlägsna parter som de interagerar med. Det mest framträdande exemplet är webbläsare, som har visat sig exponera olika och stabil information i en sådan mängd att den möjliggör fjärridentifiering, se § Webbläsarens fingeravtryck .
Olika och stabil information kan också samlas in under applikationslagret, genom att utnyttja de protokoll som används för att överföra data. Sorterat efter OSI-modelllager , några exempel på protokoll som kan användas för fingeravtryck är:
- OSI Layer 7: SMB , FTP , HTTP , Telnet , TLS/SSL , DHCP
- OSI-lager 5: SNMP , NetBIOS
- OSI Layer 4: TCP (se TCP/IP-stackfingeravtryck )
- OSI Layer 3: IPv4 , IPv6 , ICMP , IEEE 802.11
- OSI-lager 2: CDP
Passiva fingeravtryckstekniker kräver bara att fingeravtryckaren observerar trafik som kommer från målanordningen, medan aktiva fingeravtryckstekniker kräver att fingeravtryckaren initierar anslutningar till målanordningen. Tekniker som kräver interaktion med målenheten via en anslutning initierad av den senare behandlas ibland som semi-passiva.
Webbläsarens fingeravtryck
Insamling av en stor mängd varierad och stabil information från webbläsare är möjlig för det mesta tack vare klientsidans skriptspråk, som introducerades i slutet av 90-talet. Idag finns det flera öppna webbläsares fingeravtrycksbibliotek, såsom FingerprintJS, ImprintJS och ClientJS, där FingerprintJS uppdateras oftast och ersätter ImprintJS och ClientJS i stor utsträckning.
Webbläsarversion
Webbläsare anger sitt namn och sin version, tillsammans med viss kompatibilitetsinformation, i rubriken User-Agent-förfrågan. Eftersom det är ett uttalande fritt från klienten, bör det inte litas på när man bedömer sin identitet. Istället kan typen och versionen av webbläsaren härledas från observationen av egenheter i dess beteende: till exempel är ordningen och antalet HTTP-huvudfält unika för varje webbläsarfamilj och, viktigast av allt, varje webbläsarfamilj och version skiljer sig i dess implementering av HTML5 , CSS och JavaScript . Sådana skillnader kan fjärrtestas med hjälp av JavaScript. En Hamming-avståndsjämförelse av parserbeteenden har visat sig effektivt fingeravtrycka och särskilja flertalet webbläsarversioner.
Webbläsarfamilj | Egenskapsborttagning (av navigatorobjekt) | Omtilldelning (av navigator/skärmobjekt) |
---|---|---|
Google Chrome | tillåten | tillåten |
Microsoft Edge | inga data | inga data |
Mozilla Firefox | ignoreras | ignoreras |
Opera | tillåten | tillåten |
Internet Explorer | ignoreras | ignoreras |
Webbläsartillägg
En kombination av tillägg eller plugins som är unika för en webbläsare kan läggas till ett fingeravtryck direkt. Tillägg kan också ändra hur andra webbläsarattribut beter sig, vilket ger användarens fingeravtryck ytterligare komplexitet. Adobe Flash- och Java -plugins användes i stor utsträckning för att komma åt användarinformation innan de utfasades.
Hårdvaruegenskaper
Användaragenter kan tillhandahålla systemhårdvaruinformation , såsom telefonmodell , i HTTP-huvudet. Egenskaper om användarens operativsystem , skärmstorlek , skärmorientering och bildförhållande kan också hämtas genom att använda JavaScript för att observera resultatet av CSS -mediefrågor.
Sökhistorik
Fingeravtryckaren kunde avgöra vilka webbplatser webbläsaren tidigare hade besökt i en lista som den tillhandahållit, genom att fråga listan med JavaScript med CSS-väljaren : visited
. Vanligtvis räckte en lista med 50 populära webbplatser för att skapa en unik användarhistorikprofil, samt ge information om användarens intressen. Men webbläsare har sedan dess minskat denna risk.
Teckensnittsmått
Bokstavsbegränsningsrutorna skiljer sig mellan webbläsare baserat på kantutjämning och teckensnittskonfiguration och kan mätas med JavaScript.
Canvas och WebGL
Canvas fingeravtryck använder HTML5 canvas-elementet , som används av WebGL för att återge 2D- och 3D-grafik i en webbläsare, för att få identifierande information om den installerade grafikdrivrutinen , grafikkortet eller grafikprocessorenheten (GPU). Canvas-baserade tekniker kan också användas för att identifiera installerade typsnitt . Dessutom, om användaren inte har en GPU, CPU- information ges till fingeravtryckaren istället.
Ett fingeravtrycksskript på canvas ritar först text med angivet teckensnitt, storlek och bakgrundsfärg. Bilden av texten som återges av användarens webbläsare återställs sedan med ToDataURL Canvas API-metoden. Den hashade textkodade informationen blir användarens fingeravtryck. Canvas fingeravtrycksmetoder har visat sig producera 5,7 bitar av entropi. Eftersom tekniken erhåller information om användarens GPU, är informationsentropin "ortogonal" mot entropin för tidigare webbläsarfingeravtryckstekniker såsom skärmupplösning och JavaScript-funktioner.
Benchmarking av hårdvara
Benchmark-tester kan användas för att avgöra om en användares CPU använder AES-NI eller Intel Turbo Boost genom att jämföra CPU-tiden som används för att exekvera olika enkla eller kryptografiska algoritmer .
Specialiserade API:er kan också användas, till exempel Battery API, som konstruerar ett kortsiktigt fingeravtryck baserat på enhetens faktiska batteritillstånd, eller OscillatorNode, som kan anropas för att producera en vågform baserad på användarentropi.
En enhets hårdvaru-ID, som är en kryptografisk hashfunktion specificerad av enhetens leverantör , kan också frågas för att skapa ett fingeravtryck.
Begränsande metoder för webbläsarfingeravtryck
Det finns olika tillvägagångssätt för att mildra effekterna av webbläsarfingeravtryck och förbättra användarnas integritet genom att förhindra oönskad spårning, men det finns inget ultimat tillvägagångssätt som kan förhindra fingeravtryck samtidigt som rikedomen hos en modern webbläsare behålls.
Erbjuder ett förenklat fingeravtryck
Användare kan försöka minska sina fingeravtryck genom att välja en webbläsare som minimerar tillgängligheten för identifierande information, såsom webbläsarteckensnitt, enhets-ID, rendering av canvaselement , WebGL -information och lokal IP-adress .
Från och med 2017 anses Microsoft Edge vara den mest fingeravtrycksbara webbläsaren, följt av Firefox och Google Chrome , Internet Explorer och Safari . Bland mobila webbläsare är Google Chrome och Opera Mini mest fingeravtrycksbara, följt av mobil Firefox , mobil Edge och mobil Safari.
Tor Browser inaktiverar fingeravtrycksbara funktioner som canvas och WebGL API och meddelar användare om fingeravtrycksförsök.
Erbjuder ett falskt fingeravtryck
Förfalskning av en del av informationen som exponeras för fingeravtryckaren (t.ex. användaragenten ) kan skapa en minskning av mångfalden, men motsatsen kan också uppnås om den förfalskade informationen skiljer användaren från alla andra som inte använder en sådan strategi mer än riktig webbläsarinformation.
Förfalskning av informationen på olika sätt vid varje platsbesök, till exempel genom att störa ljudet och dukåtergivningen med en liten mängd slumpmässigt brus, möjliggör en minskning av stabiliteten. Denna teknik har antagits av Brave-webbläsaren 2020.
Blockerande skript
Blint blockering av skript på klientsidan som serveras från tredjepartsdomäner, och möjligen även förstapartsdomäner (t.ex. genom att inaktivera JavaScript eller använda NoScript ) kan ibland göra webbplatser oanvändbara. Det föredragna tillvägagångssättet är att endast blockera tredjepartsdomäner som verkar spåra personer, antingen för att de finns på en svartlista över spårningsdomäner (metoden som följs av de flesta annonsblockerare) eller för att avsikten med spårning härleds av tidigare observationer ( tillvägagångssättet som följs av Privacy Badger ).
Använder flera webbläsare
Olika webbläsare på samma maskin skulle vanligtvis ha olika fingeravtryck, men om båda webbläsarna inte är skyddade mot fingeravtryck kan de två fingeravtrycken identifieras som att de kommer från samma maskin.
Se även
- Anonym webbsurfning
- Webbläsarsäkerhet
- Webbläsare sniffar
- Evercookie
- Fingeravtryck (dator)
- Internet integritet
- Webbspårning
Vidare läsning
- Fietkau, Julian (2020-12-28). "Elefanten i bakgrunden: stärka användare mot webbläsarfingeravtryck" . Chaos Communication Congress 2020 .
- Angwin, Julia; Valentino-DeVries, Jennifer (2010-11-30). "Race är på gång till "Fingerprint"-telefoner, datorer" . Wall Street Journal . ISSN 0099-9660 . Hämtad 2018-07-10 .
- Segal, Ory; Fridman, Aharon; Shuster, Elad (2017-06-05). "Passivt fingeravtryck av HTTP/2-klienter" (PDF) . BlackHat . Hämtad 2022-02-09 .
externa länkar
- Panopticlick , av Electronic Frontier Foundation , samlar in några delar av en webbläsares enhetsfingeravtryck och uppskattar hur identifierbart det gör användaren
- Am I Unique , av INRIA och INSA Rennes, implementerar fingeravtryckstekniker inklusive insamling av information via WebGL.