អ្នកស្រាវជ្រាវនៃសាកលវិទ្យាល័យស្ទែនហ្វដនេះ សាកលវិទ្យាល័យកាលីហ្វញ៉ា នៅ san diego y la សាកលវិទ្យាល័យ Texas នៅអូស្ទីន ពួកគេបានអភិវឌ្ឍ សំណុំនៃឧបករណ៍ដែលពួកគេបានដាក់ឈ្មោះ «អិលអរប៊ីបូ» ថា អាចត្រូវបានប្រើជាកម្រិតអ៊ីសូឡង់បន្ថែម ដើម្បីទប់ស្កាត់ភាពងាយរងគ្រោះក្នុងបណ្ណាល័យមុខងារ។
RLBox មានគោលបំណងដោះស្រាយបញ្ហាសុវត្ថិភាពបណ្ណាល័យរបស់ភាគីទីបី មិនទុកចិត្តដែលមិនត្រូវបានគ្រប់គ្រងដោយអ្នកអភិវឌ្ឍន៍ប៉ុន្តែភាពងាយរងគ្រោះដែលគម្រោងសំខាន់អាចសម្របសម្រួល។
Mozilla គ្រោងនឹងប្រើ RLBox នៅក្នុង Firefox 74 បង្កើតសម្រាប់លីនុចនិង ការចងក្រងរបស់ macOS នៅក្នុង Firefox 75 ដើម្បីផ្តាច់ការប្រតិបត្តិនៃបណ្ណាល័យក្រាហ្វិចដែលទទួលខុសត្រូវចំពោះការតំណាងប្រភព។
ក្នុងពេលជាមួយគ្នានេះ RLBox មិនជាក់លាក់ចំពោះ Firefox ទេហើយអាចត្រូវបានប្រើដើម្បីញែកបណ្ណាល័យណាមួយនៅក្នុងគម្រោងដែលបំពាន។
អំពី RLBox
យន្តការប្រតិបត្តិការ RLBox ពុះចុះក្រោមដើម្បីចងក្រងលេខកូដ C / C ++ ពីបណ្ណាល័យដាច់ស្រយាលទៅជាកូដ WebAssembly កម្រិតមធ្យម កម្រិតទាបដែលបន្ទាប់មកត្រូវបានចេញជាម៉ូឌុល WebAssembly សិទ្ធិអំណាចដែលត្រូវបានកំណត់ដើម្បីភ្ជាប់តែម៉ូឌុលនេះ (ឧទាហរណ៍បណ្ណាល័យសម្រាប់ខ្សែក្រវ៉ាត់ដំណើរការមិនអាចបើករន្ធឬឯកសារបណ្តាញ) ការបម្លែងកូដ C / C ++ a WebAssembly ត្រូវបានធ្វើដោយប្រើ wasi-sdk ។
សម្រាប់ការប្រហារជីវិតផ្ទាល់ ម៉ូឌុល WebAssembly ត្រូវបានចងក្រងជាលេខកូដម៉ាស៊ីនដោយប្រើអ្នកចងក្រង Lucet ហើយវាដំណើរការនៅក្នុង "ណាណូបឺត" ដាច់ដោយឡែកពីសតិនៅសល់របស់កម្មវិធី។ អ្នកចងក្រង Lucet គឺផ្អែកលើលេខកូដដូចគ្នានឹងម៉ាស៊ីន Cranelift JIT ដែលប្រើក្នុង Firefox ដើម្បីដំណើរការ WebAssembly ។
ម៉ូឌុលដែលបានជួបប្រជុំគ្នាធ្វើការនៅក្នុងកន្លែងចងចាំដាច់ដោយឡែក ហើយវាមិនមានសិទ្ធិចូលដំណើរការកន្លែងនៅសល់នៃអាសយដ្ឋានទេ។ ក្នុងករណីកេងចំណេញពីភាពងាយរងគ្រោះនៅក្នុងបណ្ណាល័យអ្នកវាយប្រហារនឹងត្រូវបានកំណត់ហើយនឹងមិនអាចចូលទៅកាន់កន្លែងចងចាំនៃដំណើរការសំខាន់ឬការផ្ទេរការគ្រប់គ្រងនៅខាងក្រៅប្រអប់ខ្សាច់។
API កម្រិតខ្ពស់ត្រូវបានផ្តល់ជូនសម្រាប់អ្នកអភិវឌ្ឍន៍ដែលអនុញ្ញាតឱ្យអ្នកហៅមុខងារបណ្ណាល័យនៅក្នុងរបៀបដាច់ឆ្ងាយ។
នេះ ឧបករណ៍បញ្ជា WebAssembly ត្រូវការស្ទើរតែគ្មានធនធានបន្ថែម ហើយការប្រាស្រ័យទាក់ទងជាមួយពួកគេមិនមានភាពយឺតជាងការហៅមុខងារធម្មតាទេ (មុខងារបណ្ណាល័យដំណើរការក្នុងទម្រង់ជាកូដដើមហើយការផ្ទុកលើសចំណុះកើតឡើងតែនៅពេលថតចម្លងនិងផ្ទៀងផ្ទាត់ទិន្នន័យនៅក្នុងដំណើរការនៃការធ្វើអន្តរកម្មជាមួយបរិដ្ឋានខ្សាច់) ។
មុខងារនៃបណ្ណាល័យដាច់ស្រយាលមួយមិនអាចត្រូវបានហៅដោយផ្ទាល់ទេហើយដើម្បីចូលប្រើពួកវាអ្នកត្រូវប្រើស្រទាប់ invoke_sandbox_function () ។
នៅក្នុងវេនប្រសិនបើពួកគេត្រូវការហៅមុខងារខាងក្រៅពីបណ្ណាល័យមុខងារទាំងនេះត្រូវតែត្រូវបានកំណត់យ៉ាងច្បាស់ដោយប្រើវិធីសាស្រ្តចុះឈ្មោះ - ត្រឡប់ (តាមលំនាំដើម RLBox ផ្តល់នូវការចូលដំណើរការមុខងារបណ្ណាល័យស្តង់ដារ) ។
ដើម្បីធានាបាននូវប្រតិបត្តិការការចងចាំប្រកបដោយសុវត្ថិភាព ការប្រតិបត្តិលេខកូដដាច់ដោយឡែកគឺមិនគ្រប់គ្រាន់ទេ និង។ អ្នកត្រូវផ្តល់ការផ្ទៀងផ្ទាត់នៃការបញ្ជូនទិន្នន័យត្រឡប់។
តម្លៃដែលបានបង្កើតនៅក្នុងបរិយាកាសដាច់ស្រយាលមួយត្រូវបានសម្គាល់ថាមិនគួរទុកចិត្តបានកំណត់ដោយស្លាកដែលមានស្នាមប្រឡាក់ហើយទាមទារការផ្ទៀងផ្ទាត់និងថតចម្លងទៅអង្គចងចាំកម្មវិធីសម្រាប់ "ការសម្អាត" ។
ដោយគ្មានការលាងសំអាតការប៉ុនប៉ងប្រើទិន្នន័យដែលបានបំពុលក្នុងបរិបទដែលត្រូវការទិន្នន័យទៀងទាត់ (និងច្រាសមកវិញ) នាំឱ្យមានការបង្កើតកំហុសនៅដំណាក់កាលចងក្រង។
អាគុយម៉ង់មុខងារតូចតម្លៃត្រឡប់មកវិញនិងរចនាសម្ព័ន្ធត្រូវបានឆ្លងកាត់ដោយការចម្លងរវាងការចងចាំដំណើរការនិងការចងចាំសេនបក់។ សម្រាប់សំណុំទិន្នន័យធំអង្គចងចាំត្រូវបានបម្រុងទុកនៅក្នុងបរិយាកាសដាច់ស្រយាលហើយទ្រនិច "យោងខ្សាច់" ដោយផ្ទាល់ត្រូវបានត្រឡប់ទៅដំណើរការសំខាន់វិញ។
ការវិវឌ្ឍន៍ RLBox ត្រូវបានចែកចាយក្រោមអាជ្ញាប័ណ្ណរបស់មីត។ RLBox បច្ចុប្បន្នគាំទ្រលីនុចនិង macOS ហើយត្រូវបានគេរំពឹងថាអាចប្រើបានជាមួយវីនដូនៅពេលក្រោយ។
ប្រសិនបើអ្នកចង់ដឹងបន្ថែមអំពីបច្ចេកវិទ្យាថ្មីនេះដែល Mozilla គ្រោងនឹងអនុវត្តនៅក្នុង Firefox អ្នកអាចពិគ្រោះជាមួយការអភិវឌ្ឍក៏ដូចជាសាកល្បង API នៅក្នុងតំណខាងក្រោម។
ធ្វើជាយោបល់ដំបូង