विशेषाधिकार वृद्धि



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

पृष्ठभूमि
अधिकांश कंप्यूटर सिस्टम को कई उपयोगकर्ता खातों के साथ उपयोग करने के लिए डिज़ाइन किया गया है जिनमें से प्रत्येक में प्रिविलेज (कंप्यूटिंग) के रूप में जानी जाने वाली क्षमताएं हैं। सामान्य विशेषाधिकारों में फ़ाइलें देखना और संपादित करना या सिस्टम फ़ाइलों को संशोधित करना सम्मिलित है।

विशेषाधिकार वृद्धि का अर्थ है कि उपयोगकर्ताओं को वे विशेषाधिकार प्राप्त होते हैं जिनके वे अधिकारी नहीं हैं। इन विशेषाधिकारों का उपयोग फ़ाइलों को हटाने व्यक्तिगत डेटा देखने या वायरस जैसे अवांछित प्रोग्राम इंस्टॉल करने के लिए किया जा सकता है। यह सामान्यतः तब होता है जब सिस्टम में एक सॉफ़्टवेयर बग होता है जो सुरक्षा को बायपास करने की अनुमति देता है या वैकल्पिक रूप से इसका उपयोग कैसे किया जाएगा इसके बारे में त्रुटिपूर्ण डिज़ाइन धारणाएँ हैं। विशेषाधिकार वृद्धि दो रूपों में होती है:


 * वर्टिकल प्रिविलेज एस्केलेशन, जिसे प्रिविलेज एलिवेशन के रूप में भी जाना जाता है, जहां एक कम विशेषाधिकार प्राप्त उपयोगकर्ता या एप्लिकेशन उच्च विशेषाधिकार प्राप्त उपयोगकर्ताओं या एप्लिकेशन के लिए आरक्षित कार्यों या सामग्री तक पहुंचता है (उदाहरण के लिए इंटरनेट बैंकिंग उपयोगकर्ता साइट प्रशासनिक कार्यों तक पहुंच सकते हैं या स्मार्टफोन के लिए पासवर्ड को बायपास किया जा सकता है।)
 * क्षैतिज विशेषाधिकार वृद्धि, जहां एक सामान्य उपयोगकर्ता अन्य सामान्य उपयोगकर्ताओं के लिए आरक्षित कार्यों या सामग्री का उपयोग करता है (उदाहरण के लिए इंटरनेट बैंकिंग उपयोगकर्ता A, उपयोगकर्ता B के इंटरनेट बैंक खाते तक पहुँचता है)

कार्यक्षेत्र
इस प्रकार का विशेषाधिकार (कंप्यूटिंग) एस्केलेशन तब होता है जब उपयोगकर्ता या प्रक्रिया किसी व्यवस्थापक या सिस्टम डेवलपर की तुलना में उच्च स्तर की पहुंच प्राप्त करने में सक्षम होती है संभवतः कर्नेल-स्तरीय संचालन करते है।

