Toolkit för att upptäcka tillägg installerade i Chrome har publicerats

En verktygslåda har publicerats som implementerar en metod för att upptäcka tillägg installerade i webbläsaren Chrome. Den resulterande listan med tillägg kan användas för att öka noggrannheten av passiv identifiering av en viss webbläsarinstans, i kombination med andra indirekta indikatorer, såsom skärmupplösning, WebGL-funktioner, listor över installerade plugins och typsnitt. Den föreslagna implementeringen kontrollerar installationen av fler än 1000 tillägg. En onlinedemonstration erbjuds för att testa ditt system.

Definitionen av tillägg görs genom en analys av de resurser som tillhandahålls av tilläggen, tillgängliga för externa förfrågningar. Vanligtvis inkluderar tillägg olika medföljande filer, till exempel bilder, som definieras i tilläggsmanifestet av egenskapen web_accessible_resources. I den första versionen av Chrome-manifestet var åtkomsten till resurser inte begränsad och alla webbplatser kunde ladda ner de tillhandahållna resurserna. I den andra versionen av manifestet var tillgång till sådana resurser som standard endast tillåten för själva tillägget. I den tredje versionen av manifestet var det möjligt att avgöra vilka resurser som kan ges till vilka tillägg, domäner och sidor.

Webbsidor kan begära resurserna som tillhandahålls av tillägget med hjälp av hämtningsmetoden (till exempel "fetch('chrome-extension://okb...nd5/test.png')"), vilket returnerar "false" vanligtvis indikerar att tillägget inte är installerat. För att blockera ett tillägg från att upptäcka närvaron av en resurs genererar vissa tillägg en verifieringstoken som krävs för att komma åt resursen. Att anropa hämta utan att ange en token misslyckas alltid.

Som det visar sig kan skyddet av åtkomst till tilläggsresurser kringgås genom att uppskatta exekveringstiden för operationen. Trots att hämtning alltid returnerar ett fel vid begäran utan token, är exekveringstiden för operationen med och utan tillägget olika - om tillägget finns kommer förfrågan att ta längre tid än om tillägget är inte installerad. Genom att bedöma reaktionstiden kan du ganska exakt bestämma närvaron av tillägget.

Vissa tillägg som inte inkluderar externt tillgängliga resurser kan identifieras av ytterligare egenskaper. Till exempel kan MetaMask-tillägget definieras genom att utvärdera definitionen av egenskapen window.ethereum (om tillägget inte är inställt kommer "typeof window.ethereum" att returnera värdet "undefined").

Källa: opennet.ru

Lägg en kommentar