RLBox, déi nei Bibliothéiksisolatiounstechnologie déi vu Mozilla benotzt gëtt

Firefox Logo

Stanford University Fuerscher, la Universitéit vu Kalifornien zu San Diego y la Universitéit vun Texas zu Austin Si hunn entwéckelt e Set vun Tools déi se den Numm ginn hunn "RLBox", Q kann als zousätzlechen Niveau vun Isolatioun benotzt ginn fir Schwachstelle bei Funktiounsbibliothéiken ze blockéieren.

RLBox soll d'Sécherheetsprobleem vun Drëtt-Partei-Bibliothéiken léisen Net vertraut déi net vun den Entwéckler kontrolléiert ginn, awer Schwachstelle bei deenen den Haaptprojet kéint Kompromësser maachen.

Mozilla plangt RLBox am Firefox 74 ze bauen fir Linux an der compilations vun macOS am Firefox 75 fir d'Ausféierung vun der Grafitbibliothéik ze isoléieren, déi verantwortlech ass fir d'Quellen ze representéieren.

Zur selwechter Zäit ass RLBox net spezifesch fir Firefox a ka benotzt ginn fir all Bibliothéik an arbiträre Projeten ze isoléieren.

Iwwer RLBox

De Betribsmechanismus RLBox kacht erof fir den C / C ++ Code aus der isoléierter Bibliothéik ze kompiléieren an de mëttlere WebAssemblecode nidderegen Niveau, deen dann als WebAssembly Modul ausgestallt gëtt, deem seng Autoritéit agestallt ass fir nëmmen un dëse Modul ze bannen (zum Beispill eng Bibliothéik fir Strings ze veraarbecht ka keng Socket oder Netzwierk Datei opmaachen) WebAssemblée gëtt mat Wasi-SDK gemaach.

Fir direkt Ausféierung, de WebAssemble Modul gëtt a Maschinncode mat dem Lucet Compiler kompiléiert an et leeft an engem "Nanoprozess" getrennt vum Rescht vun der Erënnerung vun der Applikatioun. De Lucet Compiler baséiert op deemselwechte Code wéi de Cranelift JIT Motor deen am Firefox benotzt gëtt fir WebAssembly ze lafen.

De montéierte Modul funktionnéiert an engem separaten Gedächtnisberäich an et huet keen Zougang zum Rescht vum Adressraum. Am Fall vun der Verwäertung vun der Schwachstelle an der Bibliothéik gëtt den Ugräifer limitéiert a wäert net fäeg sinn op d'Erënnerungsgebidder vum Haaptprozess ze kommen oder d'Kontroll ausserhalb vun der Sandkëscht ze transferéieren.

En héijen API gëtt fir Entwéckler zur Verfügung gestallt, sou datt Dir d'Bibliothéikfunktiounen am Isolatiounsmodus uruffe kënnt.

der WebAssembly Controller brauche bal keng zousätzlech Ressourcen an d'Interaktioun mat hinnen ass net vill méi lues wéi normal Funktiounen ze ruffen (Bibliothéiksfunktiounen ginn a Form vum natierlechen Code ausgefouert, an Iwwerbelaaschtung trëtt nëmme bei der Kopie an der Iwwerpréiwung vun Donnéeën am Prozess vun der Interaktioun mat Sandkëscht).

D'Funktioune vun enger isoléierter Bibliothéik kënnen net direkt ugeruff ginn, a fir Zougang zu hinnen ze kréien, musst Dir d'Schicht benotzen invoke_sandbox_function ().

Wann se extern Funktiounen aus der Bibliothéik uruffe mussen, musse dës Funktiounen explizit mat der Register_callback Method definéiert ginn (par défaut gëtt RLBox Zougang zu Standardbibliothéiksfunktiounen).

Fir e séchere Gedächtnisbetrib ze garantéieren, Code Ausféierung isoléieren ass net genuch an och Dir musst d'Verifikatioun vun den zréckkommten Datestreams ubidden.

Wäerter, déi an engem isoléierten Ëmfeld generéiert ginn, sinn als onzouverlässeg markéiert, limitéiert duerch verschmotzt Tags, a erfuerderen Verifizéierung a Kopie an d'Applikatiouns-Gedächtnis fir "Botzen".

Ouni Botzen féiert e Versuch vu verschmotzten Daten an engem Kontext ze benotzen deen regelméisseg Daten erfuerdert (a vice versa) féiert zu der Generatioun vu Feeler an der Kompiléierungsphase.

Kleng Funktiounsargumenter, Retourwäerter a Strukture gi weiderginn andeems se kopéieren tëscht Prozessmemory a Sandbox Memory. Fir grouss Datensätze gëtt d'Erënnerung an engem isoléierten Ëmfeld zougedeelt an en direkten "Sandbox Referenz" Zeiger gëtt zréck an den Haaptprozess.

RLBox Entwécklunge ginn ënner der MIT Lizenz verdeelt. RLBox ënnerstëtzt aktuell Linux a macOS a gëtt erwaart méi spéit mat Windows kompatibel ze sinn.

Wann Dir méi iwwer dës nei Technologie wësse wëllt, déi de Mozilla am Firefox implementéiert, kënnt Dir seng Entwécklung konsultéieren an och d'API testen. An de folgende Link.


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

Gitt d'éischt fir ze kommentéieren

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.