ĂshtĂ« publikuar njĂ« mjete me implementimin e metodĂ«s pĂ«r identifikimin e pajisjeve tĂ« instaluara nĂ« shfletuesin Chrome. Lista e marrĂ« e pajisjeve mund tĂ« pĂ«rdoret pĂ«r tĂ« rritur saktĂ«sinĂ« e identifikimit pasiv tĂ« njĂ« instance specifike tĂ« shfletuesit, nĂ« kombinim me tregues tĂ« tjerĂ« tĂ«rthorĂ«, siç janĂ« ndarja e ekranit, karakteristikat e WebGL, listat e skedarĂ«ve dhe shenjave tĂ« instaluara. Implementimi i propozuar kontrollon instalimin e mĂ« shumĂ« se 1000 pajisjeve. PĂ«r tĂ« verifikuar sistemin tuaj, Ă«shtĂ« ofruar njĂ« demonstrim online.
Identifikimi i pajisjeve bëhet përmes analizës së burimeve të ofruara nga pajisjet, të disponueshme për kërkesa të jashtme. Në përgjithësi, pajisjet përfshijnë skedarë të ndryshëm shoqërues, siç janë imazhet, të cilat përcaktohen në manifestin e pajisjes me pronën web_accessible_resources. Në versionin e parë të manifestit, qasja në burime nuk ishte e kufizuar dhe çdo faqe mund të ngarkonte burimet e ofruara. Në versionin e dytë të manifestit, qasja në burime të tillë ishte lejuar si parazgjedhje vetëm për vetë pajisjen. Në versionin e tretë të manifestit u ofrua mundësia për të përcaktuar se cilat burime mund të dorëzoheshin për cilat pajisje, të domaineve dhe faqeve.
Faqet web mund tĂ« kĂ«rkojnĂ« burimet e ofruara nĂ« pajisje pĂ«rmes metodĂ«s fetch (pĂ«r shembull "fetch('chrome-extension://okbâŠ.nd5/test.png')"), dhe kthimi i vlerĂ«s "false" zakonisht tregon se pajisja nuk Ă«shtĂ« instaluar. PĂ«r tĂ« bllokuar identifikimin e pajisjes pĂ«rmes pranisĂ« sĂ« burimeve, disa pajisje gjenerojnĂ« njĂ« token verifikimi, i nevojshĂ«m pĂ«r qasje nĂ« burim. Thirrja e fetch pa treguar token gjithmonĂ« pĂ«rfundon nĂ« dĂ«shtim.
Siç ka rezultuar, mbrojtja e qasjes në burimet e pajisjeve mund të kalojë duke vlerësuar kohën e ekzekutimit të operacionit. Megjithëse fetch gjatë kërkesës pa token, gjithmonë kthen një gabim, koha e ekzekutimit të operacionit me dhe pa pajisjen ndryshon - nëse pajisja është e pranishme, kërkesa do të kërkojë më shumë kohë sesa nëse pajisja nuk është instaluar. Duke vlerësuar kohën e reagimit, mund të përcaktohet mjaft saktësisht prania e pajisjes.
Disa shtesa që nuk përfshijnë burime të jashtme mund të identifikohen përmes pronave shtesë. Për shembull, shtesa MetaMask mund të identifikohet përmes vlerës së pronës window.ethereum (nëse shtesa nuk është instaluar, «typeof window.ethereum» do të kthejë vlerën «undefined»).
Burimi: opennet.ru
