Værktøjssæt til at finde tilføjelser installeret i Chrome er blevet offentliggjort

Der er udgivet et værktøjssæt, der implementerer en metode til at opdage tilføjelser installeret i Chrome-browseren. Den resulterende liste over tilføjelser kan bruges til at øge nøjagtigheden af ​​passiv identifikation af en bestemt browserinstans i kombination med andre indirekte indikatorer, såsom skærmopløsning, WebGL-funktioner, lister over installerede plugins og skrifttyper. Den foreslåede implementering kontrollerer installationen af ​​mere end 1000 tilføjelser. En online demonstration tilbydes for at teste dit system.

Definitionen af ​​tilføjelser er lavet gennem en analyse af de ressourcer, som tilføjelserne leverer, tilgængelige for eksterne anmodninger. Typisk inkluderer tilføjelser forskellige medfølgende filer, såsom billeder, som er defineret i tilføjelsesmanifestet af web_accessible_resources-egenskaben. I den første version af Chrome-manifestet var adgangen til ressourcer ikke begrænset, og ethvert websted kunne downloade de leverede ressourcer. I den anden version af manifestet var adgang til sådanne ressourcer som standard kun tilladt for selve tilføjelsen. I den tredje version af manifestet var det muligt at bestemme, hvilke ressourcer der kan gives til hvilke tilføjelser, domæner og sider.

Websider kan anmode om de ressourcer, der leveres af udvidelsen ved hjælp af hentemetoden (f.eks. "fetch('chrome-extension://okb...nd5/test.png')"), hvilket returnering af "false" normalt angiver at tilføjelsen ikke er installeret. For at blokere en tilføjelse fra at registrere tilstedeværelsen af ​​en ressource, genererer nogle tilføjelser et bekræftelsestoken, der kræves for at få adgang til ressourcen. Kald hentning uden at angive et token mislykkes altid.

Som det viser sig, kan beskyttelse af adgang til tilføjelsesressourcer omgås ved at estimere udførelsestiden for operationen. På trods af at fetch altid returnerer en fejl ved anmodning uden token, er udførelsestiden for operationen med og uden tilføjelsen forskellig - hvis tilføjelsen er til stede, vil anmodningen tage længere tid, end hvis tilføjelsen er ikke installeret. Ved at vurdere reaktionstiden kan du ganske nøjagtigt bestemme tilstedeværelsen af ​​tilskuddet.

Nogle tilføjelser, der ikke inkluderer eksternt tilgængelige ressourcer, kan identificeres af yderligere egenskaber. For eksempel kan MetaMask-tilføjelsen defineres ved at evaluere definitionen af ​​egenskaben window.ethereum (hvis tilføjelsen ikke er indstillet, vil "typeof window.ethereum" returnere værdien "undefined").

Kilde: opennet.ru

Tilføj en kommentar