Mozilla fillon zbatimin e teknologjisë për izolimin e bibliotekave RLBox

Ish-hetues nga Universiteti i Stanfordit, Universiteti i Kalifornisë në San Diego dhe Universiteti i Teksasit në Austin krijuan instrumentin RLBox, i cili mund të përdoret si një nivel shtesë izolimi për t'i bllokuar dobësitë në bibliotekat funksionale. RLBox synon të zgjidhë problemin e sigurisë me bibliotekat e palëve të treta që nuk janë nën kontrollin e zhvilluesve, por dobësitë në të cilat mund të komprometojnë projektin kryesor.

Kompania Mozilla planifikon të angazhojë RLBox në ndërtimet Linux të Firefox 74 dhe ndërtimet macOS të Firefox 75 për izolimin e ekzekutimit të bibliotekës Grafit, e cila është përgjegjëse për renditjen e fonteve. Në këtë kuptim, RLBox nuk është specifik për Firefox dhe mund të përdoret për izolimin e çdo biblioteke në projekte të ndryshme. Arritjet RLBox distribuohen në përputhje me licencën MIT. Në këtë moment, RLBox mbështet punën në platformat Linux dhe macOS, mbështetje për Windows pritet më vonë.

Mekanizmi i funksionimit të RLBox përbëhet nga kompaktimi i kodit C/C++ të bibliotekës së izoluar në kodin ndërmjetës të nivelit të ulët WebAssembly, i cili më pas formohet në një modul WebAssembly, autoritetet e të cilit caktohen në lidhje vetëm me këtë modul (p.sh., një bibliotekë për përpunimin e vargjeve nuk do të jetë në gjendje të hapë një soket rrjeti apo një skedar). Transformimi i kodit C/C++ në WebAssembly bëhet me ndihmën e wasi-sdk.

Për ekzekutimin e menjëhershëm, moduli WebAssembly kompilohet në kodin makinerik me ndihmën e kompilatorit Lucet dhe ekzekutohet në një "nano-proces" të ndarë, i izoluar nga pjesa tjetër e memories së aplikacionit. Kompilatori Lucet bazohet në të njëjtin kod si motori JIT Cranelift, i përdorur në Firefox për ekzekutimin e WebAssembly.

Moduli i ndërtuar punon në një zonë të veçantë të memories dhe nuk ka qasje në hapësirën tjetër adresore. Në rastin e shfrytëzimit të dobësisë në bibliotekë, sulmuesi do të jetë i kufizuar dhe nuk do të mund të aksesojë zonat e memories së procesit kryesor ose të transferojë kontrollin jashtë mjedisit të izoluar.

Mozilla fillon zbatimin e teknologjisë për izolimin e bibliotekave RLBox

Për zhvilluesit ofrohet një nivel i lartë API, i cili lejon thirrjen e funksioneve të bibliotekës në modin e izoluar. WebAssembly-ndihmësit praktikisht nuk kërkojnë burime shtesë dhe ndërlidhja me ta nuk është shumë më e ngadalshme se thirrja e funksioneve të zakonshme (funksionet e bibliotekës ekzekutohen në formën e kodit natyror, dhe shpenzimet ndodhin vetëm gjatë kopjimit dhe kontrollimit të të dhënave gjatë ndërveprimit me mjedisin e izoluar). Funksionet e bibliotekës së izoluar nuk mund të thirren direkt dhe për të arritur tek ato është e nevojshme të aplikohet
shtresa invoke_sandbox_function().

Nga ana tjetër, nëse nga biblioteka duhet të thirren funksione të jashtme, këto funksione duhet të jenë qartë të përcaktuara duke përdorur metodën register_callback (me të drejtë RLBox ofron akses në funksionet e bibliotekës standarde). Për të siguruar një funksionim të sigurt të memories (memory safety) e izolimit të ekzekutimit të kodit nuk është e mjaftueshme dhe është e nevojshme të sigurohet gjithashtu kontrolli i rrjedhave të të dhënave të kthyera.

Vlerat e formuara nĂ« mjedisin e izoluar shĂ«nohen si tĂ« dyshimta, kufizohen pĂ«rmes etiketave tainted dhe pĂ«r ‘pastrimin’ kĂ«rkojnĂ« verifikim dhe kopjim nĂ« memorien e aplikacionit.
Pa pastrim, pĂ«rpjekja pĂ«r tĂ« pĂ«rdorur tĂ« dhĂ«na tainted nĂ« njĂ« kontekst qĂ« kĂ«rkon tĂ« dhĂ«na tĂ« zakonshme (dhe anasjelltas) çon nĂ« gjenerimin e gabimeve nĂ« fazĂ«n e kompaktimit. Argumentet e vogla tĂ« funksioneve, vlerat e kthyera dhe strukturat kalohen pĂ«rmes kopjimit midis memorisĂ« sĂ« procesit dhe memories sĂ« mjedisit tĂ« izoluar. PĂ«r grupe mĂ« tĂ« mĂ«dha tĂ« dhĂ«nash, memoria ndahet nĂ« mjedisin e izoluar, ndĂ«rsa procesi kryesor merr njĂ« tregues tĂ« drejtpĂ«rdrejtĂ« ‘sandbox-reference’.

Burimi: opennet.ru

Bleni hostin e besueshĂ«m pĂ«r faqet me mbrojtje nga DDoS, VPS VDS servera đŸ”„ Bli hostin e besueshĂ«m pĂ«r faqet me mbrojtje nga DDoS, VPS VDS servera | ProHoster