Pubblicato uno strumento per identificare le estensioni installate in Chrome

È stato pubblicato un toolkit che implementa un metodo per identificare le estensioni installate nel browser Chrome. L'elenco delle estensioni ottenuto può essere utilizzato per aumentare la precisione dell'identificazione passiva di un'istanza specifica del browser, insieme ad altri indicatori indiretti, come la risoluzione dello schermo, le caratteristiche di WebGL, e le liste di plugin e font installati. L'implementazione proposta verifica l'installazione di oltre 1000 estensioni. È disponibile una demo online per testare il proprio sistema.

L'identificazione delle estensioni avviene attraverso l'analisi delle risorse fornite dalle estensioni, disponibili per richieste esterne. Di norma, le estensioni includono vari file di supporto, come immagini, che sono definiti nel manifesto dell'estensione con la proprietà web_accessible_resources. Nella prima versione del manifesto di Chrome, l'accesso alle risorse non era limitato e qualsiasi sito poteva caricare le risorse fornite. Nella seconda versione del manifesto, l'accesso a tali risorse è stato, per default, consentito solo all'estensione stessa. Nella terza versione del manifesto è stata fornita la possibilità di determinare quali risorse possono essere fornite a quali estensioni, domini e pagine.

Le pagine web possono richiedere le risorse fornite nell'estensione attraverso il metodo fetch (ad esempio "fetch('chrome-extension://okb….nd5/test.png')"), e un ritorno di valore "false" generalmente indica che l'estensione non è installata. Per impedire l'identificazione dell'estensione in base alla presenza di risorse, alcune estensioni generano un token di verifica necessario per accedere alla risorsa. La chiamata a fetch senza specificare il token termina sempre con un fallimento.

Si è scoperto che la protezione dell'accesso alle risorse delle estensioni può essere aggirata valutando il tempo necessario per completare l'operazione. Anche se fetch restituisce sempre un errore quando richiesto senza un token, il tempo di esecuzione dell'operazione differisce in presenza o assenza dell'estensione: se l'estensione è presente, la richiesta richiede più tempo rispetto a quando l'estensione non è installata. Valutando il tempo di risposta è possibile determinare abbastanza accuratamente la presenza dell'estensione.

Alcune estensioni che non includono risorse accessibili dall'esterno possono essere identificate attraverso proprietà aggiuntive. Ad esempio, l'estensione MetaMask può essere identificata valutando la definizione della proprietà window.ethereum (se l'estensione non è installata, "typeof window.ethereum" restituirà "undefined").

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster