RLBox, मोज़िला द्वारा इस्तेमाल की जाने वाली नई लाइब्रेरी आइसोलेशन टेक्नोलॉजी

फ़ायरफ़ॉक्स लोगो

स्टैनफोर्ड विश्वविद्यालय के शोधकर्ता, कैलिफोर्निया विश्वविद्यालय सैन डिएगो में y la टेक्सास विश्वविद्यालय ऑस्टिन में उन्होंने विकास किया है उपकरणों का एक सेट जिसे उन्होंने नाम दिया "आरएलबॉक्स", कि इन्सुलेशन के अतिरिक्त स्तर के रूप में उपयोग किया जा सकता है फ़ंक्शन लाइब्रेरीज़ में कमजोरियों को रोकने के लिए।

RLBox का लक्ष्य तृतीय-पक्ष पुस्तकालयों की सुरक्षा समस्या को हल करना है अविश्वसनीय कमजोरियाँ जो डेवलपर्स द्वारा नियंत्रित नहीं हैं, लेकिन मुख्य परियोजना से समझौता कर सकती हैं।

मोज़िला लिनक्स के लिए फ़ायरफ़ॉक्स 74 बिल्ड में आरएलबॉक्स का उपयोग करने की योजना बना रहा है के संकलन फ़ायरफ़ॉक्स 75 पर macOS ग्रेफाइट लाइब्रेरी के निष्पादन को अलग करने के लिए, जो स्रोतों का प्रतिनिधित्व करने के लिए जिम्मेदार है।

उसी समय, RLBox फ़ायरफ़ॉक्स के लिए विशिष्ट नहीं है और इसका उपयोग किसी भी लाइब्रेरी को मनमानी परियोजनाओं में अलग करने के लिए किया जा सकता है।

आरएलबॉक्स के बारे में

संचालन तंत्र RLBox को पृथक लाइब्रेरी के C/C++ कोड को एक मध्यवर्ती WebAssembly कोड में संकलित करने के लिए कम किया गया है निम्न-स्तर, जिसे तब एक WebAssembly मॉड्यूल के रूप में उत्सर्जित किया जाता है, जिसका प्राधिकरण केवल इस मॉड्यूल से जुड़ने के लिए कॉन्फ़िगर किया गया है (उदाहरण के लिए, स्ट्रिंग्स को संसाधित करने के लिए एक लाइब्रेरी नेटवर्क सॉकेट या फ़ाइल नहीं खोल सकती है) C/C++ कोड रूपांतरण WebAssembly wasi का उपयोग करके किया जाता है -एसडीके.

प्रत्यक्ष निष्पादन के लिए, WebAssembly मॉड्यूल को ल्यूसेट कंपाइलर का उपयोग करके मशीन कोड में संकलित किया गया है और एप्लिकेशन की बाकी मेमोरी से अलग "नैनोप्रोसेस" में चलता है। ल्यूसेट कंपाइलर उसी कोड पर आधारित है जो फ़ायरफ़ॉक्स में WebAssembly को चलाने के लिए उपयोग किए जाने वाले क्रेनलिफ्ट JIT इंजन पर आधारित है।

असेंबल किया गया मॉड्यूल एक अलग मेमोरी क्षेत्र में काम करता है और शेष पता स्थान तक उसकी पहुंच नहीं है। लाइब्रेरी में भेद्यता का फायदा उठाने के मामले में, हमलावर सीमित हो जाएगा और मुख्य प्रक्रिया के मेमोरी क्षेत्रों तक पहुंचने या पृथक वातावरण के बाहर नियंत्रण स्थानांतरित करने में सक्षम नहीं होगा।

डेवलपर्स के लिए एक उच्च स्तरीय एपीआई प्रदान की जाती है, जो लाइब्रेरी कार्यों को आइसोलेशन मोड में कॉल करने की अनुमति देती है।

L WebAssembly ड्राइवरों को लगभग किसी अतिरिक्त संसाधन की आवश्यकता नहीं होती है और उनके साथ इंटरेक्शन सामान्य फ़ंक्शंस को कॉल करने की तुलना में बहुत धीमा नहीं है (लाइब्रेरी फ़ंक्शंस को मूल कोड के रूप में निष्पादित किया जाता है, और ओवरहेड केवल तब होता है जब एक अलग वातावरण के साथ इंटरैक्ट करने की प्रक्रिया में डेटा की प्रतिलिपि बनाना और जांचना होता है)।

किसी पृथक लाइब्रेरी में फ़ंक्शंस को सीधे कॉल नहीं किया जा सकता है, और उन तक पहुंचने के लिए आपको परत का उपयोग करना होगा invoke_sandbox_function()।

बदले में, यदि उन्हें लाइब्रेरी से बाहरी फ़ंक्शंस को कॉल करने की आवश्यकता है, तो इन फ़ंक्शंस को रजिस्टर_कॉलबैक विधि का उपयोग करके स्पष्ट रूप से परिभाषित किया जाना चाहिए (डिफ़ॉल्ट रूप से, आरएलबॉक्स मानक लाइब्रेरी फ़ंक्शंस तक पहुंच प्रदान करता है)।

सुरक्षित मेमोरी संचालन सुनिश्चित करने के लिए, कोड निष्पादन का अलगाव पर्याप्त नहीं है और लौटाई गई डेटा स्ट्रीम का सत्यापन प्रदान करने की आवश्यकता है।

एक पृथक वातावरण में उत्पन्न मूल्यों को अविश्वसनीय के रूप में चिह्नित किया जाता है, दागी लेबल द्वारा सीमित किया जाता है, और "क्लीनअप" के लिए सत्यापन और एप्लिकेशन मेमोरी में कॉपी करने की आवश्यकता होती है।

सफाई के बिना, ऐसे संदर्भ में दूषित डेटा का उपयोग करने का प्रयास जिसके लिए नियमित डेटा की आवश्यकता होती है (और इसके विपरीत) संकलन चरण में त्रुटियां उत्पन्न होती हैं।

छोटे फ़ंक्शन तर्क, रिटर्न मान और संरचनाएं प्रक्रिया मेमोरी और सैंडबॉक्स मेमोरी के बीच कॉपी करके पारित की जाती हैं। बड़े डेटा सेट के लिए, मेमोरी को एक अलग वातावरण में आवंटित किया जाता है और एक सीधा "सैंडबॉक्स संदर्भ" पॉइंटर मुख्य प्रक्रिया में वापस कर दिया जाता है।

आरएलबॉक्स विकास एमआईटी लाइसेंस के तहत वितरित किए जाते हैं. RLBox वर्तमान में Linux और macOS को सपोर्ट करता है और इसके बाद में विंडोज़ के साथ संगत होने की उम्मीद है।

यदि आप इस नई तकनीक के बारे में अधिक जानना चाहते हैं जिसे मोज़िला फ़ायरफ़ॉक्स में लागू करने की योजना बना रहा है, तो आप इसके विकास के साथ-साथ एपीआई का परीक्षण भी कर सकते हैं। निम्नलिखित लिंक में


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।