RLBox, teknologi isolasi perpustakaan anyar sing digunakake dening Mozilla

Logo Firefox

Peneliti Universitas Stanford, ing Universitas California ing san diego y la Universitas Texas ing Austin Dheweke wis berkembang set alat sing diwenehi jeneng "RLBox", sing bisa digunakake minangka level tambahan jampel kanggo mblokir kerentanan ing perpustakaan fungsi.

RLBox tujuane kanggo ngrampungake masalah keamanan perpustakaan pihak katelu ora dipercaya sing ora dikontrol dening pangembang, nanging kerentanan ing endi proyek utama bisa kompromi.

Mozilla rencana nggunakake RLBox ing Firefox 74 kanggo Linux lan kompilasi saka macOS ing Firefox 75 kanggo ngisolasi eksekusi perpustakaan Graphite, sing tanggung jawab makili sumber.

Sanalika, RLBox ora khusus kanggo Firefox lan bisa digunakake kanggo ngisolasi perpustakaan apa wae ing proyek sewenang-wenang.

Babagan RLBox

Mekanisme operasi RLBox diwiwiti kanggo nyusun kode C / C ++ saka perpustakaan sing terisolasi dadi kode WebAss Assembly menengah level sedheng, sing banjur diterbitake dadi modul WebAss Assembly, sing duwe wewenang kanggo mung modul iki (contone, perpustakaan kanggo ngolah strings ora bisa mbukak soket utawa file jaringan) Konversi kode C / C ++ WebAss Assembly rampung nggunakake wasi-sdk.

Kanggo eksekusi langsung, modul WebAss Assembly disusun dadi kode mesin nggunakake kompiler Lucet lan mbukak "nanoprocess" sing kapisah saka memori aplikasi liyane. Kompilator Lucet adhedhasar kode sing padha karo mesin Cranelift JIT sing digunakake ing Firefox kanggo mbukak WebAss Assembly.

Modul sing dirakit bisa digunakake ing area memori sing beda lan ora duwe akses menyang papan liyane. Ing kasus eksploitasi kerentanan ing perpustakaan, panyerang bakal diwatesi lan ora bisa ngakses area memori proses utama utawa transfer kontrol ing njaba kothak wedhi.

API level dhuwur diwenehake kanggo pangembang, ngidini sampeyan nelpon fungsi perpustakaan ing mode isolasi.

ing Kontroler WebAss Assembly mbutuhake meh ora sumber tambahan lan sesambungan karo dheweke ora luwih alon tinimbang nyebat fungsi biasa (fungsi perpustakaan dieksekusi kanthi kode asli, lan kakehan mung ana nalika nyalin lan mriksa data ing proses berinteraksi karo kothak wedhi) .

Fungsi perpustakaan sing terisolasi ora bisa digunakake kanthi langsung, lan kanggo ngakses, sampeyan kudu nggunakake lapisan kasebut invoke_sandbox_unction ().

Sabanjure, yen dheweke butuh nelpon fungsi eksternal saka perpustakaan, fungsi kasebut kudu ditetepake kanthi eksplisit nggunakake metode register_callback (kanthi standar, RLBox nyedhiyakake akses menyang fungsi perpustakaan standar).

Kanggo mesthekake operasi memori sing aman, ngisolasi eksekusi kode ora cukup lan uga sampeyan kudu nyedhiyani verifikasi aliran data sing bali.

Nilai-nilai sing digawe ing lingkungan sing terisolasi ditandhani ora bisa dipercaya, diwatesi dening tag sing tercemar, lan mbutuhake verifikasi lan salinan menyang memori aplikasi kanggo "ngresiki".

Tanpa ngresiki, upaya nggunakake data sing tercemar ing konteks sing mbutuhake data reguler (lan uga uga kosok balene) nyebabake generasi kesalahan ing tahap kompilasi.

Argumentasi fungsi cilik, nilai bali, lan struktur dilewati kanthi nyalin ing antarane memori proses lan memori kothak wedhi. Kanggo set data sing akeh, memori dialokasikan ing lingkungan sing terisolasi lan petunjuk "referensi kothak pasir" langsung bali menyang proses utama.

Pangembangan RLBox disebarake kanthi lisensi MIT. RLBox saiki ndhukung Linux lan macOS lan samesthine bakal kompatibel karo Windows mengko.

Yen sampeyan pengin ngerti luwih lengkap babagan teknologi anyar sing direncanakake Mozilla ing Firefox, sampeyan bisa ngrujuk babagan pangembangane uga nyoba API Ing link ing ngisor iki.


Konten artikel kasebut sesuai karo prinsip kita yaiku etika editorial. Kanggo nglaporake klik kesalahan Kene.

Dadi pisanan komentar

Ninggalake komentar sampeyan

Panjenengan alamat email ora bisa diterbitake. Perangkat kothak ditandhani karo *

*

*

  1. Tanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Kontrol SPAM, manajemen komentar.
  3. Legitimasi: idin sampeyan
  4. Komunikasi data: Data kasebut ora bakal dikomunikasikake karo pihak katelu kajaba kanthi kewajiban ukum.
  5. Panyimpenan data: Database sing dianakake dening Occentus Networks (EU)
  6. Hak: Kapan wae sampeyan bisa matesi, mulihake lan mbusak informasi sampeyan.