एक अनुमतियाँ प्रणाली मॉडलिंग


82

आप एक ऐसी प्रणाली कैसे बनाएंगे जो किसी एप्लिकेशन के अंदर कुछ कार्यों को करने के लिए अनुमतियों को संभालती है?

जवाबों:


156

सुरक्षा मॉडल अनुसंधान का एक बड़ा (और खुला) क्षेत्र है। सरल से लेकर, चुनने के लिए बहुत सारे मॉडल उपलब्ध हैं:

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

  • एक्सेस कंट्रोल लिस्ट , लैम्पसन की मैट्रिक्स का एक सरलीकरण है: इसे विरल-मैट्रिक्स कार्यान्वयन के समान कुछ माना जाता है, जो ऑब्जेक्ट्स और प्रिंसिपलों और अनुमत कार्यों को सूचीबद्ध करता है, और लैम्पसन मैट्रिक्स से सभी "शून्य" प्रविष्टियों को एनकोड नहीं करता है। अभिगम नियंत्रण सूचियों में एक सुविधा के रूप में 'समूह' शामिल हो सकते हैं, और सूचियों को ऑब्जेक्ट के माध्यम से या प्रिंसिपल (कभी-कभी, प्रोग्राम के माध्यम से, AppArmor या TOMOYO या LIDS में ) के रूप में संग्रहीत किया जा सकता है ।

  • क्षमता प्रणालियाँ वस्तुओं के संदर्भ या सूचक होने के विचार पर आधारित होती हैं; एक प्रक्रिया में क्षमताओं के एक प्रारंभिक सेट तक पहुंच होती है, और सिस्टम पर अन्य वस्तुओं से उन्हें प्राप्त करके केवल अधिक क्षमताएं प्राप्त कर सकते हैं। यह बहुत दूर की आवाज़ लगती है, लेकिन यूनिक्स फाइल डिस्क्रिप्टर के बारे में सोचें: वे एक विशिष्ट ओपन फाइल के लिए एक अक्षम्य संदर्भ हैं, और फाइल डिस्क्रिप्टर को अन्य प्रक्रियाओं को सौंपा जा सकता है या नहीं। यदि आप डिस्क्रिप्टर को किसी अन्य प्रक्रिया में देते हैं, तो उस फ़ाइल तक पहुंच होगी। इस विचार के आसपास संपूर्ण ऑपरेटिंग सिस्टम लिखे गए थे। (सबसे प्रसिद्ध शायद KeyKOS और EROS हैं, लेकिन मुझे यकीन है कि यह एक बहस का मुद्दा है। :)

