Bola zverejnená súprava nástrojov na zisťovanie doplnkov nainštalovaných v prehliadači Chrome

Bola zverejnená súprava nástrojov, ktorá implementuje metódu zisťovania doplnkov nainštalovaných v prehliadači Chrome. Výsledný zoznam doplnkov možno použiť na zvýšenie presnosti pasívnej identifikácie konkrétnej inštancie prehliadača v kombinácii s ďalšími nepriamymi indikátormi, ako je rozlíšenie obrazovky, funkcie WebGL, zoznamy nainštalovaných pluginov a fontov. Navrhovaná implementácia kontroluje inštaláciu viac ako 1000 doplnkov. Na otestovanie vášho systému je ponúkaná online ukážka.

Definícia doplnkov sa robí prostredníctvom analýzy zdrojov poskytovaných doplnkami, ktoré sú k dispozícii pre externé požiadavky. Doplnky zvyčajne zahŕňajú rôzne sprievodné súbory, ako sú obrázky, ktoré sú v manifeste doplnku definované vlastnosťou web_accessible_resources. V prvej verzii manifestu prehliadača Chrome nebol prístup k zdrojom obmedzený a poskytnuté zdroje si mohla stiahnuť každá stránka. V druhej verzii manifestu bol prístup k takýmto zdrojom štandardne povolený iba pre samotný doplnok. V tretej verzii manifestu bolo možné určiť, ktoré zdroje je možné prideliť ktorým doplnkom, doménam a stránkam.

Webové stránky môžu požadovať zdroje poskytované rozšírením pomocou metódy načítania (napríklad „fetch('chrome-extension://okb....nd5/test.png')“), čo zvyčajne znamená že doplnok nie je nainštalovaný. Niektoré doplnky generujú overovací token, ktorý je potrebný na prístup k zdroju, aby zablokoval doplnok v zisťovaní prítomnosti zdroja. Volanie načítania bez zadania tokenu vždy zlyhá.

Ako sa ukazuje, ochranu prístupu k doplnkovým zdrojom je možné obísť odhadom času vykonania operácie. Napriek tomu, že fetch pri požiadavke bez tokenu vždy vráti chybu, čas vykonania operácie s doplnkom a bez doplnku je odlišný - ak je doplnok prítomný, požiadavka bude trvať dlhšie, ako keby doplnok nie je nainštalovaný. Posúdením reakčného času môžete pomerne presne určiť prítomnosť doplnku.

Niektoré doplnky, ktoré neobsahujú externe dostupné zdroje, možno identifikovať podľa ďalších vlastností. Napríklad doplnok MetaMask je možné definovať vyhodnotením definície vlastnosti window.ethereum (ak doplnok nie je nastavený, "typeof window.ethereum" vráti hodnotu "undefined").

Zdroj: opennet.ru

Pridať komentár