Google ने C / C ++ के लिए सैंडबॉक्स वातावरण बनाने के लिए एक सिस्टम खोला

गूगल

कुछ दिनों पहले Google ने सैंडबॉक्सड एपीआई परियोजना खोलने की घोषणा कीकि आपको C और C ++ में मनमानी पुस्तकालयों के पृथक निष्पादन के लिए सैंडबॉक्स निर्माण प्रक्रिया को स्वचालित करने में सक्षम बनाता है।

पुस्तकालयों से अपने कोड को अलग करना पुस्तकालयों द्वारा प्रदान किए गए हैंडल पर संभावित हमलों से बचाने की अनुमति देता हैअतिरिक्त अवरोध पैदा करने की स्थिति में आपके कोड में भेद्यताएँ होती हैं जिनका उपयोग पुस्तकालय में प्रवेश करने वाले बाहरी डेटा के साथ छेड़छाड़ के माध्यम से किया जा सकता है। कोड Apache 2.0 लाइसेंस के तहत खुला है।

अलगावया इसे सैंडबॉक्स 2 रनटाइम के भीतर उपयोग किया जाता हैजिसमें नाम स्थान, cgroups और seccomp-bpf का उपयोग किया जाता है।

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

प्रक्रियाओं को केवल उन सिस्टम क्षमताओं तक पहुंच प्राप्त होती है जो पृथक कोड निष्पादित करने के लिए सीधे आवश्यक हैं।

सैंडबॉक्स 2 प्रक्रिया को चलाने के लिए घटकों को परिभाषित करता हैया, अलगाव नियम लागू करें और बाद के निष्पादन का समर्थन करें।

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

बढ़ती सुरक्षा के अलावा, अलग-अलग प्रक्रियाओं में कोड के उन्मूलन में एक सकारात्मक बिंदु पुस्तकालय और सीपीयू की मेमोरी खपत पर सीमाओं के एक अलग विनियमन की संभावना है, साथ ही विफलताओं के खिलाफ सुरक्षा: एक विफलता लायब्रेरी क्रैश करने के लिए पूरे अनुप्रयोग का कारण नहीं है।

Sandboxed API के बारे में

Sandboxed API Sandbox2 के लिए एक प्लगइन है जो अलग-अलग मोड में चलने के लिए मौजूदा पुस्तकालयों के परिवहन को सरल बनाता है।

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

Se प्रोटोबफ्स प्रोटोकॉल के आधार पर एक विशेष आरपीसी के माध्यम से पृथक पुस्तकालय तक पहुँचता है।

A लाइब्रेरी डेवलपर्स को कई विकल्पों की पेशकश की जाती है जो चर तक पहुंच की अनुमति देते हैं, फ़ाइल डिस्क्रिप्टर, बफ़र और लाइब्रेरी फ़ंक्शंस बेस एप्लिकेशन से अलग हो जाते हैं, जिसमें सरणियों और संरचनाओं को साझा करने के लिए स्वचालित और नियंत्रित मेमोरी सिंक्रनाइज़ेशन के लिए उपकरण शामिल हैं।

सपी-अवलोकन

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

इसके अलावा, पृथक प्रक्रियाओं के संचालन की निगरानी और विफलताओं के मामले में उन्हें पुनः आरंभ करने के लिए एक एपीआई प्रदान किया जाता है।

पृथक पुस्तकालय के लिए, बुनियादी और पृथक प्रक्रियाओं के बीच बातचीत के लिए Bazel असेंबली सिस्टम और प्रोग्राम इंटरफ़ेस (SAPI) के लिए पृथक कार्यों का एनोटेशन कोड स्वचालित रूप से उत्पन्न होता है।

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

लाइब्रेरी के लिए जिन फ़ाइलों और निर्देशिकाओं की पहुंच होनी चाहिए, वे अलग-अलग निर्धारित की गई हैं।

इंस्टालेशन

वर्तमान में, यह परियोजना केवल लिनक्स के लिए उपलब्ध है, लेकिन भविष्य में वे macOS और BSD सिस्टम के लिए और लंबी अवधि में और विंडोज के लिए समर्थन जोड़ने का वादा करते हैं। हाँ यदि आप दिए गए निर्देशों का पालन कर सकते हैं, तो आप सैंडबॉक्स वाली एपीआई स्थापित करना चाहते हैं इस लिंक में

योजनाओं में से, यह भी नोट किया गया है C और C ++ के अलावा अन्य भाषाओं में पुस्तकालयों को अलग करने की क्षमता अलगाव के लिए अतिरिक्त रनटाइम समर्थन (जैसे हार्डवेयर वर्चुअलाइजेशन पर आधारित) और CMake और अन्य असेंबली सिस्टम का उपयोग करने की क्षमता (समर्थन अब Bazel बिल्ड सिस्टम तक सीमित है)।

Fuente: https://security.googleblog.com


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

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

*

*

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