Mozilla kòmanse aplikasyon teknoloji izòlman bibliyotèk RLBox

Chèchè nan Inivèsite Stanford, University of California nan San Diego ak University of Texas nan Austin devlope zouti RLBox, ki ka itilize kòm yon kouch izolasyon adisyonèl pou bloke frajilite nan bibliyotèk fonksyon. RLBox vize pou rezoud pwoblèm sekirite nan bibliyotèk twazyèm pati ki pa fè konfyans ki pa anba kontwòl devlopè yo, men ki gen frajilite yo ka konpwomèt pwojè prensipal la.

Konpayi Mozilla plan yo itilize RLBox nan Linux builds Firefox 74 ak macOS builds Firefox 75 pou izole ekzekisyon bibliyotèk la. Graphite, responsab pou rann polis yo. Sepandan, RLBox pa espesifik pou Firefox epi yo ka itilize pou izole nenpòt bibliyotèk nan pwojè abitrè. Devlopman yo RLBox gaye anba lisans MIT. RLBox kounye a sipòte platfòm Linux ak macOS, ak sipò Windows espere pita.

Mekanis Travay RLBox a se konpile kòd C/C++ nan yon bibliyotèk izole nan kòd entèmedyè WebAssembly ki ba nivo, ki answit fèt kòm yon modil WebAssembly, otorizasyon yo mete an relasyon sèlman ak modil sa a (pa egzanp, yon bibliyotèk). pou trete strings yo pa pral kapab louvri yon priz rezo oswa dosye) . Konvèti kòd C/C++ nan WebAssembly se fè lè l sèvi avèk wasi-sdk.

Pou egzekisyon dirèk, modil WebAssembly la konpile nan kòd machin lè l sèvi avèk yon du Lucet epi li kouri nan yon "nanoprocess" separe izole nan rès memwa aplikasyon an. Konpilateur Lucet la baze sou menm kòd ak motè JIT la leve teknik, yo itilize nan Firefox pou egzekite WebAssembly.

Modil la reyini opere nan yon zòn memwa separe epi li pa gen aksè a rès espas adrès la. Si yon vilnerabilite nan bibliyotèk la eksplwate, atakè a pral limite epi yo pa pral kapab jwenn aksè nan zòn memwa nan pwosesis prensipal la oswa transfere kontwòl deyò anviwònman an izole.

Mozilla kòmanse aplikasyon teknoloji izòlman bibliyotèk RLBox

Yo bay enfòmasyon wo nivo pou devlopè yo API, ki pèmèt ou rele fonksyon bibliyotèk nan mòd izolasyon. WebAssembly okipe prèske pa gen okenn resous adisyonèl ak entèraksyon ak yo pa pi dousman pase rele fonksyon òdinè (fonksyon bibliyotèk yo egzekite nan fòm lan nan kòd natif natal, ak depans anlè yo rive sèlman lè kopye ak tcheke done pandan entèraksyon ak anviwònman an izole). Fonksyon bibliyotèk izole pa ka rele dirèkteman epi yo dwe jwenn aksè lè l sèvi avèk
kouch invoke_sandbox_function ().

Nan vire, si li nesesè pou rele fonksyon ekstèn nan bibliyotèk la, fonksyon sa yo dwe klèman defini lè l sèvi avèk metòd register_callback (pa default, RLBox bay aksè nan fonksyon yo). bibliyotèk estanda). Pou asire sekirite memwa, izolasyon ekzekisyon kòd pa ase epi li mande tou tcheke kouran done yo retounen.

Valè ki te pwodwi nan yon anviwonman izole yo make kòm moun ki pa fè konfyans ak limite lè l sèvi avèk yo mak tache ak pou "netwaye" yo mande verifikasyon epi kopye nan memwa aplikasyon an.
San netwayaj, eseye sèvi ak done tache nan yon kontèks ki mande done regilye (ak vis vèrsa) rezilta nan erè yo te pwodwi nan tan konpile. Ti agiman fonksyon, valè retounen, ak estrikti yo pase nan kopi ant memwa pwosesis ak memwa sandbox. Pou seri done gwo, yo resevwa memwa nan yon anviwònman izole epi yo retounen yon pwent dirèk sandbox-referans nan pwosesis prensipal la.

Sous: opennet.ru

Add nouvo kòmantè