Mozilla fänkt d'Ëmsetzung vun der RLBox Library Isolation Technology un

Fuerscher vun der Stanford University, der University of California zu San Diego an der University of Texas zu Austin entwéckelt Tools RLBox, déi als zousätzlech Isoléierschicht benotzt ka ginn fir Schwachstelle bei Funktiounsbibliothéiken ze blockéieren. RLBox zielt fir d'Sécherheetsproblem vun ontrauen Drëtt-Partei-Bibliothéiken ze léisen, déi net ënner der Kontroll vun den Entwéckler sinn, awer deenen hir Schwachstelle kënnen den Haaptprojet kompromittéieren.

Mozilla Company Pläng benotzt RLBox a Linux Builds vu Firefox 74 a macOS Builds vu Firefox 75 fir d'Ausféierung vun der Bibliothéik ze isoléieren Graphite, responsabel fir Render- Schrëften. Wéi och ëmmer, RLBox ass net spezifesch fir Firefox a ka benotzt ginn fir all Bibliothéiken an arbiträre Projeten ze isoléieren. Entwécklungen RLBox ausbreeden ënner MIT Lizenz. RLBox ënnerstëtzt de Moment Linux a MacOS Plattformen, mat Windows Ënnerstëtzung spéider erwaart.

Механизм Dem RLBox seng Aarbecht geet erof op d'Zesummesetzung vum C/C++ Code vun enger isoléierter Bibliothéik an en nidderegen Zwëschen WebAssembly Code, deen dann als WebAssembly Modul entworf ass, d'Permissiounen vun deenen nëmmen a Relatioun mat dësem Modul gesat ginn (zum Beispill eng Bibliothéik). fir d'Veraarbechtung vun Strings net fäeg sinn en Netzwierk Socket oder Datei opzemaachen). Konvertéieren C / C ++ Code op WebAssembly gëtt gemaach mat wari-sdk.

Fir direkt Ausféierung gëtt de WebAssembly Modul a Maschinncode mat engem Compiler zesummegesat Lucet a leeft an engem separaten "Nanoprocess" aus dem Rescht vun der Applikatioun Erënnerung isoléiert. De Lucet Compiler baséiert um selwechte Code wéi de JIT Motor Kran Lift, am Firefox benotzt fir WebAssembly auszeféieren.

De versammelt Modul funktionnéiert an engem separaten Erënnerungsberäich an huet keen Zougang zum Rescht vum Adressraum. Wann eng Schwachstelle an der Bibliothéik exploitéiert gëtt, gëtt den Ugräifer limitéiert a wäert net fäeg sinn Zougang zu Erënnerungsberäicher vum Haaptprozess ze kréien oder d'Kontroll ausserhalb vum isoléierten Ëmfeld ze transferéieren.

Mozilla fänkt d'Ëmsetzung vun der RLBox Library Isolation Technology un

Héichniveau Informatioun gëtt fir Entwéckler geliwwert API, wat Iech erlaabt Bibliothéik Funktiounen am Isolatiounsmodus ze ruffen. WebAssembly Handler erfuerderen bal keng zousätzlech Ressourcen an d'Interaktioun mat hinnen ass net vill méi lues wéi normal Funktiounen ze ruffen (d'Bibliothéiksfunktiounen ginn a Form vun engem gebiertege Code ausgeführt, an d'Overheadkäschte entstoen nëmmen wann Dir Daten kopéiert an iwwerpréift während Interaktioun mat der isoléierter Ëmwelt). Isoléiert Bibliothéik Funktiounen kënnen net direkt opgeruff ginn a mussen zougänglech benotzt ginn
Layer invoke_sandbox_function ().

Am Tour, wann et néideg ass extern Funktiounen aus der Bibliothéik ze ruffen, mussen dës Funktiounen explizit definéiert ginn mat der register_callback Method (par défaut bitt RLBox Zougang zu Funktiounen Standard Bibliothéik). Fir d'Erënnerungssécherheet ze garantéieren, ass d'Isolatioun vum Code Ausféierung net genuch a erfuerdert och déi zréckginn Datestroum ze kontrolléieren.

Wäerter generéiert an engem isoléierten Ëmfeld sinn als net zouverlässeg a limitéiert Benotzung markéiert verschmotzt Marken a fir "Botzen" si verlaangen iwwerpréiwen a kopéieren op Applikatioun Erënnerung.
Ouni Botzen, Versuch, verschmotzt Donnéeën an engem Kontext ze benotzen, deen reegelméisseg Donnéeën erfuerdert (a vice-versa) féiert zu Feeler, déi bei der Kompiléierungszäit generéiert ginn. Kleng Funktiounsargumenter, Retourwäerter a Strukture ginn duerch d'Kopie tëscht Prozessspeicher a Sandbox Memory weidergeleet. Fir grouss Datesets gëtt d'Erënnerung an engem isoléierten Ëmfeld zougewisen an en direkten Sandbox-Referenzpointer gëtt zréck an den Haaptprozess.

Source: opennet.ru

Setzt e Commentaire