Chrome'до орнотулган кошумчаларды аныктоочу куралдар топтому жарыяланды

Chrome браузеринде орнотулган кошумчаларды аныктоо ыкмасын ишке ашырган инструменттер жыйнагы жарыяланды. Натыйжадагы кошумчалардын тизмеси экрандын чечилиши, WebGL функциялары, орнотулган плагиндердин жана шрифттердин тизмеси сыяктуу башка кыйыр индикаторлор менен бирге конкреттүү браузердин инстанциясынын пассивдүү идентификациясынын тактыгын жогорулатуу үчүн колдонулушу мүмкүн. Сунушталган ишке ашыруу 1000ден ашык кошумчаларды орнотууну текшерет. Сиздин системаңызды текшерүү үчүн онлайн демонстрация сунушталат.

Кошумчаларды аныктоо тышкы суроо-талаптар үчүн жеткиликтүү кошумчалар тарабынан берилген ресурстарды талдоо аркылуу жүргүзүлөт. Адатта, кошумчалар web_accessible_resources касиети менен кошумча манифестте аныкталган сүрөттөр сыяктуу ар кандай коштомо файлдарды камтыйт. Chrome манифестинин биринчи версиясында ресурстарга кирүү чектелген эмес жана каалаган сайт берилген ресурстарды жүктөй алган. Манифесттин экинчи версиясында демейки боюнча мындай ресурстарга кирүү кошумчанын өзүнө гана уруксат берилген. Манифесттин үчүнчү версиясында кайсы ресурстарды кайсы кошумчаларга, домендерге жана барактарга берүүгө болорун аныктоого мүмкүн болду.

Веб баракчалар алып келүү ыкмасын колдонуу менен кеңейтүү тарабынан берилген ресурстарды сурай алат (мисалы, "fetch('chrome-extension://okb....nd5/test.png')"), бул "false" кайтарып берүү адатта көрсөтөт кошумча орнотулган эмес. Кошумчага ресурстун бар экенин аныктоого бөгөт коюу үчүн, кээ бир кошумчалар ресурска кирүү үчүн талап кылынган текшерүү белгисин жаратат. Токенди көрсөтпөстөн алып чалуу дайыма ишке ашпай калат.

Көрүнүп тургандай, кошумча ресурстарга кирүү мүмкүнчүлүгүн коргоону операциянын аткарылуу убактысын эсептөө менен айланып өтүүгө болот. Токенсиз сураганда fetch дайыма катаны кайтарып турганына карабастан, кошумча менен жана кошумчасыз операциянын аткарылуу убактысы ар башка - эгерде кошумча бар болсо, өтүнмө кошумчага караганда көбүрөөк убакыт талап кылынат. орнотулган эмес. Реакция убактысын баалоо менен, сиз кошумчанын бар экендигин так аныктай аласыз.

Тышкы жеткиликтүү ресурстарды камтыбаган кээ бир кошумчаларды кошумча касиеттери менен аныктоого болот. Мисалы, MetaMask кошумчасын window.ethereum касиетинин аныктамасын баалоо менен аныктоого болот (эгерде кошумча орнотулбаса, "typeof window.ethereum" "аныкталбаган" маанисин кайтарат).

Source: opennet.ru

Комментарий кошуу