Byla zveřejněna sada nástrojů pro detekci doplňků nainstalovaných v prohlížeči Chrome

Byla zveřejněna sada nástrojů, která implementuje metodu zjišťování doplňků nainstalovaných v prohlížeči Chrome. Výsledný seznam doplňků lze použít ke zvýšení přesnosti pasivní identifikace konkrétní instance prohlížeče v kombinaci s dalšími nepřímými indikátory, jako je rozlišení obrazovky, funkce WebGL, seznamy nainstalovaných pluginů a písem. Navrhovaná implementace kontroluje instalaci více než 1000 doplňků. K otestování vašeho systému je nabízena online ukázka.

Definice doplňků se provádí analýzou zdrojů poskytovaných doplňky, které jsou k dispozici pro externí požadavky. Doplňky obvykle zahrnují různé doprovodné soubory, jako jsou obrázky, které jsou definovány v manifestu doplňku pomocí vlastnosti web_accessible_resources. V první verzi manifestu Chrome nebyl přístup ke zdrojům omezen a poskytnuté zdroje si mohl stáhnout jakýkoli web. Ve druhé verzi manifestu byl přístup k takovým zdrojům standardně povolen pouze pro samotný doplněk. Ve třetí verzi manifestu bylo možné určit, které zdroje mohou být poskytnuty jakým doplňkům, doménám a stránkám.

Webové stránky mohou žádat o zdroje poskytované rozšířením pomocí metody načtení (například „fetch('chrome-extension://okb....nd5/test.png')“), což obvykle znamená, že vrátí hodnotu „false“ že doplněk není nainstalován. Aby doplněk nemohl detekovat přítomnost zdroje, některé doplňky vygenerují ověřovací token potřebný pro přístup ke zdroji. Volání načtení bez zadání tokenu vždy selže.

Jak se ukazuje, ochranu přístupu k doplňkovým zdrojům lze obejít odhadem doby provedení operace. Navzdory skutečnosti, že při požadavku bez tokenu vrací fetch vždy chybu, doba provádění operace s doplňkem a bez doplňku je odlišná - pokud je doplněk přítomen, požadavek bude trvat déle, než když doplněk není nainstalován. Posouzením reakční doby můžete poměrně přesně určit přítomnost doplňku.

Některé doplňky, které neobsahují externě dostupné zdroje, lze identifikovat podle dalších vlastností. Například doplněk MetaMask lze definovat vyhodnocením definice vlastnosti window.ethereum (pokud doplněk není nastaven, "typeof window.ethereum" vrátí hodnotu "undefined").

Zdroj: opennet.ru

Přidat komentář