ProHoster > Blag > nuacht idirlín > Cuireann Mozilla tús le Teicneolaíocht Leithlisithe Leabharlainne RLBox a Chur i bhFeidhm
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.
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.