Mozilla fillon zbatimin e teknologjisë së izolimit të bibliotekës RLBox

Studiues nga Universiteti i Stanfordit, Universiteti i Kalifornisë në San Diego dhe Universiteti i Teksasit në Austin zhvilluar mjetet RLBox, e cila mund të përdoret si një shtresë shtesë izolimi për të bllokuar dobësitë në libraritë e funksioneve. RLBox synon të adresojë problemin e sigurisë së librarive të palëve të treta të pabesueshme që nuk janë nën kontrollin e zhvilluesve, por dobësitë e të cilave mund të kompromentojnë projektin kryesor.

Kompania Mozilla planet aktivizo RLBox në Linux-ndërtime të Firefox 74 dhe macOS-Ndërtimet e Firefox 75 për të izoluar ekzekutimin e bibliotekës grafit, i cili është përgjegjës për paraqitjen e fonteve. RLBox nuk është specifik për Firefox dhe mund të përdoret për të izoluar çdo bibliotekë në çdo projekt. Zhvillimet RLBox përhapet sipas licencës MIT. RLBox aktualisht mbështet platformat Linux и macOS, mbështetje Windows pritet më vonë.

mekanizëm Operacioni i RLBox konsiston në kompilimin e kodit C/C++ të një biblioteke të izoluar në kod të nivelit të ulët të ndërmjetëm WebAssembly, i cili më pas formatohet si një modul WebAssembly, lejet e të cilit specifikohen vetëm për këtë modul (për shembull, një bibliotekë përpunimi vargjesh nuk do të jetë në gjendje të hapë një socket ose skedar rrjeti). Konvertimi i kodit C/C++ në WebAssembly kryhet duke përdorur wasi-sdk.

Për ekzekutim të drejtpërdrejtë, moduli WebAssembly kompilohet në kod makine duke përdorur një kompajler. Lucet dhe funksionon në një "nanoproces" të veçantë, të izoluar nga pjesa tjetër e memories së aplikacionit. Kompiluesi Lucet bazohet në të njëjtin kod si motori JIT. Ngritje vinçi, përdoret në Firefox për të ekzekutuar WebAssembly.

Moduli i montuar vepron në një zonë të veçantë memorieje dhe nuk ka qasje në pjesën tjetër të hapësirës së adresave. Nëse shfrytëzohet një dobësi në bibliotekë, sulmuesi do të jetë i kufizuar dhe i paaftë të hyjë në zonat e memories së procesit kryesor ose të transferojë kontrollin jashtë mjedisit të izoluar.

Mozilla fillon zbatimin e teknologjisë së izolimit të bibliotekës RLBox

Zhvilluesve u ofrohen udhëzime të nivelit të lartë API, e cila lejon thirrjen e funksioneve të bibliotekës në modalitetin e izolimit. Trajtuesit e WebAssembly nuk kërkojnë pothuajse asnjë burim shtesë, dhe bashkëveprimi me ta nuk është shumë më i ngadaltë sesa thirrja e funksioneve të rregullta (funksionet e bibliotekës ekzekutohen si kod vendas, dhe mbingarkesa lind vetëm kur kopjohen dhe verifikohen të dhënat gjatë bashkëveprimit me mjedisin e izoluar). Funksionet e izoluara të bibliotekës nuk mund të thirren drejtpërdrejt, dhe qasja në to kërkon përdorimin e
shtresa invoke_sandbox_function().

Nga ana tjetër, nëse është e nevojshme të thirren funksione të jashtme nga biblioteka, këto funksione duhet të përcaktohen në mënyrë të qartë duke përdorur metodën register_callback (si parazgjedhje, RLBox ofron qasje në funksione biblioteka standardePër të siguruar sigurinë e memories, izolimi i ekzekutimit të kodit nuk është i mjaftueshëm; është gjithashtu e nevojshme të sigurohet kontrollimi i rrjedhave të të dhënave të kthyera.

Vlerat e gjeneruara në një mjedis të izoluar shënohen si të pabesueshme dhe të kufizuara duke përdorur etiketa të ndotura dhe për "pastrim" ata kërkojnë verifikimi dhe kopjimi në kujtesën e aplikacionit.
Pa pastrim, përpjekja për të përdorur të dhëna të dëmtuara në një kontekst që kërkon të dhëna të rregullta (dhe anasjelltas) rezulton në gabime në kohën e kompajlimit. Argumentet e vogla të funksionit, vlerat e kthimit dhe strukturat kopjohen midis memories së procesit dhe memories sandbox. Për grupe më të mëdha të dhënash, memoria ndahet në sandbox dhe një "referencë sandbox" e drejtpërdrejtë i kthehet procesit kryesor.

Burimi: opennet.ru

Bleni një host të besueshëm për faqet me mbrojtje DDoS, serverë VPS VDS 🔥 Bleni hosting të besueshëm të faqeve të internetit me mbrojtje DDoS, servera VPS VDS | ProHoster