Léirigh Google go ndearnadh leochaileachtaí Specter a shaothrú trí JavaScript a fhorghníomhú sa bhrabhsálaí

D'fhoilsigh Google roinnt fréamhshamhlacha saothraithe a léiríonn an fhéidearthacht leas a bhaint as leochaileachtaí aicme Specter agus cód JavaScript á fhorghníomhú sa bhrabhsálaí, ag seachaint modhanna cosanta a cuireadh leis roimhe seo. Is féidir leas a bhaint as chun rochtain a fháil ar chuimhne an phróisis phróiseála inneachair ghréasáin sa chluaisín reatha. Chun oibriú an shaothrú a thástáil, seoladh an láithreán gréasáin leaky.page, agus cuireadh an cód a chuireann síos ar loighic na hoibre ar GitHub.

Tá an fhréamhshamhail atá beartaithe deartha chun córais a ionsaí le próiseálaithe Intel Core i7-6500U i dtimpeallacht le Linux agus Chrome 88. Chun leas a bhaint as timpeallachtaí eile, tá gá le modhnuithe. Níl an modh saothraithe sainiúil do phróiseálaithe Intel - tar éis oiriúnú cuí, deimhníodh go n-oibreodh an saothrú ar chórais le CPUanna ó mhonaróirí eile, lena n-áirítear an Apple M1 bunaithe ar ailtireacht ARM. Tar éis mionchoigeartuithe, tá an saothrú inoibrithe freisin i gcórais oibriúcháin eile agus i mbrabhsálaithe eile atá bunaithe ar an inneall Cróimiam.

I dtimpeallacht atá bunaithe ar phróiseálaithe caighdeánacha Chrome 88 agus Intel Skylake, bhíothas in ann sonraí a sceitheadh ​​ón bpróiseas atá freagrach as ábhar gréasáin a phróiseáil sa chluaisín Chrome reatha (próiseas rindreála) ag luas 1 cilibheart in aghaidh an tsoicind. Ina theannta sin, forbraíodh fréamhshamhlacha malartacha, mar shampla, leas a ligeann, ar chostas cobhsaíochta a laghdú, an ráta sceite a mhéadú go 8kB/s nuair a bhíonn an t-amadóir performance.now() in úsáid le cruinneas 5 mhicreasoicindí (0.005 milleasoicind ). Ullmhaíodh leagan freisin a d’oibrigh le cruinneas lasc ama milleasoicind amháin, a d’fhéadfaí a úsáid chun rochtain ar chuimhne próisis eile a eagrú ag luas thart ar 60 beart in aghaidh an tsoicind.

Tá trí chuid sa chód taispeána foilsithe. Déanann an chéad chuid an t-amadóir a chalabrú chun am cur i gcrích na n-oibríochtaí a theastaíonn chun na sonraí atá fágtha i dtaisce an phróiseálaí a athbhunú mar thoradh ar fhorghníomhú amhantrach na dtreoracha LAP. Cinneann an dara cuid an leagan amach cuimhne a úsáidtear agus an t-eagar JavaScript á leithdháileadh.

Baineann an tríú cuid leas as leochaileacht Specter go díreach chun ábhar cuimhne an phróisis reatha a chinneadh mar thoradh ar choinníollacha a chruthú chun oibríochtaí áirithe a chur i gcrích go amhantrach, agus cuireann an próiseálaí an toradh ar ceal tar éis tuar nár éirigh leo a chinneadh, ach rianta den taiscfear an forghníomhú sa taisce ginearálta agus is féidir é a athchóiriú trí úsáid a bhaint as modhanna chun inneachar an taisce a chinneadh trí bhealaí tríú páirtí a dhéanann anailís ar athruithe ar am rochtana ar shonraí i dtaisce agus gan taisce.

Leis an teicníc saothraithe atá beartaithe is féidir déanamh gan amadóirí ardchruinneas atá ar fáil tríd an API performance.now(), agus gan tacaíocht don chineál SharedArrayBuffer, a cheadaíonn eagair a chruthú sa chuimhne roinnte. Áirítear leis an leas a bhaint as an ghiuirléid Specter, a chuireann faoi deara forghníomhú amhantrach rialaithe an chóid, agus anailísí sceite taobh-chainéil, a aimsíonn sonraí i dtaisce a fhaightear le linn forghníomhaithe amhantrach.

Cuirtear an ghiuirléid i bhfeidhm ag baint úsáide as eagar JavaScript ina ndéantar iarracht rochtain a fháil ar limistéar lasmuigh de theorainneacha an mhaoláin, rud a chuireann isteach ar staid an bhloic thuartha brainse mar gheall ar sheiceáil méid maoláin a chuir an tiomsaitheoir leis (an próiseálaí, ag breathnú amach romhainn, go ndéanann sé an rochtain amhantrach, ach rollaíonn sé an stát ar ais tar éis seiceáil). Chun anailís a dhéanamh ar ábhar an taisce faoi choinníollacha nach bhfuil dóthain cruinnis ar an lasc ama, tá modh molta a mheabhlóidh an straitéis díshealbhaithe taisce Tree-PLRU a úsáidtear i bpróiseálaithe agus a cheadaíonn, trí líon na dtimthriallta a mhéadú, an difríocht ama a mhéadú go suntasach agus iad ag filleadh. luach ón taisce agus nuair nach bhfuil aon luach sa taisce.

Tugtar faoi deara gur fhoilsigh Google fréamhshamhail den shaothrú chun féidearthacht ionsaithe a thaispeáint ag baint úsáide as leochaileachtaí rang Specter agus chun forbróirí gréasáin a spreagadh chun teicnící a úsáid a íoslaghdaíonn na rioscaí ó ionsaithe den sórt sin. Ag an am céanna, creideann Google, gan athoibriú suntasach a dhéanamh ar an fhréamhshamhail atá beartaithe, go bhfuil sé dodhéanta shaothrú uilíoch a chruthú atá réidh ní hamháin le haghaidh taispeántais, ach freisin le húsáid fhorleathan.

Chun an riosca a laghdú, spreagtar úinéirí láithreáin úsáid a bhaint as na ceannteidil a cuireadh i bhfeidhm le déanaí Beartas Oscailte Tras-Thionscnaimh (COOP), Beartas Leabaithe Tras-Thionscnaimh (COEP), Beartas Acmhainne Tras-Thionscnaimh (CORP), Iarratas Meiteashonraí Fetch, X-Frame- Roghanna, X -Content-Type-Options agus SameSite Cookie. Ní chosnaíonn na meicníochtaí seo go díreach i gcoinne ionsaithe, ach cuireann siad ar do chumas sonraí suímh a leithlisiú ó sceitheadh ​​isteach i bpróisis inar féidir cód JavaScript an ionsaitheora a fhorghníomhú (tarlaíonn an sceitheadh ​​ó chuimhne an phróisis reatha, a, chomh maith le cód an ionsaitheora. , in ann sonraí a phróiseáil freisin ó shuíomh eile a osclaíodh sa chluaisín céanna sin). Is é an príomh-smaoineamh ná forghníomhú an chóid láithreáin a scaradh i bpróisis éagsúla ó chód tríú páirtí a fuarthas ó fhoinsí neamhiontaofa, mar shampla, san áireamh trí iframe.



Foinse: oscailtenet.ru

Add a comment