Mozilla Π·Π°ΠΏΠΎΡ‡Π²Π° внСдряванС Π½Π° тСхнология Π·Π° изолация Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ RLBox

Π˜Π·ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΎΡ‚ УнивСрситСта Π‘Ρ‚Π΅Π½Ρ„ΠΎΡ€Π΄, ΠšΠ°Π»ΠΈΡ„ΠΎΡ€Π½ΠΈΠΉΡΠΊΠΈΡ унивСрситСт Π² Π‘Π°Π½ Π”ΠΈΠ΅Π³ΠΎ ΠΈ ВСксаския унивСрситСт Π² ΠžΡΡ‚ΠΈΠ½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΡ…Π° инструмСнти RLBox, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ слой изолация Π·Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° уязвимости Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. RLBox Π΅ насочСн към Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° със сигурността Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ сС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Π½ΠΎ уязвимоститС Π² ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€Π°Ρ‚ основния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Компания Mozilla ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° RLBox Π² Linux вСрсии Π½Π° Firefox 74 ΠΈ macOS вСрсии Π½Π° Firefox 75 Π·Π° изолация Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Graphite, отговаряща Π·Π° визуализацията Π½Π° ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²Π΅. ΠŸΡ€ΠΈ Ρ‚ΠΎΠ²Π° RLBox Π½Π΅ Π΅ спСцифичСн Π·Π° Firefox ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° изолация Π½Π° всякакви Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ RLBox сС разпространява ΠΏΠΎΠ΄ лицСнзия MIT. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° RLBox ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ Linux ΠΈ macOS, Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° Windows сС ΠΎΡ‡Π°ΠΊΠ²Π° ΠΏΠΎ-късно.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° RLBox сС ΡΡŠΡΡ‚ΠΎΠΈ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° C/C++ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π² нискоуровнСвСн ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄ WebAssembly, ΠΊΠΎΠΉΡ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° сС оформя Π² ΠΌΠΎΠ΄ΡƒΠ»Π° Π½Π° WebAssembly, Ρ‡ΠΈΠΈΡ‚ΠΎ ΠΏΡ€Π°Π²Π° са Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ СдинствСно Π·Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄ΡƒΠ» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡ‚Π²ΠΎΡ€ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ² сокСт ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»). ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° C/C++ ΠΊΠΎΠ΄ Π² WebAssembly сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° wasi-sdk.

Π—Π° нСпосрСдствСно изпълнСниС WebAssembly ΠΌΠΎΠ΄ΡƒΠ»ΡŠΡ‚ сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π° Π² машинСн ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Lucet ΠΈ сС изпълнява Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ «нанопроцСс», ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ ΠΎΡ‚ останалата ΠΏΠ°ΠΌΠ΅Ρ‚ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Lucet Π΅ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΡΡŠΡ‰ΠΈΡ ΠΊΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎ JIT двигатСля Cranelift, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Firefox Π·Π° изпълнСниС Π½Π° WebAssembly.

Π‘ΡŠΠ±Ρ€Π°Π½ΠΈΡΡ‚ ΠΌΠΎΠ΄ΡƒΠ» Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° област Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ няма Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ останалото адрСсно пространство. Π’ случай Π½Π° Сксплоатация Π½Π° уязвимост Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, атакуващият Ρ‰Π΅ бъдС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΈ няма Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅ към областитС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° основния процСс ΠΈΠ»ΠΈ Π΄Π° ΠΏΡ€Π΅Π΄Π°Π΄Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° извън ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π°Ρ‚Π° срСда.

Mozilla Π·Π°ΠΏΠΎΡ‡Π²Π° внСдряванС Π½Π° тСхнология Π·Π° изолация Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ RLBox

Π—Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π΅ осигурСн високопрофилСн API, ΠΊΠΎΠΉΡ‚ΠΎ позволява ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° изолация. WebAssembly ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ изискват Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ рСсурси ΠΈ взаимодСйствиСто с тях Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ ΠΎΡ‚ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ Π½Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄, Π° Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈΠ΄Π²Π°Ρ‚ СдинствСно ΠΎΡ‚ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° взаимодСйствиС с ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π°Ρ‚Π° срСда). Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΎΡ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°
прослойка invoke_sandbox_function().

ΠžΡ‚ своя страна, Π°ΠΊΠΎ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° трябва Π΄Π° сС ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚ външни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Ρ‡Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄Π° register_callback (ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ RLBox прСдоставя Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°). Π—Π° осигуряванС Π½Π° бСзопасна Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° (memory safety) изолацията Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π° ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС осигури ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π²Ρ€ΡŠΡ‰Π°Ρ‰ΠΈΡ‚Π΅ сС ΠΏΠΎΡ‚ΠΎΡ†ΠΈ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ.

Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π°Ρ‚Π° срСда стойности сС опрСдСлят ΠΊΠ°Ρ‚ΠΎ Π½Π΅Π΄ΠΎΠ²Π΅Ρ€Ρ‡ΠΈΠ²ΠΈ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Ρ‚ сС Ρ‡Ρ€Π΅Π· tainted-ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ Π·Π° «очистка» изискват вСрификация ΠΈ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.
Π‘Π΅Π· очистка, ΠΎΠΏΠΈΡ‚ΡŠΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° tainted-Π΄Π°Π½Π½ΠΈ Π² контСкст, изискващ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ (ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ), Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° компилация. ΠœΠ°Π»ΠΊΠΈΡ‚Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅, Π²ΡŠΡ€Π½Π°Ρ‚ΠΈΡ‚Π΅ стойности ΠΈ структуритС сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° процСса ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π°Ρ‚Π° срСда. Π—Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° сС выдСля Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π°Ρ‚Π° срСда, Π° Π½Π° основния процСс сС Π²Ρ€ΡŠΡ‰Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π» Β«sandbox-referenceΒ».

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster