స్టాన్ఫోర్డ్ విశ్వవిద్యాలయ పరిశోధకులు, కాలిఫోర్నియా విశ్వవిద్యాలయం శాన్ డిగోలో y la టెక్సాస్ విశ్వవిద్యాలయం ఆస్టిన్లో అవి అభివృద్ధి చెందాయి వారు పేరు పెట్టిన సాధనాల సమితి "RLBox", ఆ ఇన్సులేషన్ యొక్క అదనపు స్థాయిగా ఉపయోగించవచ్చు ఫంక్షన్ లైబ్రరీలలోని హానిని నిరోధించడానికి.
మూడవ పార్టీ లైబ్రరీల భద్రతా సమస్యను పరిష్కరించడం ఆర్ఎల్బాక్స్ లక్ష్యం డెవలపర్లచే నియంత్రించబడని అవిశ్వాసం, కానీ ప్రధాన ప్రాజెక్ట్ రాజీపడే ప్రమాదాలు.
లైనక్స్ కోసం ఫైర్ఫాక్స్ 74 బిల్డ్స్లో ఆర్ఎల్బాక్స్ను ఉపయోగించాలని మొజిల్లా యోచిస్తోంది యొక్క సంకలనాలు ఫైర్ఫాక్స్ 75 లోని మాకోస్ గ్రాఫైట్ లైబ్రరీ అమలును వేరుచేయడానికి, ఇది మూలాలను సూచించే బాధ్యత.
అదే సమయంలో, RLBox ఫైర్ఫాక్స్ ప్రత్యేకమైనది కాదు మరియు ఏకపక్ష ప్రాజెక్టులలో ఏదైనా లైబ్రరీని వేరుచేయడానికి ఉపయోగించవచ్చు.
RLBox గురించి
ఆపరేటింగ్ మెకానిజం వివిక్త లైబ్రరీ నుండి సి / సి ++ కోడ్ను ఇంటర్మీడియట్ వెబ్అసెల్ కోడ్లోకి కంపైల్ చేయడానికి RLBox ఉడకబెట్టింది తక్కువ-స్థాయి, ఇది వెబ్అసెల్ మాడ్యూల్గా జారీ చేయబడుతుంది, దీని అధికారం ఈ మాడ్యూల్కు మాత్రమే కట్టుబడి ఉంటుంది (ఉదాహరణకు, తీగలను ప్రాసెస్ చేయడానికి లైబ్రరీ నెట్వర్క్ సాకెట్ లేదా ఫైల్ను తెరవదు) సి / సి ++ కోడ్ మార్పిడి వెబ్అసెల్ wasi-sdk ఉపయోగించి పూర్తయింది.
ప్రత్యక్ష అమలు కోసం, వెబ్అసెల్ మాడ్యూల్ లూసెట్ కంపైలర్ ఉపయోగించి మెషిన్ కోడ్లోకి కంపైల్ చేయబడింది మరియు ఇది అప్లికేషన్ యొక్క మిగిలిన మెమరీ నుండి వేరుగా ఉన్న "నానోప్రాసెస్" లో నడుస్తుంది. లూసెట్ కంపైలర్ వెబ్అసెల్బ్ను అమలు చేయడానికి ఫైర్ఫాక్స్లో ఉపయోగించిన క్రేన్లిఫ్ట్ JIT ఇంజిన్ అదే కోడ్పై ఆధారపడి ఉంటుంది.
సమావేశమైన మాడ్యూల్ ప్రత్యేక మెమరీ ప్రాంతంలో పనిచేస్తుంది మరియు మిగిలిన చిరునామా స్థలానికి దీనికి ప్రాప్యత లేదు. లైబ్రరీలోని దుర్బలత్వాన్ని ఉపయోగించుకునే సందర్భంలో, దాడి చేసేవారు పరిమితం చేయబడతారు మరియు శాండ్బాక్స్ వెలుపల ప్రధాన ప్రక్రియ యొక్క మెమరీ ప్రాంతాలను యాక్సెస్ చేయలేరు లేదా నియంత్రణ నియంత్రణను పొందలేరు.
డెవలపర్ల కోసం ఉన్నత-స్థాయి API అందించబడుతుంది, ఇది లైబ్రరీ ఫంక్షన్లను ఐసోలేషన్ మోడ్లో కాల్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
ది వెబ్అసెల్ కంట్రోలర్లకు దాదాపు అదనపు వనరులు అవసరం లేదు మరియు వారితో సంభాషించడం సాధారణ ఫంక్షన్లను పిలవడం కంటే చాలా నెమ్మదిగా ఉండదు (లైబ్రరీ ఫంక్షన్లు స్థానిక కోడ్ రూపంలో అమలు చేయబడతాయి మరియు శాండ్బాక్స్తో సంభాషించే ప్రక్రియలో డేటాను కాపీ చేసి తనిఖీ చేసేటప్పుడు మాత్రమే ఓవర్లోడ్ జరుగుతుంది).
వివిక్త లైబ్రరీ యొక్క విధులను నేరుగా ప్రారంభించలేము మరియు వాటిని యాక్సెస్ చేయడానికి, మీరు పొరను ఉపయోగించాలి ఇన్వాయిక్_స్యాండ్బాక్స్_ఫంక్షన్ ().
క్రమంగా, వారు లైబ్రరీ నుండి బాహ్య ఫంక్షన్లను పిలవవలసి వస్తే, ఈ ఫంక్షన్లను రిజిస్టర్_కాల్బ్యాక్ పద్ధతిని ఉపయోగించి స్పష్టంగా నిర్వచించాలి (అప్రమేయంగా, RLBox ప్రామాణిక లైబ్రరీ ఫంక్షన్లకు ప్రాప్యతను అందిస్తుంది).
సురక్షిత మెమరీ ఆపరేషన్ను నిర్ధారించడానికి, కోడ్ అమలును వేరుచేయడం సరిపోదు మరియు కూడా మీరు తిరిగి వచ్చిన డేటా స్ట్రీమ్ల ధృవీకరణను అందించాలి.
వివిక్త వాతావరణంలో ఉత్పత్తి చేయబడిన విలువలు నమ్మదగనివిగా గుర్తించబడతాయి, కళంకమైన ట్యాగ్ల ద్వారా పరిమితం చేయబడతాయి మరియు "క్లీనప్" కోసం ధృవీకరణ మరియు అప్లికేషన్ మెమరీకి కాపీ అవసరం.
శుభ్రపరచకుండా, రెగ్యులర్ డేటా అవసరమయ్యే సందర్భంలో కలుషితమైన డేటాను ఉపయోగించే ప్రయత్నం (మరియు దీనికి విరుద్ధంగా) సంకలన దశలో లోపాల ఉత్పత్తికి దారితీస్తుంది.
ప్రాసెస్ మెమరీ మరియు శాండ్బాక్స్ మెమరీ మధ్య కాపీ చేయడం ద్వారా చిన్న ఫంక్షన్ వాదనలు, రిటర్న్ విలువలు మరియు నిర్మాణాలు పంపబడతాయి. పెద్ద డేటా సెట్ల కోసం, వివిక్త వాతావరణంలో మెమరీ కేటాయించబడుతుంది మరియు ప్రత్యక్ష "శాండ్బాక్స్ రిఫరెన్స్" పాయింటర్ ప్రధాన ప్రక్రియకు తిరిగి వస్తుంది.
ఆర్ఎల్బాక్స్ పరిణామాలు ఎంఐటి లైసెన్స్ క్రింద పంపిణీ చేయబడతాయి. RLBox ప్రస్తుతం Linux మరియు macOS లకు మద్దతు ఇస్తుంది మరియు తరువాత విండోస్తో అనుకూలంగా ఉంటుందని భావిస్తున్నారు.
ఫైర్ఫాక్స్లో మొజిల్లా అమలు చేయాలని యోచిస్తున్న ఈ కొత్త టెక్నాలజీ గురించి మీరు మరింత తెలుసుకోవాలనుకుంటే, మీరు దాని అభివృద్ధిని సంప్రదించి, API ని పరీక్షించవచ్చు కింది లింక్లో.
వ్యాఖ్యానించిన మొదటి వ్యక్తి అవ్వండి