Mozilla เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ” RLBox Library Isolation Technology

เบ™เบฑเบเบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเบˆเบฒเบเบกเบฐเบซเบฒเบงเบดเบ—เบฐเบเบฒเป„เบฅ Stanford, เบกเบฐเบซเบฒเบงเบดเบ—เบฐเบเบฒเป„เบฅเบ„เบฒเบฅเบดเบŸเปเป€เบ™เบเบ—เบตเปˆ San Diego เปเบฅเบฐเบกเบฐเบซเบฒเบงเบดเบ—เบฐเบเบฒเป„เบฅ Texas เบขเบนเปˆ Austin เบžเบฑเบ”เบ—เบฐเบ™เบฒ เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบท RLBox, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบŠเบฑเป‰เบ™เปเบเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป€เบžเบทเปˆเบญเบชเบฐเบเบฑเบ”เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบŸเบฑเบ‡เบŠเบฑเบ™. RLBox เปเบกเปˆเบ™เปเบ™เปƒเบชเปˆเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเบ—เบตเปˆเบšเปเปˆเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ—เบตเปˆเบšเปเปˆเบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ‚เบญเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เปเบ•เปˆเบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญเบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ™เบตเบ›เบฐเบ™เบญเบกเป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเป‰เบ™เบ•เป.

เบšเปเบฅเบดเบชเบฑเบ” Mozilla เปเบœเบ™เบเบฒเบ™ เปƒเบŠเป‰ RLBox เปƒเบ™ Linux builds เบ‚เบญเบ‡ Firefox 74 เปเบฅเบฐ macOS builds เบ‚เบญเบ‡ Firefox 75 เป€เบžเบทเปˆเบญเปเบเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”. Graphite, เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, RLBox เบšเปเปˆเปเบกเปˆเบ™เบชเบฐเป€เบžเบฒเบฐเบเบฑเบš Firefox เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเปเบเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปƒเบ”เป†เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ arbitrary. เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ RLBox เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เป€เบŠเบทเป‰เบญ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT. เบ›เบฐเบˆเบธเบšเบฑเบ™ RLBox เบฎเบญเบ‡เบฎเบฑเบš Linux เปเบฅเบฐ macOS platforms, เป‚เบ”เบเบกเบต Windows เบฎเบญเบ‡เบฎเบฑเบšเปƒเบ™เบžเบฒเบเบซเบผเบฑเบ‡.

เบเบปเบ™เป„เบ เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ RLBox เบกเบฒเบˆเบฒเบเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบฅเบฐเบซเบฑเบ” C/C ++ เบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ” WebAssembly เบฅเบฐเบ”เบฑเบšเบ›เบฒเบ™เบเบฒเบ‡เบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒ, เป€เบŠเบดเปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ–เบทเบเบญเบญเบเปเบšเบšเป€เบ›เบฑเบ™เป‚เบกเบ”เบนเบ™ WebAssembly, เบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เบ—เบตเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป‚เบกเบ”เบนเบ™เบ™เบตเป‰เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”. เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบธเบ‡โ€‹เปเบ•เปˆเบ‡โ€‹เบชเบฐโ€‹เบ•โ€‹เบฃเบดเบ‡โ€‹เบˆเบฐโ€‹เบšเปเปˆโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบ›เบตเบ”โ€‹เป€เบ•เบปเป‰เบฒโ€‹เบฎเบฑเบšโ€‹เป€เบ„เบทเบญโ€‹เบ‚เปˆเบฒเบโ€‹เบซเบผเบทโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹)โ€‹. เบเบฒเบ™เปเบ›เบ‡เบฅเบฐเบซเบฑเบ” C/C++ เป€เบ›เบฑเบ™ WebAssembly เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰ wasi-sdk.

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบปเบ‡, เป‚เบกเบ”เบนเบ™ WebAssembly เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเป‚เบ”เบเปƒเบŠเป‰ compiler. Lucet เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™ "nanoprocess" เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเบˆเบฒเบเบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™. เบ•เบปเบงเบฅเบงเบšเบฅเบงเบก Lucet เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบฅเบฐเบซเบฑเบ”เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ JIT เบเบปเบเป€เบ„เบ™, เปƒเบŠเป‰เปƒเบ™ Firefox เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ” WebAssembly.

เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปเบฅเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆ. เบ–เป‰เบฒเบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ–เบทเบเบ‚เบนเบ”เบฎเบตเบ”, เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบˆเบฐเบ–เบทเบเบˆเปเบฒเบเบฑเบ”เปเบฅเบฐเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เบปเป‰เบ™เบ•เปเบซเบผเบทเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป‚เบญเบ™เบเป‰เบฒเบเบขเบนเปˆเบ™เบญเบเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบง.

Mozilla เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ” RLBox Library Isolation Technology

เบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ API, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบง. เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ WebAssembly เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบเบทเบญเบšเบšเปเปˆเบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบฅเบฐเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฑเบšเบžเบงเบเบกเบฑเบ™เบšเปเปˆเบŠเป‰เบฒเบเบงเปˆเบฒเบเบฒเบ™เป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เปเบฒเบกเบฐเบ”เบฒ (เบซเบ™เป‰เบฒเบ—เบตเปˆเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡, เปเบฅเบฐเบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเป€เบเบตเบ™เปเบกเปˆเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เป€เบกเบทเปˆเบญเบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเปเบฅเบฐเบเบงเบ”เบชเบญเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบชเปเบฒเบžเบฑเบ™เบเบฑเบšเบ•เบปเบงเปเบเบ. เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก). เบŸเบฑเบ‡เบŠเบฑเบ™เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบญเบตเป‰เบ™เป‚เบ”เบเบเบปเบ‡ เปเบฅเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเปƒเบŠเป‰
layer invoke_sandbox_function().

เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เบ–เป‰เบฒเบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเบžเบฒเบเบ™เบญเบเบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”, เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ•เป‰เบญเบ‡เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ register_callback (เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, RLBox เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆ. เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™). เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เบšเปเปˆเบžเบฝเบ‡เบžเปเปเบฅเบฐเบเบฑเบ‡เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบ‚เปเป‰เบกเบนเบ™เบเบฑเบšเบ„เบทเบ™เบกเบฒ.

เบ„เบธเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเบ–เบทเบเปเบฒเบเบงเปˆเบฒเบšเปเปˆเปœเป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบท เปเบฅเบฐ เบˆเบณเบเบฑเบ”เบเบฒเบ™เบ™เบณเปƒเบŠเป‰ เบฎเบญเบเป€เบ›เบทเป‰เบญเบ™ เปเบฅเบฐเบชเปเบฒเบฅเบฑเบš "เบ—เปเบฒเบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”" เบžเบงเบเป€เบ‚เบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™ เบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™ เปเบฅเบฐเบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเปƒเบชเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™.
เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบฎเบฑเบ”เบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”, เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบต tainted เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ›เบปเบเบเบฐเบ•เบด (เปเบฅเบฐเปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™) เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เป€เบงเบฅเบฒเบฅเบงเบšเบฅเบงเบก. เบญเบฒเบเบดเบงเป€เบกเบฑเบ™เบŸเบฑเบ‡เบŠเบฑเบ™เบ‚เบฐเปœเบฒเบ”เบ™เป‰เบญเบ, เบ„เปˆเบฒเบชเบปเปˆเบ‡เบ„เบทเบ™, เปเบฅเบฐเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปเบกเปˆเบ™เบœเปˆเบฒเบ™เบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเบฅเบฐเบซเบงเปˆเบฒเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปเบฅเบฐเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ sandbox. เบชเปเบฒเบฅเบฑเบšเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™เบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเปเบฅเบฐเบ•เบปเบงเบŠเบตเป‰เบญเป‰เบฒเบ‡เบญเบตเบ‡ sandbox เป‚เบ”เบเบเบปเบ‡เบ–เบทเบเบชเบปเปˆเบ‡เบเบฑเบšเป„เบ›เบซเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เบปเป‰เบ™เบ•เป.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™