Mozilla Jibda l-Implimentazzjoni tat-Teknoloġija tal-Iżolament tal-Librerija RLBox

Riċerkaturi mill-Università ta’ Stanford, l-Università ta’ California f’San Diego u l-Università ta’ Texas f’Austin żviluppati għodod RLBox, li jista 'jintuża bħala saff ta' iżolament addizzjonali biex jimblokka l-vulnerabbiltajiet fil-libreriji tal-funzjonijiet. RLBox huwa mmirat biex isolvi l-problema tas-sigurtà ta 'libreriji ta' partijiet terzi mhux fdati li mhumiex taħt il-kontroll ta 'żviluppaturi, iżda li l-vulnerabbiltajiet tagħhom jistgħu jikkompromettu l-proġett ewlieni.

Kumpanija Mozilla pjanijiet uża RLBox f'Linux builds ta' Firefox 74 u macOS builds ta' Firefox 75 biex tiżola l-eżekuzzjoni tal-librerija grafita, responsabbli biex tirrendi fonts. Madankollu, RLBox mhuwiex speċifiku għal Firefox u jista 'jintuża biex jiżola kwalunkwe librerija fi proġetti arbitrarji. Żviluppi RLBox jinfirex taħt liċenzja MIT. RLBox bħalissa jappoġġja pjattaformi Linux u macOS, bl-appoġġ tal-Windows mistenni aktar tard.

Mekkaniżmu Ix-xogħol ta' RLBox jasal għall-kompilazzjoni tal-kodiċi C/C++ ta' librerija iżolata f'kodiċi WebAssembly intermedju ta' livell baxx, li mbagħad huwa ddisinjat bħala modulu WebAssembly, li l-permessi tiegħu huma stabbiliti b'relazzjoni biss ma' dan il-modulu (pereżempju, librerija għall-ipproċessar ta 'kordi mhux se jkunu jistgħu jiftħu socket jew fajl tan-netwerk) . Il-konverżjoni tal-kodiċi C/C++ għal WebAssembly isir bl-użu wasi-sdk.

Għall-eżekuzzjoni diretta, il-modulu WebAssembly huwa kkompilat f'kodiċi tal-magni bl-użu ta 'kompilatur Lucet u taħdem f'"nanoprocess" separat iżolat mill-bqija tal-memorja tal-applikazzjoni. Il-kompilatur Lucet huwa bbażat fuq l-istess kodiċi bħall-magna JIT lift tal-krejn, użat fil-Firefox biex tesegwixxi WebAssembly.

Il-modulu immuntat jaħdem f'żona separata tal-memorja u m'għandux aċċess għall-bqija tal-ispazju tal-indirizz. Jekk vulnerabbiltà fil-librerija tiġi sfruttata, l-attakkant ikun limitat u mhux se jkun jista 'jaċċessa żoni tal-memorja tal-proċess prinċipali jew jittrasferixxi kontroll barra l-ambjent iżolat.

Mozilla Jibda l-Implimentazzjoni tat-Teknoloġija tal-Iżolament tal-Librerija RLBox

Informazzjoni ta 'livell għoli hija pprovduta għall-iżviluppaturi API, li jippermettilek li ċċempel funzjonijiet tal-librerija f'mod ta 'iżolament. L-immaniġġjar tal-WebAssembly ma jeħtieġu kważi l-ebda riżorsi addizzjonali u l-interazzjoni magħhom mhix ħafna aktar bil-mod milli ssejjaħ funzjonijiet ordinarji (il-funzjonijiet tal-librerija huma esegwiti fil-forma ta 'kodiċi nattiv, u l-ispejjeż ġenerali jinqalgħu biss meta tikkopja u tikkontrolla d-data waqt l-interazzjoni mal-ambjent iżolat). Funzjonijiet tal-librerija iżolati ma jistgħux jissejħu direttament u jridu jiġu aċċessati bl-użu
saff invoke_sandbox_function().

Min-naħa tiegħu, jekk ikun meħtieġ li ssejjaħ funzjonijiet esterni mil-librerija, dawn il-funzjonijiet għandhom jiġu definiti b'mod espliċitu bl-użu tal-metodu register_callback (b'mod awtomatiku, RLBox jipprovdi aċċess għall-funzjonijiet librerija standard). Biex tiġi żgurata s-sigurtà tal-memorja, l-iżolament tal-eżekuzzjoni tal-kodiċi mhuwiex biżżejjed u jeħtieġ ukoll li jiċċekkjaw il-flussi tad-dejta rritornati.

Valuri iġġenerati f'ambjent iżolat huma mmarkati bħala mhux affidabbli u użu limitat marki mċappsa u għal "tindif" jeħtieġu verifika u l-ikkupjar fil-memorja tal-applikazzjoni.
Mingħajr tindif, li tipprova tuża data mċappsa f'kuntest li teħtieġ data regolari (u viċi versa) jirriżulta fi żbalji li jiġu ġġenerati fil-ħin tal-kompilazzjoni. Argumenti ta' funzjoni żgħar, valuri ta' ritorn, u strutturi jiġu mgħoddija permezz ta' ikkupjar bejn il-memorja tal-proċess u l-memorja tar-ramel. Għal settijiet ta 'dejta kbar, il-memorja hija allokata f'ambjent iżolat u pointer dirett ta' referenza ta 'sandbox huwa rritornat lill-proċess prinċipali.

Sors: opennet.ru

Żid kumment