Cuireann Mozilla tús le Teicneolaíocht Leithlisithe Leabharlainne RLBox a Chur i bhFeidhm

Taighdeoirí ó Ollscoil Stanford, Ollscoil California ag San Diego agus Ollscoil Texas ag Austin forbartha uirlisí Bosca RLB, is féidir a úsáid mar chiseal leithlisithe breise chun leochaileachtaí a bhlocáil i leabharlanna feidhm. Tá RLBox dírithe ar fhadhb slándála leabharlanna tríú páirtí neamhiontaofa a réiteach nach bhfuil faoi smacht na bhforbróirí, ach a bhféadfadh a leochaileachtaí an príomhthionscadal a chomhréiteach.

Cuideachta Mozilla pleananna úsáid RLBox i bhfoirgnimh Linux de Firefox 74 agus tógann macOS de Firefox 75 chun feidhmiú leabharlainne a leithlisiú Graphite, freagrach as clónna rindreála. Mar sin féin, ní bhaineann RLBox go sonrach le Firefox agus is féidir é a úsáid chun aon leabharlanna a leithlisiú i dtionscadail treallach. Forbairtí Bosca RLB scaipeadh faoi ​​cheadúnas MIT. Tacaíonn RLBox le hardáin Linux agus macOS faoi láthair, agus táthar ag súil le tacaíocht Windows níos déanaí.

Meicníocht Tagann obair RLBox síos chun cód C/C++ leabharlann leithlis a thiomsú isteach i gcód idirmheánach WebAssembly ar leibhéal íseal, a dheartar ansin mar mhodúl WebAssembly, a bhfuil a chead socraithe maidir leis an modúl seo amháin (mar shampla, leabharlann le haghaidh próiseála ní bheidh teaghráin in ann soicéad líonra nó comhad a oscailt) . Baintear úsáid as cód C/C++ a thiontú go WebAssembly bhíi-sdk.

Chun é a chur i gcrích go díreach, tiomsaítear modúl WebAssembly isteach i gcód meaisín ag baint úsáide as tiomsaitheoir Lúcás agus ritheann sé i “nanaphróiseas” ar leith atá scoite amach ón gcuid eile de chuimhne an fheidhmchláir. Tá tiomsaitheoir Lucet bunaithe ar an gcód céanna leis an inneall JIT Ardaitheoir crann, a úsáidtear i Firefox chun WebAssembly a rith.

Feidhmíonn an modúl cóimeáilte i limistéar cuimhne ar leith agus níl rochtain aige ar an gcuid eile den spás seoltaí. Má dhéantar leas a bhaint as leochaileacht sa leabharlann, beidh an t-ionsaitheoir teoranta agus ní bheidh sé in ann rochtain a fháil ar réimsí cuimhne an phríomhphróisis nó rialú a aistriú lasmuigh den timpeallacht scoite.

Cuireann Mozilla tús le Teicneolaíocht Leithlisithe Leabharlainne RLBox a Chur i bhFeidhm

Soláthraítear leibhéal ardleibhéil d’fhorbróirí API, a ligeann duit feidhmeanna leabharlainne a ghlaoch i mód leithlis. Níl beagnach aon acmhainní breise ag teastáil ó láimhseálaithe WebAssembly agus ní bhíonn idirghníomhú leo i bhfad níos moille ná gnáthfheidhmeanna a ghlaoch (déantar feidhmeanna na leabharlainne a fhorghníomhú i bhfoirm cód dúchais, agus ní thagann forchostais chun cinn ach amháin nuair a bhíonn sonraí á gcóipeáil agus á seiceáil sa phróiseas idirghníomhaithe leis an duine aonair. timpeallacht). Ní féidir glaoch díreach ar fheidhmeanna leabharlainne leithliseacha agus ní mór rochtain a fháil orthu trí úsáid a bhaint as
ciseal invoke_sandbox_function().

Ina dhiaidh sin, más gá feidhmeanna seachtracha a ghlaoch ón leabharlann, ní mór na feidhmeanna seo a shainiú go sainráite ag baint úsáide as an modh register_callback (de réir réamhshocraithe, soláthraíonn RLBox rochtain ar fheidhmeanna leabharlann caighdeánach). Chun sábháilteacht chuimhne a chinntiú, ní leor leithlisiú forghníomhaithe cód agus ní mór a chinntiú freisin go ndéantar na sruthanna sonraí a sheoltar ar ais a bhailíochtú.

Tá luachanna a ghintear i dtimpeallacht iargúlta marcáilte mar neamhiontaofa agus teoranta á n-úsáid marcanna smálaithe agus le haghaidh “glanadh” a theastaíonn uathu fíorú agus cóipeáil chuig cuimhne feidhmchláir.
Gan glantachán, nuair a dhéantar iarracht sonraí salacha a úsáid i gcomhthéacs a éilíonn sonraí rialta (agus vice versa) cruthaítear earráidí ag am tiomsaithe. Cuirtear argóintí feidhm bheaga, luachanna fillte, agus struchtúir ar aghaidh trí chóipeáil idir cuimhne próisis agus cuimhne bosca gainimh. I gcás tacair sonraí móra, leithdháiltear cuimhne i dtimpeallacht iargúlta agus cuirtear pointeoir tagartha bosca gainimh díreach ar ais chuig an bpríomhphróiseas.

Foinse: oscailtenet.ru

Add a comment