È stato pubblicato un toolkit per identificare i componenti aggiuntivi installati in Chrome.

È stato pubblicato uno strumento che implementa un metodo per determinare 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 segnali indiretti, come la risoluzione dello schermo, le caratteristiche di WebGL, l'elenco delle plugin installati e dei font. L'implementazione proposta verifica l'installazione di oltre 1000 estensioni. È stata proposta una demo online per testare il proprio sistema.

La determinazione delle estensioni avviene attraverso l'analisi delle risorse fornite dalle estensioni, accessibili per richieste esterne. In generale, le estensioni includono vari file correlati, come immagini, che vengono definiti nel manifesto dell'estensione tramite la proprietà web_accessible_resources. Nella prima versione del manifesto, 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 era autorizzato per impostazione predefinita solo per l'estensione stessa. Nella terza versione del manifesto, è stata fornita la possibilità di definire quali risorse possono essere fornite a quali estensioni, domini e pagine.

Le pagine web possono richiedere le risorse fornite da un'estensione mediante il metodo fetch (ad esempio, 'fetch(‘chrome-extension://okb….nd5/test.png’)'), dove un valore di ritorno 'false' di solito indica che l'estensione non è installata. Per bloccare la determinazione dell'estensione in base alla presenza delle risorse, alcune estensioni generano un token di verifica necessario per accedere alla risorsa. La chiamata fetch senza specificare un token termina sempre con un errore.

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

Alcuni componenti aggiuntivi, che non includono risorse disponibili dall'esterno, possono essere identificati grazie a proprietà aggiuntive. Ad esempio, l'aggiunta di MetaMask può essere identificata attraverso la valutazione della proprietà window.ethereum (se l'aggiunta non è installata, «typeof window.ethereum» restituirà il valore «undefined»).

Fonte: opennet.ru

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