CHERIoT, C में सुरक्षा में सुधार के लिए Microsoft की एक परियोजना है

चेरियट

CHERIoT, एम्बेडेड सिस्टम के लिए सुरक्षा के लिए एक MS विकल्प

खबर ने हाल ही में तोड़ दिया Microsoft ने CHERIoT परियोजना से संबंधित विकासों को खोल दिया है (इंटरनेट ऑफ थिंग्स के लिए आरआईएससी-वी के लिए क्षमता हार्डवेयर विस्तार), सी और सी ++ कोड में सुरक्षा मुद्दों को अवरुद्ध करने का इरादा है मौजूदा। CHERIoT मौजूदा C/C++ कोड बेस को रिफैक्टर किए बिना सुरक्षित करने के लिए एक समाधान प्रदान करता है।

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

चेरियट के बारे में

अल proyecto सी भाषा की निम्न-स्तरीय प्रकृति को समझने के साथ बनाया गया था स्मृति त्रुटियों का स्रोत बन जाता है, जिससे बफर ओवरफ्लो जैसी समस्याएं होती हैं, स्मृति तक पहुंच पहले ही मुक्त हो चुकी है, पॉइंटर डीरेफरेंसिंग या डबल फ्रीिंग।

अभ्यास से पता चलता है कि Google और Microsoft जैसे बड़े निगम भी, जिनकी सख्त समीक्षा नीति है और आधुनिक विकास विधियों और स्थिर विश्लेषण उपकरणों का उपयोग करते हैं, स्मृति के साथ त्रुटि मुक्त काम करने की गारंटी नहीं दे सकते (उदाहरण के लिए, Microsoft और Google में लगभग 70% कमजोरियाँ असुरक्षित स्मृति प्रबंधन के कारण होते हैं)।

समस्या सुरक्षित कार्य की गारंटी देने वाली प्रोग्रामिंग भाषाओं का उपयोग करके इसे हल किया जा सकता है।या मेमोरी या अतिरिक्त नियंत्रण वाले लिंक के साथ, उदाहरण के लिए, सामान्य पॉइंटर्स के बजाय मिरेकलपट्र (raw_ptr) का उपयोग करके, जो मुक्त मेमोरी क्षेत्रों तक पहुंचने के लिए अतिरिक्त नियंत्रण करता है।

लेकिन ऐसे तरीके नए कोड के लिए अधिक उपयुक्त हैं y मौजूदा सी/सी ++ परियोजनाओं को फिर से काम करना काफी परेशानी भरा है, विशेष रूप से यदि वे संसाधन-विवश वातावरण में चलने का इरादा रखते हैं, जैसे कि एम्बेडेड सिस्टम और IoT डिवाइस।

L CHERIoT हार्डवेयर घटकों को एक माइक्रोकंट्रोलर के रूप में डिज़ाइन किया गया है RISC-V आर्किटेक्चर पर आधारित, सुरक्षित प्रोसेसर आर्किटेक्चर CHERI (RISC-V के लिए कैपेसिटी हार्डवेयर एक्सटेंशन) को लागू करते हुए, एक नियंत्रित मेमोरी एक्सेस मॉडल प्रदान करता है।

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

यह प्रोग्रामेटिक सुरक्षा मॉडल सीधे C/C++ भाषा मॉडल को प्रतिबिंबित करता है, जिससे इसे मौजूदा अनुप्रयोगों की सुरक्षा के लिए उपयोग करने की अनुमति मिलती है (केवल ISA CHERIoT- संगत हार्डवेयर पर पुन: संकलन और चलाना आवश्यक है)।

प्रस्तावित समाधान उन त्रुटियों को ब्लॉक करने की अनुमति देता है जो स्मृति में किसी वस्तु की सीमा से बाहर होती हैं, पॉइंटर प्रतिस्थापन की अनुमति नहीं देता है (सभी पॉइंटर्स मौजूदा पॉइंटर्स से उत्पन्न होने चाहिए), मुक्त होने के बाद मेमोरी एक्सेस की निगरानी करता है (खराब पॉइंटर द्वारा कोई मेमोरी एक्सेस या फ्रीड ऑब्जेक्ट को संदर्भित करने वाला पॉइंटर अपवाद उठाता है)।

उदाहरण के लिए, CHERIoT का उपयोग करने से, कोई कोड परिवर्तन किए बिना, स्वत: सीमा जाँच लागू करने, स्मृति क्षेत्रों के जीवनकाल को ट्रैक करने और अविश्वसनीय डेटा को संसाधित करने वाले घटकों में पॉइंटर्स की अखंडता सुनिश्चित करने की अनुमति मिलती है।

अल proyecto CHERIoT निर्देश सेट आर्किटेक्चर के लिए एक विनिर्देश शामिल है एक्सटेंशन, ISA CHERIoT-अनुरूप 32-बिट RISC-V CPU का एक संदर्भ कार्यान्वयन और एक संशोधित LLVM टूलसेट।

अंत में यदि आप इसके बारे में अधिक जानने में रुचि रखते हैं, आपको पता होना चाहिए कि प्रोटोटाइप आरेख Verilog में CPU और हार्डवेयर ब्लॉक विवरण Apache 2.0 लाइसेंस के तहत वितरित किए गए हैं। LowRISC प्रोजेक्ट के Ibex कोर का उपयोग CPU के लिए आधार के रूप में किया जाता है और CHERIoT ISA कोड मॉडल को सेल भाषा में परिभाषित किया जाता है और BSD लाइसेंस के तहत वितरित किया जाता है।

इसके अतिरिक्त, एक प्रोटोटाइप CHERIoT RTOS रीयल-टाइम ऑपरेटिंग सिस्टम प्रस्तावित है, जो 256 एमबी रैम के साथ एम्बेडेड सिस्टम पर भी कम्पार्टमेंट (कम्पार्टमेंट) को अलग करने की क्षमता प्रदान करता है।

कोड चेरियट आरटीओएस यह C++ में लिखा गया है और MIT लाइसेंस के तहत वितरित किया गया है। डिब्बों के रूप में, ऑपरेटिंग सिस्टम के मूल घटक, जैसे कि बूट लोडर, अनुसूचक, और स्मृति आवंटन प्रणाली, डिज़ाइन किए गए हैं।


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

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

*

*

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