Værktøjet til at identificere udvidelser installeret i Chrome er offentliggjort.

Der blev offentliggjort et værktøj med implementeringen af metoden til at bestemme de udvidelser, der er installeret i Chrome-browseren. Den modtagne liste over udvidelser kan bruges til at øge nøjagtigheden af passiv identifikation af den specifikke browserinstans, sammen med andre indirekte tegn som skærmopløsning, WebGL-egenskaber, lister over installerede plugins og skrifttyper. Den foreslåede implementering tjekker installationen af over 1000 udvidelser. En online demonstration er foreslået til test af dit system.

Identifikation af udvidelser sker gennem analysen af de ressourcer, som udvidelserne stiller til rådighed for eksterne forespørgsler. Generelt indeholder udvidelserne forskellige tilknyttede filer, såsom billeder, som defineres i udvidelsens manifest med egenskaben web_accessible_resources. I den første version af manifestet var adgangen til ressourcerne ikke begrænset, og enhver hjemmeside kunne indlæse de tilgængelige ressourcer. I den anden version af manifestet blev adgangen til sådanne ressourcer som standard kun tilladt for selve udvidelsen. I den tredje version af manifestet blev muligheden for at definere, hvilke ressourcer der kan leveres til hvilke udvidelser, domæner og sider, tilføjet.

Websider kan anmode om ressourcer leveret af udvidelsen ved hjælp af fetch-metoden (for eksempel «fetch(‘chrome-extension://okb….nd5/test.png’)»), hvor et returneret værdi på «false» normalt indikerer, at udvidelsen ikke er installeret. For at blokere identifikationen af udvidelsen via tilgængelige ressourcer genererer nogle udvidelser en tjek-token, der er nødvendig for at få adgang til ressourcen. Et fetch-kald uden angivelse af token mislykkes altid.

Som det viser sig, kan adgangen til ressourcerne i udvidelserne omgås ved at vurdere den udførte operationstid. Selvom fetch altid returnerer en fejl ved forespørgsel uden token, adskiller operationstiden sig, afhængigt af om udvidelsen er til stede eller ej — hvis udvidelsen er til stede, vil anmodningen tage længere tid end hvis udvidelsen ikke er installeret. Ved at vurdere reaktionstiden kan man ret præcist afgøre, om udvidelsen er til stede.

Nogle udvidelser, der ikke inkluderer tilgængelige ressourcer udefra, kan identificeres ved hjælp af ekstra egenskaber. For eksempel kan udvidelsen MetaMask identificeres gennem evalueringen af egenskaben window.ethereum (hvis udvidelsen ikke er installeret, vil «typeof window.ethereum» returnere værdien «undefined»).

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster