तंत्र सॉफ़्टवेयर, सुरक्षा व आभासी मशीन

GATE के तीन उधार लिए प्रचालन तंत्र अध्याय प्रक्रिया/थ्रेड/नियोजन, IPC/तुल्यकालन/गतिरोध व स्मृति/आभासी-स्मृति/फ़ाइल GATE की अपनी गहराई पर ढकते हैं। NET की इकाई 5 'तंत्र सॉफ़्टवेयर' को अपने ही प्रकरण के रूप में खोलती है (मशीन/असेंबली/उच्च-स्तरीय भाषाएँ संकल्पना के रूप में, संकलक/निर्वचक, लोडन/लिंकन/पुनर्स्थापन, मैक्रो, डिबगर — OS कर्नल स्वयं के बजाय उसके इर्द-गिर्द के उपकरण) व पृथक रूप से सुरक्षा व आभासी मशीन को उन प्रकरणों के रूप में नामित करती है जिन तक GATE का OS पाठ्यक्रम नहीं पहुँचता। यह अध्याय तीनों ढकता है।

तंत्र सॉफ़्टवेयर: संकलक, निर्वचक, लोडन, लिंकन व डिबगर

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

  • मैक्रो वास्तविक अनुवाद-चरण से पहले प्रीप्रोसेसर/असेंबलर द्वारा विस्तारित पाठ्य-प्रतिस्थापन टेम्पलेट हैं, C-में-प्रोग्रामिंग अध्याय के प्रीप्रोसेसर मैक्रो जैसी भावना में — मैक्रो कॉल संकलन-समय पर उसके पूर्ण विस्तार से बदल दी जाती है, फलन-कॉल के विपरीत, जो रन-समय पर हल होती है व हर कॉल-स्थल पर नई प्रति से कोड नहीं फुलाती।
  • डिबगर प्रोग्रामर को चलते प्रोग्राम का निरीक्षण व नियंत्रण करने देते हैं: चुनी पंक्ति पर ब्रेकपॉइंट लगाना (निष्पादन रोकना), एक बार में एक अनुदेश/पंक्ति निष्पादित करना (स्टेपिंग), व वर्तमान कॉल-स्टैक व चर-मानों का निरीक्षण करना — इसी तरह तर्क-त्रुटि, जो संकलक द्वारा पकड़ी वाक्य-रचना त्रुटि से भिन्न है, वस्तुतः निदान की जाती है।

सुरक्षा: संरक्षण, अभिगम-नियंत्रण व खतरे

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

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

आभासी मशीन व आभासीकरण

आभासीकरण साझा भौतिक हार्डवेयर के ऊपर किसी मशीन के संसाधनों के एक या अधिक आभासी दृष्टांत बनाता है, हाइपरवाइज़र (आभासी मशीन मॉनिटर) द्वारा प्रबंधित। टाइप-1 (बेयर-मेटल) हाइपरवाइज़र नीचे किसी होस्ट OS के बिना सीधे हार्डवेयर पर चलता है, हर आभासी मशीन को लगभग-आद्य प्रदर्शन व सबसे प्रबल पृथक्करण देते हुए — सर्वर/डेटासेंटर आभासीकरण हेतु मानक चुनाव। टाइप-2 (होस्टेड) हाइपरवाइज़र इसके बजाय पारंपरिक होस्ट प्रचालन-तंत्र के ऊपर सामान्य अनुप्रयोग के रूप में चलता है, जो कुछ प्रदर्शन-लागत पर स्थापित करना सरल है (किसी भी प्रोग्राम की भाँति संस्थापित) — व्यक्तिगत डेस्कटॉप पर सुविधा हेतु अतिथि OS चलाने हेतु मानक चुनाव।

