Ka whakaatu a Google i te whakaraeraetanga o te Specter ma te whakamahi JavaScript i roto i te tirotiro

Kua whakaputahia e Google etahi tauira whakaraerae e whakaatu ana i te kaha ki te whakamahi i nga whakaraeraetanga o te karaehe Specter i te wa e mahia ana te waehere JavaScript i roto i te kaitirotiro, ma te takahi i nga tikanga whakamarumaru kua taapirihia i mua. Ka taea te whakamahi i nga mahi ki te uru ki te mahara o tetahi tukanga e tukatuka ana i nga ihirangi tukutuku i te ripa o naianei. Hei whakamatautau i te mahi o te mahi, i whakarewahia te pae leaky.page, a ko te waehere e whakaatu ana i te arorau o te mahi i tukuna ki GitHub.

Kua hoahoatia te tauira tauira ki te whakaeke i nga punaha me nga punaha Intel Core i7-6500U i roto i te taiao Linux me Chrome 88. Me whakarereke ki te whakamahi i te painga ki etahi atu taiao. Ko te tikanga o te whakangao kaore i te motuhake ki nga kaitoro Intel - i muri i te urutaunga e tika ana, i whakapumautia te mahi i runga i nga punaha me nga PTM mai i etahi atu kaihanga, tae atu ki te Apple M1 i runga i te hoahoanga ARM. Whai muri i nga whakarereketanga iti, ka mahi ano te mahi i runga i etahi atu punaha whakahaere me etahi atu tirotiro i runga i te miihini Chromium.

I roto i te taiao e pa ana ki te Chrome 88 me nga tukatuka Intel Skylake, i tukuna nga raraunga mai i te tukanga e whakahaere ana mo te tukatuka ihirangi tukutuku i roto i te ripa Chrome o naianei (te mahi tuku), i te tere o te 1 kilobyte ia rua. I tua atu, i whakawhanakehia etahi tauira tauira, hei tauira, he mahi e taea ai, i te utu o te whakaheke i te pumau, ki te whakapiki ake i te reiti turuturu ki te 8kB/s ina whakamahi ana i te mahi.now() matawā me te tika o te 5 microseconds (0.005 milliseconds) . I whakaritea ano he momo rereke, e mahi ana me te tika o te taima o te kotahi manomano hēkona, ka taea te whakamahi ki te whakarite urunga ki te mahara o tetahi atu tukanga i te tere o te 60 paita ia hekona.

E toru nga wahanga o te waehere demo whakaputa. Ko te waahanga tuatahi he whakarite i te taima ki te whakatau tata i te wa mahi o nga mahi e hiahiatia ana hei whakaora i nga raraunga i mahue i roto i te keteroki pūtukatuka hei hua o te whakatinanatanga o nga tohutohu PTM. Ko te waahanga tuarua ka whakatau i te whakatakotoranga mahara i whakamahia i te wa e tohatoha ana i te raupapa JavaScript.

Ko te tuatoru o nga waahanga e whakamahi tika ana i te whakaraeraetanga o te Specter ki te whakatau i nga ihirangi o te maharatanga o te mahi o naianei na te hanga tikanga mo te mahi whakapae o etahi mahi, ko te hua ka peia e te kaitukatuka i muri i te whakatau i tetahi matapae kaore i angitu, engari ko te mahi. ka waiho nga tohu ki roto i te keteroki whanui ka taea te whakahoki mai ma te whakamahi i nga tikanga mo te whakatau i nga ihirangi o te keteroki e nga hongere tuatoru e tātari ana i nga huringa o te wa uru ki nga raraunga keteroki me te kore-keteroki.

Ka whakakorehia e te tikanga whakangao i nga taima tino tika e waatea ana ma te performance.now() API, me te kore tautoko mo te momo SharedArrayBuffer, e taea ai te hanga huranga i roto i te mahara tiritahi. Kei roto i te mahi ko te taputapu Specter, e whai ana i te whakatinanatanga o nga waehere whakapae, me te kaitirotiro riihanga taha-taha, e whakatau ana i nga raraunga i riro mai i te wa o te mahi whakapae i uru ki roto i te keteroki.

Ka whakatinanahia te taputapu ma te whakamahi i te raupapa JavaScript, i reira ka ngana ki te uru atu ki tetahi waahi kei waho o nga rohe o te papaa, e pa ana ki te ahua o te paraka matapae peka na te nui o te paatete i tapirihia e te kaitoi (te tukatuka, e titiro whakamua ana. , ka mahia te urunga, engari ka huri whakamuri i te kawanatanga i muri i te haki). Hei tātari i nga ihirangi o te keteroki i raro i nga ahuatanga o te kore e tika ana i te taima, ka whakaarohia he tikanga e whakapohehe ana i te rautaki pananga keteroki Tree-PLRU e whakamahia ana i roto i nga kai-tukatuka me te tuku, ma te whakanui ake i te maha o nga huringa, ki te tino whakanui ake i te rereketanga o te waa ka hoki mai a uara mai i te keteroki me te karekau he uara i te keteroki.

E tohuhia ana i whakaputahia e Google he tauira tauira hei whakaatu i te tino o nga whakaeke ma te whakamahi i nga whakaraeraetanga o te akomanga Specter me te akiaki i nga kaiwhakawhanake paetukutuku ki te whakamahi i nga tikanga hei whakaiti i nga tupono mai i aua whakaeke. I te wa ano, e whakapono ana a Google kaore he whakarereketanga nui o te tauira e whakaarohia ana, kaore e taea te hanga i nga mahi o te ao kua rite noa mo te whakaaturanga, engari mo te whakamahi whanui.

Hei whakaiti i te tupono, ka akiakihia nga rangatira o te waahi ki te whakamahi i te Kaupapa Whakatuwhera Whakawhiti Taketake (COOP), Kaupapa Whakapiri Whakawhiti (COEP), Kaupapa Kaupapa Rauemi Whakawhiti (CORP), Tikina Tono Metadata, X-Frame-Options, X -Ihirangi-Momo-Kwhiringa me nga Pihikete SameSite. Ko enei tikanga kaore i te tiaki tika mai i nga whakaeke, engari ka taea te wehe i nga raraunga o te waahi mai i te rerenga ki roto i nga tukanga e taea ai te whakauru i te waehere JavaScript a te kaitukino (ka puta te riihanga mai i te maharatanga o te tukanga o naianei, i tua atu i te waehere a te kaitukino, raraunga. mai i tetahi atu pae i whakatuwheratia i taua ripa ano). Ko te whakaaro nui ko te wehe i roto i nga tikanga rereke te whakatinanatanga o te waehere pae mai i te waehere tuatoru i whiwhi mai i nga puna kore pono, hei tauira, i whakauruhia ma te iframe.



Source: opennet.ru

Tāpiri i te kōrero