सिस्टम और कर्नेल सुरक्षा

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

लिनक्स सुरक्षा

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

मोबाइल कंप्यूटिंग वातावरण के आधार के रूप में, लिनक्स कर्नेल एंड्रॉइड को कई प्रमुख सुरक्षा सुविधाएँ प्रदान करता है, जिनमें शामिल हैं:

  • एक उपयोगकर्ता-आधारित अनुमति मॉडल
  • प्रक्रिया अलगाव
  • सुरक्षित आईपीसी के लिए विस्तारणीय तंत्र
  • कर्नेल के अनावश्यक और संभावित असुरक्षित भागों को हटाने की क्षमता

एक बहुउपयोगकर्ता ऑपरेटिंग सिस्टम के रूप में, लिनक्स कर्नेल का एक मौलिक सुरक्षा उद्देश्य उपयोगकर्ता संसाधनों को एक दूसरे से अलग करना है। लिनक्स सुरक्षा दर्शन उपयोगकर्ता संसाधनों को एक दूसरे से सुरक्षित रखना है, लिनक्स:

  • उपयोगकर्ता A को उपयोगकर्ता B की फ़ाइलें पढ़ने से रोकता है
  • यह सुनिश्चित करता है कि उपयोगकर्ता A, उपयोगकर्ता B की मेमोरी को समाप्त न कर दे
  • यह सुनिश्चित करता है कि उपयोगकर्ता A, उपयोगकर्ता B के CPU संसाधनों को समाप्त न कर दे
  • यह सुनिश्चित करता है कि उपयोगकर्ता A, उपयोगकर्ता B के उपकरणों (उदाहरण के लिए, टेलीफोनी, जीपीएस और ब्लूटूथ) को ख़त्म न कर दे।

एप्लिकेशन सैंडबॉक्स

एंड्रॉइड की एप्लिकेशन सुरक्षा एप्लिकेशन सैंडबॉक्स द्वारा लागू की जाती है, जो ऐप्स को एक-दूसरे से अलग करती है और ऐप्स और सिस्टम को दुर्भावनापूर्ण ऐप्स से बचाती है। अधिक विवरण के लिए, एप्लिकेशन सैंडबॉक्स देखें।

सिस्टम विभाजन और सुरक्षित मोड

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

फ़ाइल सिस्टम अनुमतियाँ

UNIX-शैली के वातावरण में, फ़ाइल सिस्टम अनुमतियाँ यह सुनिश्चित करती हैं कि एक उपयोगकर्ता किसी अन्य उपयोगकर्ता की फ़ाइलों को बदल या पढ़ नहीं सकता है। एंड्रॉइड के मामले में, प्रत्येक एप्लिकेशन अपने स्वयं के उपयोगकर्ता के रूप में चलता है। जब तक डेवलपर स्पष्ट रूप से अन्य एप्लिकेशन के साथ फ़ाइलें साझा नहीं करता है, तब तक एक एप्लिकेशन द्वारा बनाई गई फ़ाइलों को किसी अन्य एप्लिकेशन द्वारा पढ़ा या बदला नहीं जा सकता है।

सुरक्षा-उन्नत लिनक्स

एंड्रॉइड एक्सेस कंट्रोल नीतियों को लागू करने और प्रक्रियाओं पर अनिवार्य एक्सेस कंट्रोल (मैक) स्थापित करने के लिए सिक्योरिटी-एन्हांस्ड लिनक्स (SELinux) का उपयोग करता है। विवरण के लिए एंड्रॉइड में सुरक्षा-उन्नत लिनक्स देखें।

सत्यापित बूट

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

क्रिप्टोग्राफी

एंड्रॉइड अनुप्रयोगों द्वारा उपयोग के लिए क्रिप्टोग्राफ़िक एपीआई का एक सेट प्रदान करता है। इनमें एईएस, आरएसए, डीएसए और एसएचए जैसे मानक और आमतौर पर उपयोग किए जाने वाले क्रिप्टोग्राफ़िक प्राइमेटिव्स का कार्यान्वयन शामिल है। इसके अतिरिक्त, एसएसएल और एचटीटीपीएस जैसे उच्च स्तरीय प्रोटोकॉल के लिए एपीआई प्रदान की जाती हैं।

