మొజిల్లా RLBox లైబ్రరీ ఐసోలేషన్ టెక్నాలజీని అమలు చేయడం ప్రారంభించింది

స్టాన్‌ఫోర్డ్ విశ్వవిద్యాలయం, శాన్ డియాగోలోని కాలిఫోర్నియా విశ్వవిద్యాలయం మరియు ఆస్టిన్‌లోని టెక్సాస్ విశ్వవిద్యాలయం పరిశోధకులు అభివృద్ధి చేశారు ఉపకరణాలు ఆర్‌ఎల్‌బాక్స్, ఫంక్షన్ లైబ్రరీలలో హానిని నిరోధించడానికి అదనపు ఐసోలేషన్ లేయర్‌గా ఉపయోగించవచ్చు. RLBox డెవలపర్‌ల నియంత్రణలో లేని అవిశ్వసనీయ థర్డ్-పార్టీ లైబ్రరీల యొక్క భద్రతా సమస్యను పరిష్కరించే లక్ష్యంతో ఉంది, అయితే దీని దుర్బలత్వం ప్రధాన ప్రాజెక్ట్‌ను రాజీ చేస్తుంది.

మొజిల్లా కంపెనీ ప్రణాళికలు లైబ్రరీ ఎగ్జిక్యూషన్‌ను వేరుచేయడానికి Firefox 74 యొక్క Linux బిల్డ్‌లలో RLBox మరియు Firefox 75 యొక్క macOS బిల్డ్‌లను ఉపయోగించండి గ్రాఫైట్, ఫాంట్‌లను రెండరింగ్ చేయడానికి బాధ్యత వహిస్తుంది. అయినప్పటికీ, RLBox అనేది Firefoxకి ప్రత్యేకమైనది కాదు మరియు ఏ లైబ్రరీలను ఏకపక్ష ప్రాజెక్ట్‌లలో వేరుచేయడానికి ఉపయోగించవచ్చు. అభివృద్ధి ఆర్‌ఎల్‌బాక్స్ వ్యాప్తి MIT లైసెన్స్ కింద. RLBox ప్రస్తుతం Linux మరియు macOS ప్లాట్‌ఫారమ్‌లకు మద్దతు ఇస్తుంది, Windows మద్దతు తర్వాత ఆశించబడుతుంది.

విధానం RLBox యొక్క పని ఒక వివిక్త లైబ్రరీ యొక్క C/C++ కోడ్‌ను తక్కువ-స్థాయి ఇంటర్మీడియట్ WebAssembly కోడ్‌గా కంపైల్ చేయడంలో ఉంది, ఇది WebAssembly మాడ్యూల్‌గా రూపొందించబడింది, దీని అనుమతులు ఈ మాడ్యూల్‌కు సంబంధించి మాత్రమే సెట్ చేయబడతాయి (ఉదాహరణకు, ఒక లైబ్రరీ స్ట్రింగ్‌లను ప్రాసెస్ చేయడం కోసం నెట్‌వర్క్ సాకెట్ లేదా ఫైల్‌ను తెరవడం సాధ్యం కాదు) . C/C++ కోడ్‌ని WebAssemblyకి మార్చడం ఉపయోగించి చేయబడుతుంది వాసి-sdk.

డైరెక్ట్ ఎగ్జిక్యూషన్ కోసం, వెబ్‌అసెంబ్లీ మాడ్యూల్ కంపైలర్‌ని ఉపయోగించి మెషిన్ కోడ్‌గా కంపైల్ చేయబడింది లూసెట్ మరియు అప్లికేషన్ యొక్క మిగిలిన మెమరీ నుండి వేరుచేయబడిన ప్రత్యేక "నానోప్రాసెస్"లో నడుస్తుంది. లూసెట్ కంపైలర్ JIT ఇంజిన్ వలె అదే కోడ్‌పై ఆధారపడి ఉంటుంది క్రేన్లిఫ్ట్, WebAssemblyని అమలు చేయడానికి Firefoxలో ఉపయోగించబడుతుంది.

