Mozilla pib siv RLBox Library Isolation Technology

Cov kws tshawb fawb los ntawm Stanford University, University of California ntawm San Diego thiab University of Texas ntawm Austin tsim tawm cuab yeej RLBox, uas tuaj yeem siv los ua txheej txheej cais ntxiv los thaiv qhov tsis zoo hauv cov tsev qiv ntawv ua haujlwm. RLBox yog tsom rau kev daws teeb meem kev nyab xeeb ntawm cov tsev qiv ntawv thib peb uas tsis muaj kev ntseeg siab uas tsis nyob hauv kev tswj hwm ntawm cov neeg tsim khoom, tab sis nws qhov tsis zoo tuaj yeem cuam tshuam qhov project tseem ceeb.

Lub tuam txhab Mozilla phiaj xwm siv RLBox hauv Linux tsim ntawm Firefox 74 thiab macOS tsim ntawm Firefox 75 kom cais cov tsev qiv ntawv ua tiav Graphite, lub luag haujlwm rau rendering fonts. Txawm li cas los xij, RLBox tsis yog tshwj xeeb rau Firefox thiab tuaj yeem siv los cais cov tsev qiv ntawv hauv cov haujlwm tsis txaus ntseeg. Kev txhim kho RLBox kis mus nyob rau hauv MIT daim ntawv tso cai. RLBox tam sim no txhawb nqa Linux thiab macOS platforms, nrog Windows txhawb nqa tom qab.

Mechanism RLBox txoj haujlwm los ntawm kev sau cov C / C ++ code ntawm ib lub tsev qiv ntawv cais rau hauv qis-theem nruab nrab WebAssembly code, uas yog tom qab ntawd tsim los ua WebAssembly module, cov kev tso cai uas tau teeb tsa hauv kev sib raug zoo rau qhov module no (piv txwv li, lub tsev qiv ntawv. rau kev ua cov hlua yuav tsis tuaj yeem qhib lub qhov (socket) lossis cov ntaub ntawv). Hloov C / C ++ code rau WebAssembly yog ua tiav siv ua sdk.

Rau kev ua tiav ncaj qha, WebAssembly module tau muab tso ua ke rau hauv tshuab code siv lub compiler Lucet thiab khiav hauv ib qho "nanoprocess" cais los ntawm tus so ntawm daim ntawv thov nco. Lub Lucet compiler yog ua raws li cov cai tib yam li JIT cav crane nqa, siv hauv Firefox los ua WebAssembly.

Lub rooj sib dhos module ua haujlwm nyob rau hauv ib qho chaw nco thiab tsis muaj kev nkag mus rau qhov chaw nyob seem. Yog tias muaj qhov tsis zoo hauv lub tsev qiv ntawv raug siv, tus neeg tawm tsam yuav raug txwv thiab yuav tsis tuaj yeem nkag mus rau qhov chaw nco ntawm cov txheej txheem tseem ceeb lossis hloov kev tswj xyuas sab nraum ib puag ncig.

Mozilla pib siv RLBox Library Isolation Technology

Cov ntaub ntawv qib siab yog muab rau cov neeg tsim khoom API, uas tso cai rau koj hu rau lub tsev qiv ntawv ua haujlwm hauv hom kev cais. WebAssembly handlers yuav luag tsis muaj peev txheej ntxiv thiab kev sib cuam tshuam nrog lawv tsis qeeb dua li hu rau cov haujlwm zoo tib yam (cov haujlwm hauv tsev qiv ntawv tau ua tiav hauv daim ntawv ntawm cov cai hauv ib txwm muaj, thiab cov nqi them nyiaj tsuas yog tshwm sim thaum luam thiab tshuaj xyuas cov ntaub ntawv thaum muaj kev cuam tshuam nrog ib puag ncig sib cais). Lub tsev qiv ntawv cais tsis tuaj yeem hu ncaj qha thiab yuav tsum nkag mus siv
txheej invoke_sandbox_function().

Nyob rau hauv lem, yog hais tias nws yog tsim nyog los hu rau sab nraud functions los ntawm lub tsev qiv ntawv, cov functions yuav tsum tau qhia meej meej siv tus register_callback txoj kev (los ntawm lub neej ntawd, RLBox muab kev nkag tau mus rau functions. txheem tsev qiv ntawv). Txhawm rau kom ntseeg tau tias muaj kev nyab xeeb ntawm lub cim xeeb, kev rho tawm code tsis txaus thiab yuav tsum tau kuaj xyuas cov ntaub ntawv xa rov qab.

Cov txiaj ntsig tsim nyob rau hauv ib puag ncig kev sib cais raug cim tias tsis muaj kev ntseeg siab thiab siv tsawg cov cim tsis meej thiab rau "tu" lawv xav tau pov thawj thiab luam rau daim ntawv thov nco.
Yog tias tsis muaj kev ntxuav, sim siv cov ntaub ntawv tsis huv hauv cov ntsiab lus uas yuav tsum tau muaj cov ntaub ntawv tsis tu ncua (thiab rov ua dua) ua rau muaj qhov yuam kev raug tsim tawm ntawm lub sijhawm sib sau. Cov kev sib cav me me, cov nqi xa rov qab, thiab cov qauv tau dhau los ntawm kev luam tawm ntawm cov txheej txheem nco thiab sandbox nco. Rau cov ntaub ntawv loj, lub cim xeeb tau muab faib rau hauv ib qho chaw nyob ib puag ncig thiab ib qho ncaj qha sandbox-reference pointer raug xa rov qab mus rau cov txheej txheem tseem ceeb.

Tau qhov twg los: opennet.ru

Ntxiv ib saib