एंड्रॉइड 4.0 ने एप्लिकेशन को निजी कुंजी और प्रमाणपत्र श्रृंखलाओं के लिए सिस्टम क्रेडेंशियल स्टोरेज का उपयोग करने की अनुमति देने के लिए कीचेन क्लास की शुरुआत की।

उपकरणों को रूट करना

डिफ़ॉल्ट रूप से, एंड्रॉइड पर केवल कर्नेल और कोर सेवाओं का एक छोटा उपसमूह रूट अनुमतियों के साथ चलता है। SELinux अभी भी रूट के रूप में चलने वाली उपयोगकर्ता स्थान प्रक्रियाओं को बाधित करता है। सत्यापित बूट किसी उपयोगकर्ता या सेवा को रूट अनुमतियों के साथ ऑपरेटिंग सिस्टम को स्थायी रूप से संशोधित करने से रोकता है।

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

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

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

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

उपयोगकर्ता सुरक्षा सुविधाएँ

भंडारण एन्क्रिप्शन

सीडीडी के लिए आवश्यक है कि सभी डिवाइस जो एंड्रॉइड 10 या उच्चतर के साथ लॉन्च हों, और अधिकांश डिवाइस जो एंड्रॉइड 6.0 या उच्चतर के साथ लॉन्च हों, स्टोरेज एन्क्रिप्शन को बॉक्स से बाहर सक्षम करें।

एंड्रॉइड का स्टोरेज एन्क्रिप्शन का वर्तमान कार्यान्वयन मेटाडेटा एन्क्रिप्शन के साथ संयोजन में फ़ाइल-आधारित एन्क्रिप्शन है। फ़ाइल-आधारित एन्क्रिप्शन अलग-अलग निर्देशिकाओं के लिए अलग-अलग कुंजियों का उपयोग करके उपयोगकर्ता डेटा विभाजन पर फ़ाइल सामग्री और नामों को पारदर्शी रूप से एन्क्रिप्ट करता है। यह कार्य प्रोफ़ाइल सहित प्रत्येक उपयोगकर्ता के लिए क्रेडेंशियल-एन्क्रिप्टेड और डिवाइस-एन्क्रिप्टेड स्टोरेज निर्देशिका प्रदान करता है।

मेटाडेटा एन्क्रिप्शन फ़ाइल-आधारित एन्क्रिप्शन का पूरक है। यह उपयोगकर्ता डेटा विभाजन पर सभी ब्लॉकों को एन्क्रिप्ट करता है जो पहले से ही फ़ाइल-आधारित एन्क्रिप्शन द्वारा एन्क्रिप्ट नहीं किए गए हैं, एक कुंजी का उपयोग करके जो किसी भी उपयोगकर्ता के लॉकस्क्रीन क्रेडेंशियल से बंधी नहीं है लेकिन फिर भी सत्यापित बूट द्वारा संरक्षित है।

लॉकस्क्रीन क्रेडेंशियल सुरक्षा

एंड्रॉइड को किसी डिवाइस तक पहुंच प्रदान करने से पहले उपयोगकर्ता द्वारा प्रदत्त लॉकस्क्रीन क्रेडेंशियल (पिन, पासवर्ड या पैटर्न) को सत्यापित करने के लिए कॉन्फ़िगर किया जा सकता है। डिवाइस के अनधिकृत उपयोग को रोकने के अलावा, लॉकस्क्रीन क्रेडेंशियल क्रेडेंशियल-एन्क्रिप्टेड डेटा के लिए क्रिप्टोग्राफ़िक कुंजी की सुरक्षा करता है। डिवाइस प्रशासक द्वारा लॉकस्क्रीन क्रेडेंशियल और/या क्रेडेंशियल जटिलता नियमों के उपयोग की आवश्यकता हो सकती है।

डिवाइस प्रशासन

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

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