... अधिक जटिल के लिए, जिनके पास सुरक्षा लेबल ऑब्जेक्ट्स और प्रिंसिपलों को सौंपा गया है:

  • सुरक्षा के छल्ले , जैसे कि मल्टिक्स और x86 सीपीयू में कार्यान्वित किया जाता है, दूसरों के बीच, और प्रक्रियाओं को छल्ले के बीच संक्रमण करने की अनुमति देने के लिए सुरक्षा जाल या गेट प्रदान करते हैं; प्रत्येक रिंग में विशेषाधिकारों और वस्तुओं का एक अलग सेट होता है।

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

  • बेल-लाडुपुला डेनिंग के जाली के समान है, और नियमों को गलत स्तर तक शीर्ष गुप्त डेटा को लीक करने से रोकने के लिए नियम प्रदान करता है और सामान्य एक्सटेंशन सैन्य-शैली को बेहतर ढंग से समर्थन प्रदान करने के लिए आगे के डिब्बेकरण और वर्गीकरण प्रदान करते हैं।

  • Biba मॉडल 'अपने सिर पर बदल गया' बेल-LaPadula के समान है, लेकिन - बेल-LaPadula गोपनीयता पर ध्यान केंद्रित है, लेकिन अखंडता के लिए कुछ नहीं करता है, और Biba अखंडता पर ध्यान केंद्रित है, लेकिन गोपनीयता के लिए कुछ नहीं करता है। (बेल-लापैडुला किसी को सभी जासूसों की सूची को पढ़ने से रोकता है, लेकिन खुशी से किसी को भी इसमें कुछ भी लिखने की अनुमति देगा। बिबा खुशी से किसी को भी सभी जासूसों की सूची पढ़ने की अनुमति देगा, लेकिन लगभग सभी को इसमें लिखने के लिए मना किया।

  • टाइप एनफोर्समेंट (और इसका सिबलिंग, डोमेन टाइप एनफोर्समेंट) प्रिंसिपल और ऑब्जेक्ट पर लेबल प्रदान करता है, और अनुमत ऑब्जेक्ट-वर्ब-सब्जेक्ट (क्लास) टेबल को निर्दिष्ट करता है। यह परिचित SELinux और SMACK है।

.. और फिर कुछ ऐसे हैं जो समय बीतने को शामिल करते हैं:

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

  • LOMAC और उच्च-वॉटरमार्क दो गतिशील दृष्टिकोण हैं: LOMAC प्रक्रियाओं के विशेषाधिकारों को संशोधित करता है क्योंकि वे डेटा के उत्तरोत्तर-उच्च स्तर तक पहुंचते हैं, और निम्न स्तर पर लिखने से मना करते हैं (प्रक्रियाएं "शीर्ष सुरक्षा की ओर पलायन करती हैं"), और उच्च-वाट लेबल पर संशोधन करती हैं डेटा उच्च स्तर की प्रक्रियाओं तक पहुँचता है (डेटा "शीर्ष सुरक्षा" की ओर पलायन करता है)।

  • क्लार्क-विल्सन मॉडल बहुत खुले-अंत वाले हैं; उनमें यह सुनिश्चित करने के लिए कि प्रत्येक राज्य संक्रमण हमलावरों का उल्लंघन नहीं करता है, आक्रमणकारी और नियम शामिल हैं। (यह दोहरे प्रविष्टि लेखांकन या HIPPA के रूप में जटिल के रूप में सरल हो सकता है ।) डेटाबेस लेनदेन और बाधाओं पर विचार करें।

मैट बिशप की "कंप्यूटर सुरक्षा: कला और विज्ञान" निश्चित रूप से पढ़ने लायक है यदि आप प्रकाशित मॉडल पर अधिक गहराई चाहते हैं।


7
बहुत बढ़िया जवाब। दिलचस्प पढ़ा। मैं सोच रहा हूं कि यह सामान्य रूप से सरल कहां है, लेकिन यह असामान्य नहीं है, सिस्टम आपकी सूची में फिट बैठता है: "डिफ़ॉल्ट रूप से, मेहमानों का स्तर 0 है, पंजीकृत उपयोगकर्ताओं का स्तर 5 है, sys के व्यवस्थापक का स्तर 9 है। प्रत्येक क्रिया का एक स्तर इसके साथ जुड़ा हुआ है, और केवल उस स्तर या उससे अधिक किसी के द्वारा किया जा सकता है। "
अजीब

1
@ प्रत्यक्ष, यह सरल मॉडल कई में हो सकता है :) लेकिन सबसे सरल 'मैच' रिंग मॉडल है। जैसा कि x86 में लागू किया गया है, आपके उदाहरण में, चार स्तर हैं, और प्रत्येक ऐसे ऑपरेशन जोड़ता है जो केवल उस स्तर के कोड या उच्चतर द्वारा किया जा सकता है। (आप उन्हें क्या नाम देते हैं, यह एक ओर्थोगोनल मुद्दा है।) मैं आसानी से एसीएल, क्षमता, जाली, बीएलपी, और इस उदाहरण के टीई कार्यान्वयनों की कल्पना कर सकता हूं। मुझे आश्चर्य नहीं होगा यदि अन्य इस मॉडल को भी लागू कर सकते हैं; लेकिन सादगी एक अच्छा गुण है। :)
सर्प जूल 5'10

@ धन्यवाद, धन्यवाद! मेरी स्पेलिंग अत्याचार से परे है, कैच के लिए धन्यवाद।
5


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.