Principle of least privilege
सूचना सुरक्षा, कंप्यूटर विज्ञान और अन्य क्षेत्रों में, न्यूनतम विशेषाधिकार के सिद्धांत (पी. ओ. एल. पी.), जिसे न्यूनतम विशेषाधिकार के सिद्धांत (पी. ओ. एम. पी.) या न्यूनतम प्राधिकरण के सिद्धांत (पी. ओ. एल. ए.) के रूप में भी जाना जाता है, के लिए आवश्यक है कि एक कम्प्यूटिंग वातावरण की एक विशेष अमूर्त परत में, प्रत्येक मॉड्यूल (जैसे एक प्रक्रिया, एक उपयोगकर्ता, या एक कार्यक्रम, विषय के आधार पर) को केवल उन सूचनाओं और संसाधनों तक पहुंचने में सक्षम होना चाहिए जो इसके वैध उद्देश्य के लिए आवश्यक हैं। विवरण सिद्धांत का अर्थ है किसी भी उपयोगकर्ता को खाता या प्रक्रिया केवल उन विशेषाधिकारों को देना जो उसके इच्छित कार्यों को करने के लिए अनिवार्य रूप से महत्वपूर्ण हैं। उदाहरण के लिए, बैकअप बनाने के एकमात्र उद्देश्य के लिए एक उपयोगकर्ता खाते को सॉफ्टवेयर स्थापित करने की आवश्यकता नहीं होती हैः इसलिए, इसके पास केवल बैकअप और बैकअप से संबंधित अनुप्रयोगों को चलाने का अधिकार है। नया सॉफ्टवेयर स्थापित करने जैसे किसी भी अन्य विशेषाधिकार को अवरुद्ध कर दिया जाता है। यह सिद्धांत एक व्यक्तिगत कंप्यूटर उपयोगकर्ता पर भी लागू होता है जो आमतौर पर एक सामान्य उपयोगकर्ता खाते में काम करता है, और एक विशेषाधिकार प्राप्त, पासवर्ड संरक्षित खाता केवल तभी खोलता है जब स्थिति बिल्कुल इसकी मांग करती है। जब उपयोगकर्ताओं पर लागू किया जाता है, तो कम से कम उपयोगकर्ता पहुंच या कम से कम विशेषाधिकार प्राप्त उपयोगकर्ता खाता (एल. यू. ए.) शब्दों का भी उपयोग किया जाता है, इस अवधारणा का उल्लेख करते हुए कि सभी उपयोगकर्ता खातों को यथासंभव कम से कम विशेषाधिकारों के साथ चलाया जाना चाहिए, और यथासंभव कम से कम विशेषाधिकारों के साथ एप्लिकेशन भी लॉन्च करना चाहिए। (न्यूनतम विशेषाधिकार) के सिद्धांत को व्यापक रूप से दोषों (दोष सहिष्णुता) और दुर्भावनापूर्ण व्यवहार से डेटा और कार्यक्षमता की सुरक्षा के लिए एक बहुत आवश्यक 'बढ़ावा' देने और बढ़ाने की दिशा में एक महत्वपूर्ण डिजाइन विचार के रूप में मान्यता प्राप्त है। इस सिद्धांत के लाभों में शामिल हैंः बौद्धिक सुरक्षा। जब कोड किसी प्रणाली में किए जा सकने वाले परिवर्तनों के दायरे में सीमित होता है, तो अन्य सुरक्षा लक्षित अनुप्रयोगों के साथ इसके संभावित कार्यों और बातचीत का परीक्षण करना आसान होता है। उदाहरण के लिए व्यवहार में, प्रतिबंधित अधिकारों के साथ चलने वाले अनुप्रयोगों के पास ऐसे संचालन करने की पहुंच नहीं होगी जो किसी मशीन को दुर्घटनाग्रस्त कर सकते हैं, या उसी प्रणाली पर चलने वाले अन्य अनुप्रयोगों को प्रतिकूल रूप से प्रभावित कर सकते हैं। बेहतर प्रणाली सुरक्षा। जब कोड प्रणाली-व्यापी कार्यों में सीमित होता है जो यह कर सकता है, तो एक अनुप्रयोग में कमजोरियों का उपयोग बाकी मशीन का शोषण करने के लिए नहीं किया जा सकता है। उदाहरण के लिए, माइक्रोसॉफ्ट का कहना है कि "मानक उपयोगकर्ता मोड में चलने से ग्राहकों को" शटर अटैक "और मैलवेयर, जैसे रूट किट, स्पाइवेयर और अज्ञात वायरस के कारण होने वाले अनजाने में सिस्टम-स्तर के नुकसान के खिलाफ अधिक सुरक्षा मिलती है।" तैनाती में आसानी। सामान्य तौर पर, एक आवेदन के लिए जितने कम विशेषाधिकारों की आवश्यकता होती है, एक बड़े वातावरण के भीतर इसे तैनात करना उतना ही आसान होता है। यह आमतौर पर पहले दो लाभों के परिणामस्वरूप होता है, ऐसे अनुप्रयोग जो डिवाइस ड्राइवरों को स्थापित करते हैं या जिन्हें उन्नत सुरक्षा विशेषाधिकारों की आवश्यकता होती है, आमतौर पर उनकी परिनियोजन में अतिरिक्त कदम शामिल होते हैं। उदाहरण के लिए, विंडोज पर बिना किसी डिवाइस ड्राइवर के समाधान को बिना किसी इंस्टॉलेशन के सीधे चलाया जा सकता है, जबकि ड्राइवर को उन्नत विशेषाधिकार देने के लिए विंडोज इंस्टॉलर सेवा का उपयोग करके डिवाइस ड्राइवरों को अलग से स्थापित किया जाना चाहिए। व्यवहार में, सत्य (न्यूनतम विशेषाधिकार) की कई प्रतिस्पर्धी परिभाषाएँ मौजूद हैं। जैसे-जैसे कार्यक्रम की जटिलता तेजी से बढ़ती है, वैसे-वैसे संभावित मुद्दों की संख्या भी बढ़ती है, जिससे एक भविष्यसूचक दृष्टिकोण अव्यावहारिक हो जाता है। उदाहरणों में उन चरों के मान शामिल हैं जिन्हें यह संसाधित कर सकता है, पते जिनकी इसे आवश्यकता होगी, या ऐसी चीजों की आवश्यकता होने का सटीक समय। वस्तु क्षमता प्रणाली, उदाहरण के लिए, एकल-उपयोग विशेषाधिकार देने को उस समय तक स्थगित करने की अनुमति देती है जब तक कि इसका उपयोग नहीं किया जाता है। वर्तमान में, निकटतम व्यावहारिक दृष्टिकोण उन विशेषाधिकारों को समाप्त करना है जिनका मैन्युअल रूप से अनावश्यक के रूप में मूल्यांकन किया जा सकता है या एक विकल्प उल्लेख करने योग्य है और अत्यधिक सुरक्षा आधारित तर्क देते हुए, इस पर विचार करें, एक संभावित दुर्भावनापूर्ण वातावरण में उल्लंघनकर्ताओं (हैकर्स) को आपके बुनियादी ढांचे तक अधिक से अधिक पहुंच की आवश्यकता है। इसलिए, यह तर्क के लिए खड़ा है कि एक हानिकारक उदाहरण में यदि हम अपने उपकरणों से दूर रहते हैं तो 'स्पष्ट रूप से बताने' के जोखिम पर आप अपने उपकरण का जितना कम उपयोग करेंगे, उपयोगकर्ता उतना ही अधिक जोखिम में होगा। विशेषाधिकारों का परिणामी समूह आम तौर पर प्रक्रिया के लिए वास्तविक न्यूनतम आवश्यक विशेषाधिकारों से अधिक होता है। एक अन्य सीमा नियंत्रण की सूक्ष्मता है जो संचालन वातावरण को एक व्यक्तिगत प्रक्रिया के लिए विशेषाधिकार प्राप्त है। व्यवहार में, किसी प्रक्रिया की स्मृति, प्रसंस्करण समय, आई/ओ उपकरण पते या मोड तक पहुंच को केवल एक प्रक्रिया के लिए आवश्यक विशेषाधिकारों के सटीक सेट को सुविधाजनक बनाने के लिए आवश्यक सटीकता के साथ नियंत्रित करना शायद ही कभी संभव है। मूल सूत्रीकरण जेरोम साल्टज़र से हैः पीटर जे. डेनिंग, उनके पेपर "फॉल्ट टॉलरेंट ऑपरेटिंग सिस्टम" ने इसे "फॉल्ट टॉलरेंस के चार मौलिक सिद्धांतों" के बीच एक व्यापक परिप्रेक्ष्य में स्थापित किया। "विशेषाधिकारों के गतिशील कार्य" पर पहले 1972 में रोजर नीधम द्वारा चर्चा की गई थी। ऐतिहासिक रूप से, (न्यूनतम विशेषाधिकार) का सबसे पुराना उदाहरण संभवतः login.c का स्रोत कोड है, जो सुपर-उपयोगकर्ता अनुमतियों के साथ निष्पादन शुरू करता है और-जिस क्षण वे अब आवश्यक नहीं हैं-उन्हें सेट्यूइड () के माध्यम से एक गैर-शून्य तर्क के साथ खारिज कर देता है जैसा कि संस्करण 6 यूनिक्स स्रोत कोड में दिखाया गया है। कार्यान्वयन कर्नेल हमेशा अधिकतम विशेषाधिकारों के साथ चलता है क्योंकि यह ऑपरेटिंग सिस्टम कोर है और इसमें हार्डवेयर की पहुंच है। एक ऑपरेटिंग सिस्टम की प्रमुख जिम्मेदारियों में से एक, विशेष रूप से एक बहु-उपयोगकर्ता ऑपरेटिंग सिस्टम, हार्डवेयर की उपलब्धता का प्रबंधन और चलने वाली प्रक्रियाओं से इसे प्राप्त करने का अनुरोध है। जब कर्नेल दुर्घटनाग्रस्त हो जाता है, तो जिस तंत्र द्वारा यह स्थिति बनाए रखता है, वह भी विफल हो जाता है। इसलिए, भले ही सीपीयू के लिए हार्ड रीसेट के बिना ठीक होने का कोई तरीका हो, सुरक्षा लागू की जाती रहती है, लेकिन ऑपरेटिंग सिस्टम विफलता का ठीक से जवाब नहीं दे सकता क्योंकि विफलता का पता लगाना संभव नहीं था। ऐसा इसलिए है क्योंकि कर्नेल निष्पादन या तो रुक गया या प्रोग्राम काउंटर ने एक अंतहीन, और-आमतौर पर-गैर-कार्यात्मक लूप में कहीं से निष्पादन फिर से शुरू कर दिया। यह या तो भूलने की बीमारी (कर्नेल निष्पादन विफलता) का अनुभव करने या एक बंद भूलभुलैया में फंसने के समान होगा जो हमेशा शुरुआती बिंदु (बंद लूप) पर लौटता है। यदि दुर्घटना के बाद ट्रोजन कोड को लोड करके और चलाकर निष्पादन में तेजी आती है, तो ट्रोजन कोड का लेखक सभी प्रक्रियाओं पर नियंत्रण कर सकता है। न्यूनतम विशेषाधिकार का सिद्धांत कोड को न्यूनतम विशेषाधिकार/अनुमति स्तर के साथ चलाने के लिए मजबूर करता है। इसका मतलब है कि जो कोड कोड निष्पादन को फिर से शुरू करता है-चाहे ट्रोजन हो या बस कोड निष्पादन किसी अप्रत्याशित स्थान से उठा हो-उसमें दुर्भावनापूर्ण या अवांछनीय प्रक्रियाओं को करने की क्षमता नहीं होगी। इसे पूरा करने के लिए उपयोग की जाने वाली एक विधि को माइक्रोप्रोसेसर हार्डवेयर में लागू किया जा सकता है। उदाहरण के लिए, इंटेल x86 वास्तुकला में निर्माता ने रक्षा और खुफिया एजेंसियों में सुरक्षा निकासी प्रणालियों की तरह पहुंच की स्नातक डिग्री के साथ चार (रिंग 0 से रिंग 3 तक) चलने वाले "मोड" तैयार किए। जैसा कि कुछ संचालन प्रणालियों में लागू किया जाता है, प्रक्रियाएं एक संभावित विशेषाधिकार सेट और एक सक्रिय विशेषाधिकार सेट के साथ निष्पादित होती हैं। इस तरह के विशेषाधिकार सेट माता-पिता से विरासत में प्राप्त होते हैं जैसा कि कांटा () के शब्दार्थ द्वारा निर्धारित किया जाता है। एक निष्पादन योग्य फ़ाइल जो एक विशेषाधिकार प्राप्त कार्य करती है-जिससे तकनीकी रूप से टी. सी. बी. का एक घटक बनता है, और साथ ही एक विश्वसनीय कार्यक्रम या विश्वसनीय प्रक्रिया कहा जाता है-को भी विशेषाधिकारों के एक समूह के साथ चिह्नित किया जा सकता है। यह सेट उपयोगकर्ता आईडी और सेट समूह आईडी की धारणाओं का एक तार्किक विस्तार है। एक प्रक्रिया द्वारा फ़ाइल विशेषाधिकारों की विरासत सिस्टम कॉल के निष्पादन () परिवार के शब्दार्थ द्वारा निर्धारित की जाती है। जिस सटीक तरीके से संभावित प्रक्रिया विशेषाधिकार, वास्तविक प्रक्रिया विशेषाधिकार और फाइल विशेषाधिकार परस्पर क्रिया करते हैं, वह जटिल हो सकता है। व्यवहार में, कम से कम विशेषाधिकार का अभ्यास किसी प्रक्रिया को केवल कार्य द्वारा आवश्यक विशेषाधिकारों के साथ चलाने के लिए मजबूर करके किया जाता है। इस मॉडल का पालन काफी जटिल होने के साथ-साथ त्रुटि-प्रवण भी है। समान सिद्धांत विश्वसनीय कम्प्यूटिंग आधार (टी. सी. बी.) न्यूनतमकरण की विश्वसनीय कंप्यूटर प्रणाली मूल्यांकन मानदंड (टी. सी. एस. ई. सी.) अवधारणा एक अधिक कठोर आवश्यकता है जो केवल कार्यात्मक रूप से सबसे मजबूत आश्वासन वर्गों, अर्थात बी3 और ए1 (जो स्पष्ट रूप से अलग हैं लेकिन कार्यात्मक रूप से समान हैं) पर लागू होती है। कम से कम विशेषाधिकार अक्सर विशेषाधिकार ब्रैकेटिंग से जुड़ा होता हैः अर्थात, अंतिम संभव क्षण में आवश्यक विशेषाधिकारों को ग्रहण करना और उन्हें जल्द से जल्द खारिज करना जो अब सख्ती से आवश्यक नहीं है, इसलिए स्पष्ट रूप से गलत संहिता से गिरावट को कम करना जो अनजाने में योग्य से अधिक विशेषाधिकार का शोषण करता है। न्यूनतम विशेषाधिकार की व्याख्या विवेकाधीन अभिगम नियंत्रण (डी. ए. सी.) अनुमतियों के वितरण के संदर्भ में भी की गई है, उदाहरण के लिए यह कहते हुए कि उपयोगकर्ता यू को एफ फ़ाइल तक पढ़ने/लिखने की अनुमति देना न्यूनतम विशेषाधिकार का उल्लंघन करता है यदि यू केवल पढ़ने की अनुमति के साथ अपने अधिकृत कार्यों को पूरा कर सकता है। उपयोगकर्ता खाता नियंत्रण क्षमता-आधारित सुरक्षा कम्पार्टमेंटलाइजेशन (इंटेलिजेंस) भ्रमित उप समस्या एनकैप्सुलेशन (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग) प्रिविलेज ब्रैकेटिंग प्रिविलेज एस्केलेशन प्रिविलेज रिवोकेशन (कंप्यूटिंग) प्रिविलेज सेपरेशन प्रोटेक्शन रिंग सेटुइड सुडो संदर्भ ग्रंथ सूची बेन मैनकिन, द फॉर्मलाइजेशन ऑफ प्रोटेक्शन सिस्टम्स, पीएचडी थीसिस, यूनिवर्सिटी ऑफ बाथ, 2004 पृष्ठ 31 को जानने की आवश्यकता है। बाहरी लिंक क्लाउड से कम से कम विशेषाधिकारों का प्रबंधन मोनिक सेंडज़े द साल्टज़र और श्रोएडर पेपर संदर्भों में उद्धृत किया गया है। एनएसए (जिसने एसईएलिनक्स को लागू किया) कम से कम विशेषाधिकार के सिद्धांत के बारे में बात करता है सोलारिस टॉम के आईटी प्रो में कम से कम विशेषाधिकार के सिद्धांत के कार्यान्वयन की चर्चाः अधिकांश संगठन प्रशासनिक अधिकारों वाले कर्मचारियों से अनजान "सबूत है कि एलयूए आपको सुरक्षित बनाता है" डाना एप द्वारा माइक्रोसॉफ्ट द्वारा विंडोज एक्सपी पर उपयोगकर्ता खातों को कम से कम विशेषाधिकार के सिद्धांत को लागू करना "वाणिज्यिक उद्यम हमारे महत्वपूर्ण बुनियादी ढांचे को जोखिम में डाल रहे हैं" सीएसओ कम से कम विशेषाधिकार सूचना सिद्धांत कंप्यूटर सुरक्षा के सिद्धांत को सफलतापूर्वक लागू कैसे करें