2008-12-17 7 views
17

कोई व्यक्ति कृपया समझा सकता है? मुझे इंटरनेट पर कुछ भी नहीं मिला, सब कुछ इस बारे में बात करता है कि इसके बारे में कैसे जाना है, लेकिन कुछ भी नहीं कहता कि यह वास्तव में क्या है।.NET में आंशिक रूप से भरोसेमंद असेंबली/एप्लिकेशन/कोड/आदि क्या है?

इसके अलावा, पूरी तरह से भरोसेमंद असेंबली क्या है और वे एक-दूसरे से अलग कैसे होते हैं?

मेरे पास एक एमएस प्रमाणन परीक्षा है और यह एकमात्र विषय है जिसे मैं समझ में नहीं आता हूं।

संपादित करें: धन्यवाद दोस्तों। अब मुझे .NET में सुरक्षा की बेहतर समझ है। मैं अपनी प्रमाणन परीक्षा उत्तीर्ण करने में सक्षम था।

उत्तर

11

एक full-trust assemblycode access security अनुमतियाँ, जो कोड सभी संसाधन प्रकार का उपयोग और विशेषाधिकार प्राप्त कार्रवाई करने की अनुमति देता है, केवल ऑपरेटिंग सिस्टम सुरक्षा के अधीन की एक अप्रतिबंधित सेट है। उदाहरण के लिए, यदि उपयोगकर्ता बॉब फ़ाइल वाई तक नहीं पहुंच सकता है, तो न तो बॉब के उपयोगकर्ता स्पेस में पूर्ण-ट्रस्ट असेंबली चल सकती है।

partial-trust assembly का अर्थ है कि कोड पूर्ण विश्वास से कम पर चलता है। .NET Framework में कई पूर्वनिर्धारित trust levels हैं जिनका उपयोग आप अपनी विशिष्ट सुरक्षा आवश्यकताओं को पूरा करने के लिए सीधे या अनुकूलित कर सकते हैं। उदाहरण के लिए, आप SQLClientPermission को अस्वीकार कर एक असेंबली को SQL डेटाबेस तक पहुंचने से रोक सकते हैं।

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

15

.NET code access security नामक एक सुरक्षा मॉडल लागू करता है। अप्रबंधित कोड एप्लिकेशन शुरू करने वाले उपयोगकर्ता के विशेषाधिकारों और अधिकारों के साथ चलता है, भले ही कोड बुरा स्रोतों से उत्पन्न होता है।

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

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

एक विशेष मामले के रूप में, कोई एक असेंबली को "पूर्ण ट्रस्ट" असाइन कर सकता है, सभी अनुमतियां प्रदान करता है। हालांकि मैंने पहले "आंशिक विश्वास" शब्द नहीं सुना है, मुझे लगता है कि यह उन असेंबली को संदर्भित करता है जिनके पास कुछ अधिकार हैं, लेकिन पूर्ण ट्रस्ट नहीं।

कृपया समझें कि यह सिर्फ एक सिंहावलोकन है - कोड पहुंच सुरक्षा के बारे में और भी कुछ कहा जाना है।

+2

ध्यान दें कि एक पूर्ण ट्रस्ट असेंबली अभी भी ओएस सुरक्षा द्वारा बाधित है। उदाहरण के लिए, यदि उपयोगकर्ता बॉब फ़ाइल वाई तक नहीं पहुंच सकता है, तो न तो बॉब के उपयोगकर्ता स्पेस में पूर्ण-ट्रस्ट असेंबली चल रही है। – RoadWarrior

0

शायद कुछ संदर्भ मदद करेंगे।

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

.net में स्थानीय एप्लिकेशन और दूरस्थ लोगों के बीच इस तरह के अंतर प्रदान करने की क्षमता है। आप ऐसे एप्लिकेशन को लिख सकते हैं जो स्थानीय कंप्यूटर पर चलेंगे और स्थानीय कंप्यूटर पर कुछ भी करने में सक्षम होंगे। और इस एप्लिकेशन में ऐसी सुविधा हो सकती है जो इंटरनेट से एक्सटेंशन डीएलएल डाउनलोड करे। वे एक्सटेंशन गणना करने और प्रदर्शन में हेरफेर करने में सक्षम होंगे। लेकिन उनके अंदर कोड फाइलों को हटाने में सक्षम होना चाहते हैं। क्योंकि यह भरोसेमंद नहीं है।

विवरण गलत हैं लेकिन यह विचार है (जहां तक ​​मैं इसे समझता हूं)।

संबंधित मुद्दे