Mozilla Bẹrẹ imuse ti Imọ-ẹrọ Iyasọtọ Ile-ikawe RLBox

Awọn oniwadi lati Stanford University, University of California ni San Diego ati University of Texas ni Austin ni idagbasoke irinṣẹ RLBox, eyi ti o le ṣee lo bi afikun ipinya Layer lati dènà awọn ailagbara ni awọn ile-ikawe iṣẹ. RLBox ni ifọkansi lati yanju iṣoro aabo ti awọn ile-ikawe ẹnikẹta ti ko ni igbẹkẹle ti ko si labẹ iṣakoso ti awọn olupilẹṣẹ, ṣugbọn awọn ailagbara wọn le ba iṣẹ akanṣe akọkọ jẹ.

Ile-iṣẹ Mozilla awọn eto lo RLBox ni Linux kọ Firefox 74 ati macOS kọ Firefox 75 lati ya sọtọ ipaniyan ile-ikawe Aworan, lodidi fun Rendering nkọwe. Sibẹsibẹ, RLBox kii ṣe pato si Firefox ati pe o le ṣee lo lati ya sọtọ eyikeyi awọn ile-ikawe ni awọn iṣẹ akanṣe lainidii. Awọn idagbasoke RLBox tànkálẹ labẹ MIT iwe-ašẹ. RLBox ṣe atilẹyin lọwọlọwọ Lainos ati awọn iru ẹrọ macOS, pẹlu atilẹyin Windows ti o nireti nigbamii.

Ilana Iṣẹ RLBox wa silẹ lati ṣajọ koodu C/C ++ ti ile-ikawe ti o ya sọtọ sinu koodu agbedemeji WebAssembly ipele kekere, eyiti a ṣe apẹrẹ bi module WebAssembly, awọn igbanilaaye eyiti a ṣeto ni ibatan si module yii nikan (fun apẹẹrẹ, ile-ikawe kan. fun awọn okun sisẹ kii yoo ni anfani lati ṣii iho nẹtiwọki tabi faili) . Yiyipada koodu C / C ++ si WebAssembly jẹ lilo ohun-sdk.

Fun ipaniyan taara, module WebAssembly ti wa ni akopọ sinu koodu ẹrọ nipa lilo olupilẹṣẹ kan Lucet ati ki o nṣiṣẹ ni lọtọ "nanoprocess" ti o ya sọtọ lati awọn iyokù ti awọn ohun elo ká iranti. Olupilẹṣẹ Lucet da lori koodu kanna bi ẹrọ JIT Kireni gbe soke, ti a lo ni Firefox lati ṣiṣẹ WebAssembly.

Module ti o pejọ n ṣiṣẹ ni agbegbe iranti lọtọ ati pe ko ni iwọle si iyoku aaye adirẹsi naa. Ti ailagbara kan ninu ile-ikawe ba jẹ ilokulo, ikọlu yoo ni opin ati pe kii yoo ni anfani lati wọle si awọn agbegbe iranti ti ilana akọkọ tabi iṣakoso gbigbe ni ita agbegbe ti o ya sọtọ.

Mozilla Bẹrẹ imuse ti Imọ-ẹrọ Iyasọtọ Ile-ikawe RLBox

Alaye ipele-giga ti pese fun awọn olupilẹṣẹ API, eyiti o fun ọ laaye lati pe awọn iṣẹ ile-ikawe ni ipo ipinya. Awọn olutọju WebAssembly nilo fere ko si awọn orisun afikun ati ibaraenisepo pẹlu wọn ko lọra pupọ ju pipe awọn iṣẹ lasan lọ (awọn iṣẹ ile-ikawe ni a ṣe ni irisi koodu abinibi, ati awọn idiyele ti o ga julọ dide nikan nigbati didakọ ati ṣayẹwo data lakoko ibaraenisepo pẹlu agbegbe ti o ya sọtọ). Awọn iṣẹ ile-ikawe ti o ya sọtọ ko le pe taara ati pe o gbọdọ wọle si ni lilo
Layer invoke_sandbox_function ().

Ni ọna, ti o ba jẹ dandan lati pe awọn iṣẹ ita lati ile-ikawe, awọn iṣẹ wọnyi gbọdọ wa ni asọye ni gbangba nipa lilo ọna register_callback (nipasẹ aiyipada, RLBox n pese iraye si awọn iṣẹ boṣewa ìkàwé). Lati rii daju aabo iranti, ipinya ipaniyan koodu ko to ati nilo tun ṣayẹwo awọn ṣiṣan data ti o pada.

Awọn iye ti ipilẹṣẹ ni agbegbe ti o ya sọtọ jẹ samisi bi aiṣe igbẹkẹle ati lilo opin awọn ami ti o bajẹ ati fun "ninu" wọn nilo ijerisi ati didakọ si iranti ohun elo.
Laisi isọdi, igbiyanju lati lo data ti o bajẹ ni ipo ti o nilo data deede (ati ni idakeji) awọn abajade ni awọn aṣiṣe ni ipilẹṣẹ ni akoko akopọ. Awọn ariyanjiyan iṣẹ kekere, awọn iye ipadabọ, ati awọn ẹya ti kọja nipasẹ didakọ laarin iranti ilana ati iranti apoti iyanrin. Fun awọn eto data nla, iranti ti pin ni agbegbe ti o ya sọtọ ati itọka itọkasi apoti iyanrin taara ti pada si ilana akọkọ.

orisun: opennet.ru

Fi ọrọìwòye kun