Mozilla e Qala ho Kenngwa Tshebetsong ya RLBox Library Isolation Technology

Bafuputsi ba tsoang Univesithing ea Stanford, Univesithi ea California e San Diego le Univesithi ea Texas e Austin ntlafala lisebelisoa RLBox, e ka sebelisoang e le karolo e eketsehileng ea ho itšehla thajana ho thibela bofokoli lilaebraring tsa ts'ebetso. RLBox e ikemiselitse ho rarolla bothata ba ts'ireletso ea lilaeborari tse sa tšepahaleng tsa mokha oa boraro tse seng tlas'a taolo ea bahlahisi, empa bao bofokoli ba bona bo ka senyang morero oa mantlha.

Khampani ea Mozilla merero sebelisa RLBox ho Linux e hahiloeng ka Firefox 74 le MacOS e hahiloeng ka Firefox 75 ho arola ts'ebetso ea laeborari. Graphite, e ikarabellang bakeng sa ho fana ka litlhaku. Leha ho le joalo, RLBox ha e tobane le Firefox 'me e ka sebelisoa ho arola lilaebrari leha e le life mererong e ikemetseng. Lintlafatso RLBox ho jaleha tlas'a laesense ea MIT. RLBox hajoale e ts'ehetsa li-platform tsa Linux le macOS, ka tšehetso ea Windows e lebelletsoeng hamorao.

Mokhoa Mosebetsi oa RLBox o theohela ho bokelleng khoutu ea C/C++ ea laeborari e ka thoko ho khoutu ea boemo bo tlase ea WebAssembly, eo ka nako eo e entsoeng e le mojule oa WebAssembly, eo tumello ea eona e behiloeng mabapi le mojule ona feela (mohlala, laeborari. bakeng sa likhoele tsa ho sebetsa li ke ke tsa khona ho bula sokete ea marang-rang kapa faele) . Ho fetolela khoutu ea C/C++ ho WebAssembly ho etsoa ho sebelisoa wasi-sdk.

Bakeng sa ts'ebetso e tobileng, mojule oa WebAssembly o hlophisitsoe ka khoutu ea mochini o sebelisa motlatsi Lucet 'me e sebetsa ka "nanoprocess" e arohaneng le mohopolo o mong oa ts'ebeliso. Moqapi oa Lucet o ipapisitse le khoutu e ts'oanang le enjene ea JIT phahamisoa ka crane, e sebelisitsoeng ho Firefox ho etsa WebAssembly.

Mojule o kopaneng o sebetsa sebakeng se arohaneng sa memori mme ha o na phihlello ea sebaka se seng sa aterese. Haeba bofokoli bo ka har'a laebrari bo sebelisoa hampe, mohlaseli o tla fokotsoa mme a ke ke a khona ho fihlella libaka tsa mohopolo oa ts'ebetso e kholo kapa taolo ea phetisetso kantle ho tikoloho e ka thoko.

Mozilla e Qala ho Kenngwa Tshebetsong ya RLBox Library Isolation Technology

Lintlha tsa boemo bo holimo li fanoe bakeng sa bahlahisi API, e u lumellang ho letsetsa mesebetsi ea laebrari ka mokhoa oa ho itšehla thajana. Basebelisi ba WebAssembly ba hloka hoo e ka bang ha ho na lisebelisoa tse eketsehileng mme ho sebelisana le bona ha ho lieha ho feta ho bitsa mesebetsi e tloaelehileng (mesebetsi ea laebrari e etsoa ka mokhoa oa khoutu ea tlhaho, 'me litšenyehelo tse holimo li hlaha feela ha ho kopitsa le ho hlahloba lintlha nakong ea ho sebelisana le tikoloho e ka thōko). Mesebetsi e ka thoko ea laebrari e ke ke ea bitsoa ka kotloloho mme e tlameha ho fihlelleha ka ho sebelisoa
layer invoke_sandbox_function().

Ka lehlakoreng le leng, haeba ho hlokahala ho letsetsa lits'ebetso tsa kantle ho laeborari, lits'ebetso tsena li tlameha ho hlalosoa ka ho hlaka ho sebelisa mokhoa oa register_callback (ka ho sa feleng, RLBox e fana ka phihlello ea mesebetsi. laeborari e tloaelehileng). Ho netefatsa polokeho ea memori, ho itšehla thajana ha khoutu ha hoa lekana mme ho hloka hape ho hlahloba melapo ea data e khutlisitsoeng.

Litekanyetso tse hlahisoang sebakeng se ka thoko li tšoauoa e le tse sa tšepahaleng le tse nang le tšebeliso e fokolang matšoao a silafetseng 'me bakeng sa "ho hloekisa" ba hloka netefatso le ho kopitsa memoring ya tshebediso.
Ntle le ho hloekisa, ho leka ho sebelisa lintlha tse silafetseng maemong a hlokang data e tloaelehileng (le ka tsela e fapaneng) ho fella ka liphoso tse hlahisoang ka nako ea ho bokella. Likhang tse nyane tsa ts'ebetso, litekanyetso tsa ho khutla, le meaho li fetisoa ka ho kopitsa lipakeng tsa memori ea ts'ebetso le memori ea sandbox. Bakeng sa lisebelisoa tse kholo tsa data, memori e abeloa sebakeng se ka thoko 'me pointer e tobileng ea sandbox-reference e khutlisetsoa ts'ebetsong ea mantlha.

Source: opennet.ru

Eketsa ka tlhaloso