RLBox, Mozillak erabiltzen duen liburutegia isolatzeko teknologia berria

Firefoxen logotipoa

Stanford Unibertsitateko Ikertzaileak, The Kaliforniako Unibertsitatea san diego y la Texaseko Unibertsitatea Austinen Garatu egin dira izena jarri zioten tresna multzoa "RLBox", hau isolamendu maila osagarri gisa erabil daiteke funtzioen liburutegietako ahultasunak blokeatzeko.

RLBox-ek hirugarrenen liburutegien segurtasun arazoa konpontzea du helburu garatzaileek kontrolatzen ez dituzten fidagarritasunik gabeak, baina proiektu nagusiak arriskuan jar ditzakeen ahultasunak.

Mozillak RLBox erabiltzea aurreikusten du Firefox 74 bertsioetarako Linux eta bildumak macOS Firefox 75-en Graphite liburutegiaren exekuzioa isolatzeko, iturriak ordezkatzeaz arduratzen dena.

Aldi berean, RLBox ez da Firefox-erako espezifikoa eta edozein liburutegi proiektu arbitrarioetan isolatzeko erabil daiteke.

RLBox-i buruz

Funtzionamendu mekanismoa RLBox liburutegi isolatuetatik C / C ++ kodea konpilatzera murrizten da tarteko WebAssembly kodera maila baxukoa, gero WebAssembly modulu gisa jaulkitzen dena, zeinaren autoritatea modulu honetara soilik lotzeko ezarrita dagoen (adibidez, kateak prozesatzeko liburutegiak ezin du sareko socket edo fitxategi bat ireki) C / C ++ kode bihurketa Web-muntaia wasi-sdk erabiliz egiten da.

Zuzeneko exekuziorako, WebAssembly modulua makina kodean biltzen da Lucet konpiladorea erabiliz eta aplikazioaren gainerako memoriatik bereizitako "nanoprozesu" batean exekutatzen da. Lucet konpilatzailea Firefox-en WebAssembly abiarazteko Firefox-en erabiltzen den Cranelift JIT motorreko kode berean oinarritzen da.

Muntatutako moduluak aparteko memoria-eremu batean funtzionatzen du eta ez du gainerako helbide-espaziora sarbidea. Liburutegian zaurgarritasuna ustiatzearen kasuan, erasotzailea mugatua izango da eta ezin izango du prozesu nagusiko memoria guneetara sartu edo sandboxetik kanpoko kontrola transferitu.

Maila handiko APIa eskaintzen da garatzaileentzat, liburutegiko funtzioei modu isolatuan deitzeko aukera emanez.

The WebAssembly kontrolatzaileek ia ez dute baliabide osagarririk behar eta haiekin elkarreragitea ez da funtzio arruntei deitzea baino askoz ere motelagoa (liburutegiko funtzioak jatorrizko kode moduan exekutatzen dira eta gainkarga datuak sandboxed ingurunearekin elkarreragiteko prozesuan datuak kopiatu eta egiaztatzerakoan bakarrik gertatzen da).

Liburutegi isolatu baten funtzioak ezin dira zuzenean deitu eta haietara sartzeko geruza erabili behar duzu invoke_sandbox_function ().

Aldiz, liburutegitik kanpoko funtzioei deitu behar badie, funtzio horiek esplizituki definitu behar dira register_callback metodoa erabiliz (lehenespenez, RLBox-ek liburutegiko funtzio estandarretarako sarbidea ematen du).

Memoriaren funtzionamendu segurua bermatzeko, kodearen exekuzioa isolatzea ez da nahikoa y también itzulitako datuen egiaztapena eman behar duzu.

Ingurune isolatu batean sortutako balioak ez dira fidagarriak markatzen, kutsatutako etiketek mugatzen dituzte eta "garbiketa" egiteko egiaztatu eta kopiatu behar dira aplikazioen memorian.

Garbitu gabe, datu kutsatuak erabiltzen dituzten saiakerak datu erregularrak behar dituen testuinguruan (eta alderantziz) konpilazio fasean akatsak sortzea dakar.

Funtzio txikien argumentuak, itzultzeko balioak eta egiturak prozesuaren memoriaren eta sandbox memoriaren artean kopiatuz igarotzen dira. Datu multzo handiei dagokienez, memoria ingurune isolatu batean esleitzen da eta "sandbox erreferentzia" zuzeneko erakuslea prozesu nagusira itzultzen da.

RLBox garapenak MIT lizentziapean banatzen dira. RLBox-ek Linux eta macOS onartzen ditu gaur egun eta aurrerago Windows-rekin bateragarria izatea espero da.

Mozillak Firefox-en ezartzeko asmoa duen teknologia berri honi buruz gehiago jakin nahi baduzu, haren garapena kontsultatu eta APIa probatu dezakezu. Hurrengo estekan.


Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

Idatzi lehenengo iruzkina

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.