Maitiro matsva ekushandisa Specter kusasimba muChrome

Boka revatsvagiri kubva kumayunivhesiti eAmerica, Australia neIsrael vakakurudzira nzira itsva yekurwisa chiteshi kushandisa kusazvibata kweSpecter-class mumabrowser zvichienderana neinjini yeChromium. Kurwiswa, codenamed Spook.js, inokubvumira kuti upfuure nzira yekuzviparadzanisa nesaiti nekumhanyisa JavaScript kodhi uye kuverenga zviri mukati mekero yese nzvimbo yezvino maitiro, i.e. kuwana data kubva pamapeji anomhanya mune mamwe ma tabo, asi akagadziriswa nenzira imwecheteyo.

Sezvo Chrome ichimhanyisa masaiti akasiyana maitiro akasiyana, kugona kuita kurwiswa kunoshanda kunogumira kumasevhisi anobvumira vashandisi vakasiyana kugamuchira mapeji avo. Iyo nzira inobvumira, kubva pane peji iyo anorwisa ane mukana wekumisikidza yake JavaScript kodhi, kuona kuvepo kwemamwe mapeji akavhurwa nemushandisi kubva kune imwechete saiti uye kubvisa ruzivo rwakavanzika kubva kwavari, semuenzaniso, zvitupa kana ruzivo rwebhangi runotsiviwa. nehurongwa hwekuzadza otomatiki minda mumawebhu mafomu. Sechiratidziro, inoratidzwa kuti iwe unogona sei kurwisa bhurogi remumwe munhu paTumblr sevhisi kana muridzi wayo akavhura bhurogi revanorwisa rinoitirwa pane imwechete sevhisi mune imwe tebhu.

Imwe sarudzo yekushandisa nzira ndeyekurwiswa kwebrowser-add-ons, iyo inobvumira, paunenge uchiisa yekuwedzera-inodzorwa neanorwisa, kubvisa data kubva kune mamwe ma-add-ons. Semuenzaniso, isu tinoratidza sei nekuisa yakashata yekuwedzera iwe unogona kuburitsa ruzivo rwakavanzika kubva kuLastPass password maneja.

Vatsvagiri vakaburitsa prototype yekushandiswa kunoshanda muChrome 89 pane masisitimu ane CPUIntel i7-6700K uye i7-7600U. Pakugadzira iyo yekushandisa, prototypes yeJavaScript kodhi yakamboburitswa neGoogle yakashandiswa kuita Specter-kirasi kurwisa. Zvinocherechedzwa kuti vatsvakurudzi vakakwanisa kugadzirira kushandiswa kwekushanda kune masisitimu akavakirwa paIntel neApple M1 processors, izvo zvinoita kuti zvikwanise kuronga kuverenga kwekurangarira nekumhanya kwe500 bytes pasekondi uye iko kurongeka kwe96%. Zvinofungidzirwa kuti nzira yacho inoshandawo kune AMD processors, asi zvakange zvisingagoneke kugadzirira zvizere zvinoshanda.

Kurwiswa uku kunoshanda kune chero mabhurawuza anoenderana neChromium injini, kusanganisira Google Chrome, Microsoft Edge uye Brave. Vatsvakurudzi vanotendawo kuti nzira yacho inogona kugadziriswa kushanda neFirefox, asi sezvo injini yeFirefox yakasiyana zvikuru neChrome, basa rekugadzira kushandiswa kwakadaro rinosara kune ramangwana.

Kuti udzivirire kubva kubhurawuza-kwakavakirwa kurwiswa kwakabatana nekufungidzira kuurayiwa kwemirairo, Chrome inoshandisa kero nzvimbo segmentation - sandbox isolation inobvumira JavaScript kuti ishande chete ne 32-bit anonongedzera uye inogovera ndangariro yevanobata mu disjoint 4GB mirwi. Kupa mukana kune iyo yese process kero nzvimbo uye nekunzvenga iyo 32-bit muganho, vaongorori vakashandisa nzira inonzi Type Confusion, iyo inomanikidza injini yeJavaScript kugadzirisa chinhu nemhando isiriyo, izvo zvinoita kuti zvikwanise kuumba 64-bit. pointer yakavakirwa pamusanganiswa weaviri 32-bit values.

Izvo zvakakosha zvekurwiswa ndezvekuti kana uchigadzira chinhu chakashata chakagadzirwa muinjini yeJavaScript, mamiriro anogadzirwa anotungamira kune yekufungidzira kuurayiwa kwemirairo inowana iyo array. Chinhu chinosarudzwa nenzira iyo minda inorwiswa-inodzorwa inoiswa munzvimbo iyo iyo 64-bit pointer inoshandiswa. Sezvo rudzi rwechinhu chakashata chisingaenderane nemhando yehurongwa huri kugadziriswa, pasi pemamiriro akajairwa zviito zvakadaro zvinovharirwa muChrome nemuchina wekubvisa kodhi inoshandiswa kuwana arrays. Kuti ugadzirise dambudziko iri, iyo kodhi yeType Confusion kurwisa inoiswa mune inomisikidzwa "kana" block, iyo isingashandiswe pasi pezvakajairwa mamiriro, asi inoitwa mukufungidzira modhi, kana processor ichifanotaura zvisizvo kuwedzera bazi.

Nekuda kweizvozvo, processor inofungidzira inowana iyo yakagadzirwa 64-bit pointer uye inodzosera kumashure nyika mushure mekuona yakundikana kufanotaura, asi maronda ekuuraya anoramba ari muakagovaniswa cache uye anogona kudzoserwa uchishandisa nzira-channel cache yekuona nzira dzinoongorora shanduko mu. nguva yekuwana kune cached uye isina kuvharwa data . Kuti uongorore zviri mukati me cache mumamiriro ekusakwana kukwana kweiyo timer inowanikwa muJavaScript, nzira inotsanangurwa neGoogle inoshandiswa, iyo inonyengedza Tree-PLRU cache eviction strategy inoshandiswa muma processors uye inobvumira, nekuwedzera nhamba yezvikamu, kuwedzera zvakanyanya mutsauko munguva kana kukosha kuripo uye kusipo mune cache.

Source: opennet.ru

Voeg