उदाहरण
कुछ स्थितियों में, एक उच्च-विशेषाधिकार आवेदन मानता है कि यह केवल इसके इंटरफ़ेस विनिर्देश से मेल खाने वाले इनपुट के साथ प्रदान किया जाएगा इस प्रकार इस इनपुट को मान्य नहीं करता है। फिर एप्लिकेशन के विशेषाधिकारों के साथ अनधिकृत कोड चलाने के लिए एक हमलावर इस धारणा का लाभ उठाने में सक्षम हो सकता है:
 * कुछ विंडोज सेवाओं को स्थानीय सिस्टम उपयोगकर्ता खाते के तहत चलाने के लिए कॉन्फ़िगर किया गया है। बफ़र अधिकता  जैसी भेद्यता का उपयोग इच्छानुसार कोड को निष्पादित करने के लिए किया जा सकता है, जिसमें विशेषाधिकार स्थानीय सिस्टम के लिए बढ़ाए गए हैं। वैकल्पिक रूप से एक सिस्टम सेवा जो एक कम उपयोगकर्ता का प्रतिरूपण कर रही है, उस उपयोगकर्ता के विशेषाधिकारों को बढ़ा सकती है यदि उपयोगकर्ता का प्रतिरूपण करते समय त्रुटियों को सही विधि से नियंत्रित नहीं किया जाता है (उदाहरण के लिए यदि उपयोगकर्ता ने एक दुर्भावनापूर्ण अपवाद हैंडलिंग प्रारंभ की है)
 * माइक्रोसॉफ़्ट विंडोज़ ऑपरेटिंग सिस्टम के कुछ विरासत संस्करणों के तहत सभी उपयोगकर्ता स्क्रीन सेवर  स्थानीय सिस्टम खाते के अंतर्गत चलते हैं - कोई भी खाता जो फ़ाइल सिस्टम या विंडोज़ रजिस्ट्री में निष्पादन योग्य वर्तमान स्क्रीनसेवर को प्रतिस्थापित कर सकता है इसलिए विशेषाधिकारों को बढ़ा सकता है।
 * लिनक्स कर्नेल के कुछ संस्करणों में एक प्रोग्राम लिखना संभव था जो इसकी वर्तमान निर्देशिका को सेट करेगा, अनुरोध करें कि एक  कोर डंप को क्रैश होने की स्थिति में निष्पादित किया जाए और फिर किसी अन्य प्रक्रिया द्वारा खुद को (यूनिक्स) मार दिया जाए। कोर डंप फ़ाइल को प्रोग्राम की वर्तमान निर्देशिका में रखा गया होगा, अर्थात,  , और   इसे एक पाठ फ़ाइल के रूप में माना जाता है जो इसे कार्यक्रम को समय पर चलाने का निर्देश देता है। क्योंकि फ़ाइल की सामग्री हमलावर के नियंत्रण में होगी हमलावर किसी भी प्रोग्राम को सुपर उपयोगकर्ता विशेषाधिकारों के साथ निष्पादित करने में सक्षम होगा।
 * क्रॉस जोन स्क्रिप्टिंग एक प्रकार का विशेषाधिकार वृद्धि हमला है जिसमें एक वेबसाइट वेब ब्राउज़रों के सुरक्षा मॉडल को उत्क्रम देती है इस प्रकार यह क्लाइंट कंप्यूटरों पर दुर्भावनापूर्ण कोड चलाने की अनुमति देती है।
 * ऐसी स्थितियाँ भी होती हैं जहाँ कोई एप्लिकेशन अन्य उच्च विशेषाधिकार वाली सेवाओं का उपयोग कर सकता है और गलत धारणा है कि कोई ग्राहक इन सेवाओं के उपयोग में हेरफेर कैसे कर सकता है। एक एप्लिकेशन जो कमांड लाइन या यूनिक्स शेल कमांड को निष्पादित कर सकता है, उसमें कोड इंजेक्शन भेद्यता हो सकती है यदि यह निष्पादित कमांड के भाग के रूप में अमान्य इनपुट का उपयोग करता है। एक हमलावर तब एप्लिकेशन के विशेषाधिकारों का उपयोग करके सिस्टम कमांड चलाने में सक्षम होगा।
 * टेक्सस उपकरण कैलकुलेटर (विशेष रूप से TI-85 और TI-82) मूल रूप से TI-बेसिक की बोलियों में लिखे गए केवल व्याख्या किए गए प्रोग्राम का उपयोग करने के लिए डिज़ाइन किए गए थे; चूँकि उपयोगकर्ताओं द्वारा उन बगों की खोज करने के बाद जिनका कैलकुलेटर हार्डवेयर पर देशी Z-80 कोड को चलाने की अनुमति देने के लिए शोषक किया जा सकता है TI ने तीसरे पक्ष के विकास का समर्थन करने के लिए प्रोग्रामिंग डेटा जारी किया। (यह एआरएम वास्तुकला टीआई-एनस्पायर पर जारी नहीं था, जिसके लिए टीआई-एनस्पायर श्रृंखला  आय एनडीलेस का उपयोग करके जेलब्रेक पाए गए हैं किंतु अभी भी टेक्सास इंस्ट्रूमेंट्स द्वारा सक्रिय रूप से लड़े जा रहे हैं।)
 * आईफोन के कुछ संस्करण अनधिकृत उपयोगकर्ता को फ़ोन लॉक होने पर उसे एक्सेस करने की अनुमति देते हैं.

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

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

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

गेमिंग कंसोल के स्थिति में होमब्रू (वीडियो गेम) को निष्पादित करने के लिए अधिकांशतः जेलब्रेकिंग का उपयोग किया जाता है। 2011 में, सोनी ने नियमावली फर्म किलपैट्रिक स्टॉकटन की सहायता से, 21 वर्षीय कोल्ड जॉर्ज  और समूह के सहयोगियों के विपरीत प्लेस्टेशन 3 को जेलब्रेक करने के लिए मुकदमा अंकित किया (सोनी कंप्यूटर एंटरटेनमेंट अमेरिका बनाम जॉर्ज हॉट्ज़ और प्लेस्टेशन जेलब्रेक देखें)।