🎯 आभासीकरण क्लाउड कंप्यूटिंग के पीछे सक्षमकारी विचार क्यों है
आभासीकरण आभासी मशीन की पहचान (उसका OS, अनुप्रयोग, संसाधन-आवंटन) को किसी विशिष्ट भौतिक सर्वर से पृथक कर देता है, जो ठीक वही है जो क्लाउड प्रदाता को साझा हार्डवेयर पर कई पृथक ग्राहक-कार्यभार चलाने, रखरखाव/भार-संतुलन हेतु बिना किसी डाउनटाइम के चलती आभासी मशीन को भौतिक होस्टों के बीच स्थानांतरित करने, व नया हार्डवेयर भौतिक रूप से संस्थापित करने के बजाय माँग पर आभासी मशीन प्रावधानित या पुनःआकारित करने देता है — क्लाउड कंप्यूटिंग (अपनी ही इकाई में पूर्ण रूप से ढकी) से यह संबंध रखने योग्य है, क्योंकि NET प्रश्न एक प्रकरण को दूसरे की शब्दावली से परख सकता है।

उपयोगकर्ता प्रमाणीकरण व सुरक्षा-रक्षा कार्यान्वयन

  • प्रमाणीकरण कारकों को रूढ़िगत रूप से आप जो जानते हैं (पासवर्ड), आपके पास जो है (हार्डवेयर टोकन, OTP प्राप्त करता फ़ोन) व आप जो हैं (बायोमेट्रिक्स) में समूहित किया जाता है; बहु-कारक प्रमाणीकरण दो या अधिक भिन्न श्रेणियाँ संयोजित करता है (दो पासवर्ड नहीं, जो दोनों 'आप जो जानते हैं' हैं) व उल्लेखनीय रूप से प्रबल है ठीक इसलिए कि एक कारक को भंग करना स्वतः अन्यों को भंग नहीं करता।
  • फ़ायरवॉल नेटवर्क-यातायात पर सीमा-नीति (पोर्ट, प्रोटोकॉल, स्रोत/गंतव्य पते से अनुमति/निषेध) लागू करता है; आभासी निजी नेटवर्क (VPN) इसके बजाय अविश्वसनीय नेटवर्क (उदा० सार्वजनिक इंटरनेट) के आर-पार यातायात को एनक्रिप्ट कर टनल करता है ताकि दूरस्थ होस्ट को निजी, प्रत्यक्ष कड़ी की प्रभावी सुरक्षा मिले — दोनों भिन्न स्तरों (सीमा-नियंत्रण बनाम पारगमन-गोपनीयता) पर पूरक रक्षाएँ हैं, एक-दूसरे के विकल्प नहीं।

मुख्य बिंदु

  • लिंकर मॉड्यूलों के बीच संदर्भ हल करता है (स्थैतिक: लिंक-समय पर प्रतिलिपित; गतिक: लोड/रन-समय पर साझा); लोडर पतों को उन पतों में पुनर्स्थापित करता है जहाँ प्रोग्राम इस चलाव में वस्तुतः लोड हुआ।
  • अभिगम-आव्यूह स्तंभ-वार अभिगम-नियंत्रण सूचियों (प्रति-वस्तु दक्ष) या पंक्ति-वार सामर्थ्य सूचियों (प्रति-क्षेत्र दक्ष) के रूप में संचित होता है; सामर्थ्यों के साथ प्रतिसंहरण कठिनतर है।
  • वर्म बिना उपयोगकर्ता-कार्यवाही स्व-प्रतिकृत होकर फैलता है; वायरस को साथ चलने हेतु होस्ट प्रोग्राम चाहिए। गुप्त-कुंजी क्रिप्टो तेज़ है पर पूर्व कुंजी-साझाकरण चाहती है; सार्वजनिक-कुंजी क्रिप्टो गति-लागत पर वितरण हल करती है।
  • टाइप-1 (बेयर-मेटल) हाइपरवाइज़र लगभग-आद्य प्रदर्शन सहित सीधे हार्डवेयर पर चलता है; टाइप-2 (होस्टेड) हाइपरवाइज़र होस्ट OS के ऊपर चलता है, सरल पर धीमा।
  • बहु-कारक प्रमाणीकरण भिन्न कारक-श्रेणियाँ (जानते/रखते/हैं) संयोजित करता है; फ़ायरवॉल व VPN भिन्न स्तरों पर पूरक रक्षाएँ हैं, विकल्प नहीं।

अभ्यास प्रश्न (8)

