Verktøysett for å oppdage tillegg installert i Chrome har blitt publisert

Det er publisert et verktøysett som implementerer en metode for å oppdage tillegg installert i Chrome-nettleseren. Den resulterende listen over tillegg kan brukes til å øke nøyaktigheten av passiv identifikasjon av en bestemt nettleserforekomst, i kombinasjon med andre indirekte indikatorer, for eksempel skjermoppløsning, WebGL-funksjoner, lister over installerte plugins og fonter. Den foreslåtte implementeringen kontrollerer installasjonen av mer enn 1000 tillegg. En online demonstrasjon tilbys for å teste systemet ditt.

Definisjonen av tillegg er laget gjennom en analyse av ressursene som tilbys av tilleggene, tilgjengelig for eksterne forespørsler. Vanligvis inkluderer tillegg ulike tilhørende filer, for eksempel bilder, som er definert i tilleggsmanifestet av web_accessible_resources-egenskapen. I den første versjonen av Chrome-manifestet var tilgangen til ressurser ikke begrenset, og alle nettsteder kunne laste ned ressursene som ble levert. I den andre versjonen av manifestet var tilgang til slike ressurser som standard bare tillatt for selve tillegget. I den tredje versjonen av manifestet var det mulig å bestemme hvilke ressurser som kan gis til hvilke tillegg, domener og sider.

Nettsider kan be om ressursene som tilbys av utvidelsen ved å bruke hentemetoden (for eksempel "fetch('chrome-extension://okb...nd5/test.png')"), som returnerer "false" vanligvis indikerer at tillegget ikke er installert. For å blokkere et tillegg fra å oppdage tilstedeværelsen av en ressurs, genererer noen tillegg et bekreftelsestoken som kreves for å få tilgang til ressursen. Å kalle henting uten å spesifisere et token mislykkes alltid.

Som det viser seg, kan beskyttelse av tilgang til tilleggsressurser omgås ved å estimere utførelsestiden for operasjonen. Til tross for at henting alltid returnerer en feil ved forespørsel uten token, er utførelsestiden for operasjonen med og uten tillegget forskjellig - hvis tillegget er tilstede, vil forespørselen ta lengre tid enn hvis tillegget er ikke installert. Ved å vurdere reaksjonstiden kan du ganske nøyaktig bestemme tilstedeværelsen av tilskuddet.

Noen tillegg som ikke inkluderer eksternt tilgjengelige ressurser, kan identifiseres av tilleggsegenskaper. For eksempel kan MetaMask-tillegget defineres ved å evaluere definisjonen av egenskapen window.ethereum (hvis tillegget ikke er satt, vil "typeof window.ethereum" returnere verdien "undefined").

Kilde: opennet.ru

Legg til en kommentar