Mozilla пайдаланатын RLBox жаңа кітапхананы оқшаулау технологиясы

Firefox логотипі

Стэнфорд университетінің зерттеушілеріЛа Калифорния университеті Сан Диегода y la Техас университеті Остинде Олар дамыды олар атаған құралдар жиынтығы «RLBox», Que оқшаулаудың қосымша деңгейі ретінде пайдалануға болады функционалдық кітапханалардағы осалдықтарды блоктауға арналған.

RLBox үшінші тарап кітапханаларының қауіпсіздік мәселелерін шешуге бағытталған Әзірлеушілер бақыламайтын сенімсіздер, бірақ негізгі жоба ымыраға келуі мүмкін осалдықтар.

Mozilla RLBox-ты Firefox 74 құрастыруларында Linux және үшін қолдануды жоспарлап отыр жинақтар MacOS Firefox 75 Graphite кітапханасының орындалуын оқшаулау, ақпарат көздерін ұсынуға жауапты.

Сонымен қатар, RLBox Firefox-қа тән емес және кез-келген кітапхананы ерікті жобаларда оқшаулау үшін қолдануға болады.

RLBox туралы

Жұмыс механизмі RLBox оқшауланған кітапхананың C / C ++ кодын аралық WebAssembly кодына құруға дейін барады төмен деңгей, ол WebAssembly модулі ретінде шығарылады, оның авторитеті тек осы модульмен байланыстырылады (мысалы, жолдарды өңдеуге арналған кітапхана розетканы немесе желілік файлды аша алмайды) C / C ++ кодын түрлендіру a WebAssembly wasi-sdk көмегімен жасалады.

Тікелей орындау үшін, WebAssembly модулі Lucet компиляторы көмегімен машиналық кодқа жинақталған және ол қолданбаның басқа жадынан бөлек «нанопроцесте» жұмыс істейді. Lucet компиляторы WebAssembly іске қосу үшін Firefox-та қолданылатын Cranelift JIT қозғалтқышымен бірдей кодқа негізделген.

Жиналған модуль бөлек жад аймағында жұмыс істейді және ол қалған мекенжай кеңістігіне қол жеткізе алмайды. Кітапханадағы осалдықты пайдаланған жағдайда, шабуылдаушы шектеулі болады және негізгі процестің жад аймақтарына кіре алмайды немесе басқаруды құм жәшігінен тыс жібере алмайды.

Әзірлеушілер үшін оқшаулау режимінде кітапхана функцияларын шақыруға мүмкіндік беретін жоғары деңгейлі API ұсынылған.

The WebAssembly контроллері қосымша ресурстарды қажет етпейді және олармен өзара әрекеттесу қарапайым функцияларды шақырудан гөрі баяу болмайды (кітапхана функциялары жергілікті код түрінде жұмыс істейді, ал шамадан тыс жүктеу тек құммен қоршалған ортамен өзара әрекеттесу процесінде деректерді көшіру және тексеру кезінде пайда болады).

Оқшауланған кітапхананың функцияларын тікелей шақыру мүмкін емес және оларға қол жеткізу үшін қабатты қолдану қажет invoke_sandbox_function ().

Өз кезегінде, егер олар кітапханадан сыртқы функцияларды шақыру керек болса, онда бұл функциялар register_callback әдісі арқылы нақты анықталуы керек (әдепкіде RLBox стандартты кітапхана функцияларына қол жеткізуді қамтамасыз етеді).

Жадтың қауіпсіз жұмысын қамтамасыз ету үшін, кодтың орындалуын оқшаулау жеткіліксіз сондай-ақ Сізге деректер ағындарының расталуын қамтамасыз ету қажет.

Оқшауланған ортада пайда болған мәндер сенімсіз деп белгіленеді, ластанған тегтермен шектеледі және тексеруді және қосымшаның жадына «тазарту» үшін көшіруді қажет етеді.

Тазартусыз ластанған деректерді тұрақты деректерді қажет ететін контексте пайдалануға тырысу (және керісінше) жинақтау кезеңінде қателіктердің пайда болуына әкеледі.

Шағын функционалды аргументтер, қайтарылатын мәндер мен құрылымдар процесс жады мен құм жәшігінің жады арасында көшіру арқылы беріледі. Мәліметтердің үлкен жиынтығы үшін оқшауланған ортада жад бөлінеді және тікелей «құмсалғышқа сілтеме» сілтемесі негізгі процеске оралады.

RLBox әзірлемелері MIT лицензиясы бойынша таратылады. RLBox қазіргі уақытта Linux және macOS қолдайды және кейінірек Windows-пен үйлесімді болады деп күтілуде.

Егер сіз Mozilla Firefox-та енгізуді жоспарлап отырған осы жаңа технология туралы көбірек білгіңіз келсе, оны әзірлеумен де, API-ні де тексеріп көруге болады Келесі сілтемеде.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.