S'ha publicat el conjunt d'eines per detectar complements instal·lats a Chrome

S'ha publicat un conjunt d'eines que implementa un mètode per detectar complements instal·lats al navegador Chrome. La llista de complements resultant es pot utilitzar per augmentar la precisió de la identificació passiva d'una instància concreta del navegador, en combinació amb altres indicadors indirectes, com ara la resolució de pantalla, les funcions WebGL, les llistes de connectors i tipus de lletra instal·lats. La implementació proposada verifica la instal·lació de més de 1000 complements. S'ofereix una demostració en línia per provar el vostre sistema.

La definició dels complements es fa mitjançant una anàlisi dels recursos que ofereixen els complements, disponibles per a peticions externes. Normalment, els complements inclouen diversos fitxers acompanyants, com ara imatges, que es defineixen al manifest del complement mitjançant la propietat web_accessible_resources. A la primera versió del manifest de Chrome, l'accés als recursos no estava restringit i qualsevol lloc podia baixar els recursos proporcionats. A la segona versió del manifest, només es permetia l'accés a aquests recursos per defecte per al complement en si. En la tercera versió del manifest es va poder determinar quins recursos es poden donar a quins complements, dominis i pàgines.

Les pàgines web poden sol·licitar els recursos proporcionats per l'extensió mitjançant el mètode fetch (per exemple, "fetch('chrome-extension://okb....nd5/test.png')"), que en retornar "false" normalment indica que el complement no està instal·lat. Per evitar que un complement detecti la presència d'un recurs, alguns complements generen un testimoni de verificació necessari per accedir al recurs. La trucada a Fetch sense especificar un testimoni sempre falla.

Com a resultat, la protecció de l'accés als recursos addicionals es pot evitar estimant el temps d'execució de l'operació. Tot i que fetch sempre retorna un error quan es sol·licita sense testimoni, el temps d'execució de l'operació amb i sense el complement és diferent: si el complement està present, la sol·licitud trigarà més que si el complement. no està instal·lat. Avaluant el temps de reacció, podeu determinar amb força precisió la presència del suplement.

Alguns complements que no inclouen recursos accessibles externament es poden identificar mitjançant propietats addicionals. Per exemple, el complement MetaMask es pot definir avaluant la definició de la propietat window.ethereum (si el complement no està definit, "typeof window.ethereum" retornarà el valor "undefined").

Font: opennet.ru

Afegeix comentari