उत्तर खोलने से पहले प्रत्येक प्रश्न हल करें। हर व्याख्या सही विकल्प के साथ लुभावना गलत विकल्प भी बताती है, क्योंकि अंक वहीं जाते हैं।

  1. स्थैतिक लिंकिंग की तुलना में, गतिक लिंकिंग का अर्थ है:

    1. कई चलते प्रोग्रामों में लाइब्रेरी की एक साझा प्रति प्रयुक्त होती है, लोड/रन-समय पर हल
    2. लाइब्रेरी का कोड लिंक-समय पर हर निष्पादन-योग्य में प्रतिलिपित होता है
    3. बिल्कुल कोई लिंकिंग नहीं होती
    4. यह संकलन से पहले होती है, बाद में नहीं
    उत्तर देखें

    उत्तर: A — कई चलते प्रोग्रामों में लाइब्रेरी की एक साझा प्रति प्रयुक्त होती है, लोड/रन-समय पर हल

    गतिक लिंकिंग लाइब्रेरी-संदर्भ हल करना लोड या रन-समय तक टालती है व लाइब्रेरी की एक स्मृति-प्रति प्रोग्रामों में साझा करती है, स्थैतिक लिंकिंग के विपरीत, जो लिंक-समय पर हर निष्पादन-योग्य में निजी प्रति अंतःस्थापित करती है।
  2. अभिगम-आव्यूह प्रतिरूप में, इसे पंक्ति-वार संचित करना (प्रति क्षेत्र एक सूची, यह नामित करते हुए कि वह क्या पहुँच सकता है) देता है:

    1. सामर्थ्य सूची
    2. अभिगम-नियंत्रण सूची
    3. फ़ायरवॉल नियम-समुच्चय
    4. डिजिटल हस्ताक्षर
    उत्तर देखें

    उत्तर: A — सामर्थ्य सूची

    सामर्थ्य सूची अभिगम-आव्यूह का पंक्ति-वार (प्रति-क्षेत्र) दृश्य है; स्तंभ-वार (प्रति-वस्तु) दृश्य इसके बजाय अभिगम-नियंत्रण सूची है।
  3. वर्म वायरस से मुख्यतः इस प्रकार भिन्न है कि वर्म:

    1. बिना किसी उपयोगकर्ता-कार्यवाही के स्व-प्रतिकृत होकर नेटवर्क में फैलता है
    2. बिल्कुल नहीं फैल सकता
    3. चलने हेतु सदा किसी होस्ट प्रोग्राम से जुड़ना ही चाहिए
    4. हार्डवेयर-दोष है, सॉफ़्टवेयर नहीं
    उत्तर देखें

    उत्तर: A — बिना किसी उपयोगकर्ता-कार्यवाही के स्व-प्रतिकृत होकर नेटवर्क में फैलता है

    वर्म स्वतंत्र प्रोग्राम है जो अपने आप फैलता है; वायरस इसके विपरीत, प्रसार हेतु किसी होस्ट प्रोग्राम से जुड़ना व उसके साथ चलना चाहता है।
  4. गुप्त-कुंजी (सममित) क्रिप्टोग्राफी की तुलना में, सार्वजनिक-कुंजी (असममित) क्रिप्टोग्राफी मुख्यतः इसे हल करती है:

    1. कुंजी-वितरण समस्या, गणनात्मक रूप से धीमी होने की कीमत पर
    2. कुछ नहीं; दोनों समान हैं
    3. यह सदा गुप्त-कुंजी क्रिप्टोग्राफी से तेज़ है
    4. यह किसी भी कुंजी की आवश्यकता पूर्णतः समाप्त कर देती है
    उत्तर देखें

    उत्तर: A — कुंजी-वितरण समस्या, गणनात्मक रूप से धीमी होने की कीमत पर

    सार्वजनिक/निजी कुंजी-युग्म दो पक्षों को पहले से गुप्त रूप से कुंजी साझा किए बिना सुरक्षित संचार करने देता है, सममित क्रिप्टोग्राफी के विपरीत — गणनात्मक रूप से कहीं अधिक महँगी होने की कीमत पर, इसीलिए वास्तविक तंत्र सामान्यतः इसे केवल सममित सत्र-कुंजी के विनिमय हेतु प्रयोग करते हैं।
  5. टाइप-2 (होस्टेड) हाइपरवाइज़र की तुलना में, टाइप-1 (बेयर-मेटल) हाइपरवाइज़र:

    1. नीचे किसी होस्ट OS के बिना सीधे हार्डवेयर पर चलता है, लगभग-आद्य प्रदर्शन देते हुए
    2. सदा होस्ट प्रचालन-तंत्र के भीतर सामान्य अनुप्रयोग के रूप में चलता है
    3. एक से अधिक आभासी मशीन नहीं चला सकता
    4. केवल व्यक्तिगत डेस्कटॉप पर प्रयुक्त होता है
    उत्तर देखें

    उत्तर: A — नीचे किसी होस्ट OS के बिना सीधे हार्डवेयर पर चलता है, लगभग-आद्य प्रदर्शन देते हुए

    टाइप-1 हाइपरवाइज़र सीधे हार्डवेयर पर चलता है व सर्वर/डेटासेंटर आभासीकरण हेतु मानक चुनाव है, ठीक अपने प्रबल पृथक्करण व लगभग-आद्य प्रदर्शन के कारण; टाइप-2 हाइपरवाइज़र इसके बजाय पारंपरिक होस्ट OS के ऊपर चलता है।
  6. बहु-कारक प्रमाणीकरण एकल कारक से उल्लेखनीय रूप से प्रबल है क्योंकि यह संयोजित करता है:

    1. दो या अधिक भिन्न श्रेणियाँ (उदा० आप जो जानते हैं व आपके पास जो है)
    2. दो पासवर्ड, दोनों उसी श्रेणी से
    3. एकल बहुत लंबा पासवर्ड
    4. बिल्कुल कोई प्रमाणीकरण नहीं
    उत्तर देखें

    उत्तर: A — दो या अधिक **भिन्न** श्रेणियाँ (उदा० आप जो जानते हैं व आपके पास जो है)

    दो पासवर्ड दोनों 'आप जो जानते हैं' हैं और उसी वर्ग के आक्रमण (उदा० कीलॉगर) से साथ भंग हो जाते हैं; वास्तविक बहु-कारक प्रमाणीकरण भिन्न श्रेणियाँ संयोजित करता है ताकि एक कारक भंग होना स्वतः दूसरे को भंग न करे।
  7. फ़ायरवॉल व VPN के विषय में निम्नलिखित में कौन सत्य हैं? (एक से अधिक विकल्प सही हो सकते हैं।)

    1. फ़ायरवॉल पोर्ट, प्रोटोकॉल या पते से यातायात पर सीमा-नीति लागू करता है
    2. VPN अविश्वसनीय नेटवर्क के आर-पार यातायात को एनक्रिप्ट कर टनल करता है
    3. दोनों भिन्न स्तरों पर पूरक रक्षाएँ हैं, एक-दूसरे के विकल्प नहीं
    4. फ़ायरवॉल व VPN दो नामों के अंतर्गत ठीक वही प्रौद्योगिकी हैं
    उत्तर देखें

    उत्तर: A — फ़ायरवॉल पोर्ट, प्रोटोकॉल या पते से यातायात पर सीमा-नीति लागू करता है; B — VPN अविश्वसनीय नेटवर्क के आर-पार यातायात को एनक्रिप्ट कर टनल करता है; C — दोनों भिन्न स्तरों पर पूरक रक्षाएँ हैं, एक-दूसरे के विकल्प नहीं

    फ़ायरवॉल सीमा पर किस यातायात को अनुमति है यह नियंत्रित करता है, जबकि VPN उस यातायात की गोपनीयता की रक्षा करता है जिसे अविश्वसनीय पथ से गुज़रने की पहले से अनुमति है — वास्तव में भिन्न काम जो सामान्यतः विकल्पों के बजाय साथ तैनात किए जाते हैं।
  8. उस सॉफ़्टवेयर-परत (जिसे आभासी मशीन मॉनिटर भी कहते हैं) का नाम बताइए जो साझा भौतिक हार्डवेयर पर एक या अधिक आभासी मशीनों का प्रबंधन व संचालन करती है।

    संख्यात्मक उत्तर — मान टाइप करें।

    उत्तर देखें

    उत्तर: hypervisor

    हाइपरवाइज़र दो प्रकार में आता है — टाइप-1 (बेयर-मेटल), सीधे हार्डवेयर पर चलता; व टाइप-2 (होस्टेड), पारंपरिक प्रचालन-तंत्र के ऊपर चलता।