RLBox, uusi kirjaston eristystekniikka, jota Mozilla käyttää

Firefox-logo

Stanfordin yliopiston tutkijat, University of California San Diegossa y la Teksasin yliopisto Austinissa Ne ovat kehittyneet joukko työkaluja, joille he antoivat nimen "RLBox", että voidaan käyttää lisänä eristeenä estää toimintokirjastojen haavoittuvuudet.

RLBox pyrkii ratkaisemaan kolmansien osapuolten kirjastojen turvallisuusongelman epäluotettavat, joita kehittäjät eivät hallitse, mutta haavoittuvuudet, joihin pääprojekti voi vaarantua.

Mozilla aikoo käyttää RLBoxia Firefox 74 -rakennuksissa Linuxille ja - kokoelmat macOS Firefox 75: ssä eristää Grafiittikirjaston toteutus, joka vastaa lähteiden edustamisesta.

Samanaikaisesti RLBox ei ole Firefox-spesifinen, ja sitä voidaan käyttää minkä tahansa kirjaston eristämiseen mielivaltaisissa projekteissa.

Tietoja RLBoxista

Toimintamekanismi RLBox kääntyy C / C ++ -koodin kokoamiseksi eristetystä kirjastosta väli WebAssembly-koodiksi matala taso, joka sitten annetaan WebAssembly-moduulina, jonka valtuudet on asetettu sitomaan vain tähän moduuliin (esimerkiksi merkkijonojen käsittelyä varten tarkoitettu kirjasto ei voi avata pistorasiaa tai verkkotiedostoa) C / C ++ -koodin muunnos WebAssembly on tehty wasi-sdk: n avulla.

Suoraan suoritukseen WebAssembly-moduuli käännetään konekoodiksi Lucet-kääntäjän avulla ja se toimii "nanoprosessissa" erillään muusta sovelluksen muistista. Lucet-kääntäjä perustuu samaan koodiin kuin Cranelift JIT -moottori, jota Firefox käyttää WebAssemblyn suorittamiseen.

Koottu moduuli toimii erillisellä muistialueella ja sillä ei ole pääsyä muuhun osoiteavaruuteen. Kirjaston haavoittuvuuden hyödyntämisessä hyökkääjä on rajoitettu eikä pysty pääsemään pääprosessin muistialueille tai siirtämään ohjausta hiekkalaatikon ulkopuolelle.

Kehittäjille tarjotaan korkean tason sovellusliittymä, jonka avulla voit kutsua kirjastotoimintoja eristystilassa.

Los WebAssembly-ohjaimet eivät vaadi melkein mitään lisäresursseja ja vuorovaikutus heidän kanssaan ei ole paljon hitaampaa kuin tavallisten toimintojen kutsuminen (kirjastotoiminnot suoritetaan natiivikoodina, ja ylikuormitus tapahtuu vain, kun kopioidaan ja varmistetaan tietoja vuorovaikutuksessa hiekkalaatikkoympäristön kanssa).

Eristetyn kirjaston toimintoja ei voida kutsua suoraan, ja jotta voit käyttää niitä, sinun on käytettävä tasoa invoke_sandbox_function().

Jos ne puolestaan ​​tarvitsevat kutsua ulkoisia toimintoja kirjastosta, nämä toiminnot on määriteltävä erikseen käyttämällä register_callback-menetelmää (oletusarvoisesti RLBox tarjoaa pääsyn standardeihin kirjastotoimintoihin).

Varmistaaksesi turvallisen muistin toiminnan, koodin suorituksen eristäminen ei riitä y también sinun on varmistettava palautetut tietovirrat.

Eristetyssä ympäristössä luodut arvot on merkitty epäluotettaviksi, saastuneiden tunnisteiden rajoittamiksi, ja ne on tarkistettava ja kopioitava sovelluksen muistiin puhdistusta varten.

Ilman puhdistamista yritys käyttää saastunutta tietoa tilanteessa, joka vaatii säännöllistä tietoa (ja päinvastoin), johtaa virheiden muodostumiseen kokoamisvaiheessa.

Pienet funktion argumentit, palautusarvot ja rakenteet välitetään kopioimalla prosessimuistin ja hiekkalaatikkomuistin välillä. Suurille tietojoukoille muisti varataan eristettyyn ympäristöön ja suora "hiekkalaatikkoviite" -osoitin palautetaan pääprosessiin.

RLBox-kehitystä jaetaan MIT-lisenssillä. RLBox tukee tällä hetkellä Linuxia ja macOSia ja sen odotetaan olevan yhteensopiva Windowsin kanssa myöhemmin.

Jos haluat tietää enemmän uudesta tekniikasta, jonka Mozilla aikoo ottaa käyttöön Firefoxissa, voit tutustua sen kehitykseen ja testata API: ta Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.