అసెంబుల్డ్ మాడ్యూల్ ప్రత్యేక మెమరీ ప్రాంతంలో పనిచేస్తుంది మరియు మిగిలిన చిరునామా స్థలానికి యాక్సెస్ లేదు. లైబ్రరీలోని దుర్బలత్వం ఉపయోగించబడితే, దాడి చేసే వ్యక్తి పరిమితం చేయబడతాడు మరియు ప్రధాన ప్రక్రియ యొక్క మెమరీ ప్రాంతాలను యాక్సెస్ చేయలేరు లేదా వివిక్త వాతావరణం వెలుపల నియంత్రణను బదిలీ చేయలేరు.

మొజిల్లా RLBox లైబ్రరీ ఐసోలేషన్ టెక్నాలజీని అమలు చేయడం ప్రారంభించింది

డెవలపర్‌ల కోసం ఉన్నత స్థాయి సమాచారం అందించబడింది API, ఇది లైబ్రరీ ఫంక్షన్‌లను ఐసోలేషన్ మోడ్‌లో కాల్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. WebAssembly హ్యాండ్లర్‌లకు దాదాపు అదనపు వనరులు అవసరం లేదు మరియు వారితో పరస్పర చర్య సాధారణ ఫంక్షన్‌లకు కాల్ చేయడం కంటే చాలా నెమ్మదిగా ఉండదు (లైబ్రరీ ఫంక్షన్‌లు స్థానిక కోడ్ రూపంలో అమలు చేయబడతాయి మరియు వివిక్త వాతావరణంతో పరస్పర చర్య సమయంలో డేటాను కాపీ చేయడం మరియు తనిఖీ చేయడం ద్వారా మాత్రమే ఓవర్‌హెడ్ ఖర్చులు తలెత్తుతాయి). వివిక్త లైబ్రరీ ఫంక్షన్‌లు నేరుగా కాల్ చేయబడవు మరియు వాటిని ఉపయోగించి యాక్సెస్ చేయాలి
లేయర్ invoke_sandbox_function().

ప్రతిగా, లైబ్రరీ నుండి బాహ్య ఫంక్షన్‌లకు కాల్ చేయవలసి వస్తే, ఈ విధులు తప్పనిసరిగా register_callback పద్ధతిని ఉపయోగించి స్పష్టంగా నిర్వచించబడాలి (డిఫాల్ట్‌గా, RLBox ఫంక్షన్‌లకు ప్రాప్యతను అందిస్తుంది. ప్రామాణిక లైబ్రరీ) మెమరీ భద్రతను నిర్ధారించడానికి, కోడ్ ఎగ్జిక్యూషన్ ఐసోలేషన్ సరిపోదు మరియు తిరిగి వచ్చిన డేటా స్ట్రీమ్‌లను కూడా తనిఖీ చేయడం అవసరం.

వివిక్త వాతావరణంలో ఉత్పత్తి చేయబడిన విలువలు నమ్మదగనివిగా మరియు పరిమిత వినియోగంగా గుర్తించబడతాయి కళంకిత మార్కులు మరియు "క్లీనింగ్" కోసం వారు అవసరం ధృవీకరణ మరియు అప్లికేషన్ మెమరీకి కాపీ చేయడం.
క్లీనప్ లేకుండా, సాధారణ డేటా (మరియు వైస్ వెర్సా) అవసరమయ్యే సందర్భంలో కలుషిత డేటాను ఉపయోగించడానికి ప్రయత్నించడం వల్ల కంపైల్ సమయంలో లోపాలు ఏర్పడతాయి. చిన్న ఫంక్షన్ ఆర్గ్యుమెంట్‌లు, రిటర్న్ విలువలు మరియు నిర్మాణాలు ప్రాసెస్ మెమరీ మరియు శాండ్‌బాక్స్ మెమరీ మధ్య కాపీ చేయడం ద్వారా పంపబడతాయి. పెద్ద డేటా సెట్‌ల కోసం, మెమరీ ఒక వివిక్త వాతావరణంలో కేటాయించబడుతుంది మరియు ప్రత్యక్ష శాండ్‌బాక్స్-రిఫరెన్స్ పాయింటర్ ప్రధాన ప్రక్రియకు తిరిగి ఇవ్వబడుతుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి