Ir publicēts rīkkopa pārlūkā Chrome instalēto papildinājumu noteikšanai

Ir publicēts rīku komplekts, kas ievieš metodi pārlūkā Chrome instalēto papildinājumu noteikšanai. Iegūto pievienojumprogrammu sarakstu var izmantot, lai palielinātu konkrēta pārlūkprogrammas gadījuma pasīvās identifikācijas precizitāti kombinācijā ar citiem netiešiem indikatoriem, piemēram, ekrāna izšķirtspēju, WebGL līdzekļiem, instalēto spraudņu un fontu sarakstiem. Ierosinātā ieviešana pārbauda vairāk nekā 1000 papildinājumu instalēšanu. Lai pārbaudītu jūsu sistēmu, tiek piedāvāta tiešsaistes demonstrācija.

Papildinājumu definīcija tiek veikta, analizējot papildinājumu nodrošinātos resursus, kas ir pieejami ārējiem pieprasījumiem. Parasti pievienojumprogrammas ietver dažādus pievienotos failus, piemēram, attēlus, kurus pievienojumprogrammas manifestā definē rekvizīts web_accessible_resources. Pirmajā Chrome manifesta versijā piekļuve resursiem nebija ierobežota, un jebkura vietne varēja lejupielādēt sniegtos resursus. Otrajā manifesta versijā piekļuve šādiem resursiem pēc noklusējuma bija atļauta tikai pašam papildinājumam. Trešajā manifesta versijā varēja noteikt, kuri resursi var tikt piešķirti kādiem papildinājumiem, domēniem un lapām.

Tīmekļa lapas var pieprasīt paplašinājuma nodrošinātos resursus, izmantojot fetch metodi (piemēram, "fetch('chrome-extension://okb....nd5/test.png')"), kas parasti norāda uz "false". ka papildinājums nav instalēts. Lai bloķētu papildinājumu, lai tas nenoteiktu resursa klātbūtni, daži papildinājumi ģenerē verifikācijas pilnvaru, kas nepieciešama, lai piekļūtu resursam. Izsaukšana ar ienesi, nenorādot marķieri, vienmēr neizdodas.

Kā izrādās, piekļuves aizsardzību papildinājumu resursiem var apiet, novērtējot operācijas izpildes laiku. Neskatoties uz to, ka atnese vienmēr atgriež kļūdu, pieprasot bez pilnvaras, operācijas izpildes laiks ar un bez pievienojumprogrammas ir atšķirīgs - ja papildinājums ir pieejams, pieprasījums prasīs ilgāku laiku nekā tad, ja pievienojumprogramma nav instalēts. Novērtējot reakcijas laiku, jūs varat diezgan precīzi noteikt piedevas klātbūtni.

Dažus papildinājumus, kas neietver ārēji pieejamus resursus, var identificēt pēc papildu rekvizītiem. Piemēram, MetaMask pievienojumprogrammu var definēt, novērtējot rekvizīta window.ethereum definīciju (ja papildinājums nav iestatīts, "typeof window.ethereum" atgriezīs vērtību "undefined").

Avots: opennet.ru

Pievieno komentāru