एंड्रॉइड
एंड्रॉइड फोन को आधिकारिक तौर पर रूट प्राप्त करने के लिए एक शोषक का उपयोग करके या कस्टम रिकवरी को फ्लैश करके निर्माताओं द्वारा नियंत्रित प्रक्रिया के माध्यम से रूट किया जा सकता है। निर्माता अपने द्वारा नियंत्रित प्रक्रिया के माध्यम से रूटिंग की अनुमति देते हैं, जबकि कुछ फोन को बूट समय पर विशिष्ट कुंजी संयोजनों को दबाकर या अन्य स्व-प्रशासित विधियों से रूट करने की अनुमति देते हैं। निर्माताओं के विधि का उपयोग करने से उपकरण लगभग सदैव फ़ैक्टरी रीसेट हो जाता है, जो डेटा देखने के इच्छुक लोगों के लिए रूटिंग को बेकार कर देता है, और वारंटी को स्थायी रूप से समाप्त कर देता है, भले ही उपकरण को हटा दिया गया हो और फिर से फ्लैश किया गया हो। सॉफ़्टवेयर शोषक सामान्यतः या तो एक रूट-स्तरीय प्रक्रिया को लक्षित करता है जो उपयोगकर्ता के लिए सुलभ है, फ़ोन के कर्नेल के लिए विशिष्ट शोषक का उपयोग करके या नए संस्करणों में पैच किए गए ज्ञात एंड्रॉइड शोषक का उपयोग करके फ़ोन को अपग्रेड न करके या जानबूझकर संस्करण को डाउनग्रेड करते है ।

शमन रणनीतियाँ
विशेषाधिकार वृद्धि के जोखिम को कम करने के लिए ऑपरेटिंग सिस्टम और उपयोगकर्ता निम्नलिखित रणनीतियों का उपयोग कर सकते हैं:
 * डेटा निष्पादन प्रतिबंध
 * पता स्थान लेआउट यादृच्छिकरण (मेमोरी में ज्ञात पतों पर विशेषाधिकार प्राप्त निर्देशों को निष्पादित करने के लिए बफर ओवरफ्लो को कठिन बनाने के लिए)
 * किसी के विशेषाधिकारों का दुरुपयोग करने के लिए बफ़र ओवररन एक्सप्लॉइट (कंप्यूटर सुरक्षा) की क्षमता को कम करने के लिए कम से कम विशेषाधिकार के सिद्धांत के साथ चल रहे अनुप्रयोग (उदाहरण के लिए सत्र (कंप्यूटर विज्ञान) प्रक्रिया में अक्षम प्रशासक सुरक्षा पहचानकर्ता के साथ इंटरनेट एक्सप्लोरर चलाकर) उन्नत उपयोगकर्ता।
 * कर्नेल मोड कोड को डिजिटल रूप से हस्ताक्षरित करने की आवश्यकता है।
 * पैच (कंप्यूटिंग)
 * संकलक का उपयोग जो ट्रैप बफर ओवररन करता है
 * सॉफ्टवेयर और/या फर्मवेयर घटकों का एन्क्रिप्शन।
 * सेलिनक्स जैसे अनिवार्य अभिगम नियंत्रण (एमएसी) के साथ एक ऑपरेटिंग सिस्टम का उपयोग

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

उदाहरण
यह समस्या अधिकांशतः वेब अनुप्रयोग में होती है। निम्नलिखित उदाहरण पर विचार करें:
 * उपयोगकर्ता A की इंटरनेट बैंकिंग एप्लिकेशन में अपने स्वयं के बैंक खाते तक पहुंच है।
 * उपयोगकर्ता B की उसी इंटरनेट बैंकिंग एप्लिकेशन में अपने स्वयं के बैंक खाते तक पहुंच है।
 * भेद्यता तब होती है जब उपयोगकर्ता A किसी प्रकार की दुर्भावनापूर्ण गतिविधि करके उपयोगकर्ता B के बैंक खाते तक पहुँचने में सक्षम होता है।

यह दुर्भावनापूर्ण गतिविधि सामान्य वेब एप्लिकेशन की कमजोरियों या कमजोरियों के कारण संभव हो सकती है।

संभावित वेब एप्लिकेशन भेद्यताएं या परिस्थितियां जो इस स्थिति को जन्म दे सकती हैं उनमें सम्मिलित हैं:
 * उपयोगकर्ता की एचटीटीपी कुकी में अनुमानित सत्र आईडी
 * सत्र निर्धारण
 * क्रॉस साइट स्क्रिप्टिंग
 * आसानी से अनुमान लगाने योग्य पासवर्ड
 * एचटीटीपी कुकी की चोरी या अपहरण
 * कीस्ट्रोक लॉगिंग

यह भी देखें

 * रक्षात्मक प्रोग्रामिंग
 * उपभोक्ता इलेक्ट्रॉनिक्स की हैकिंग
 * अवैध संख्या
 * कम से कम विशेषाधिकार का सिद्धांत
 * विशेषाधिकार निरसन (कंप्यूटिंग)
 * विशेषाधिकार जुदाई
 * रूटिंग (एंड्रॉइड ओएस)
 * पंक्ति हथौड़ा