Android डिवाइस को सुरक्षित करना

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

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

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

Android को डेवलपर के लिए डिज़ाइन किया गया है. सुरक्षा से जुड़े कंट्रोल को इस तरह से डिज़ाइन किया गया है कि डेवलपर पर कम से कम बोझ पड़े. सुरक्षा के बारे में अच्छी जानकारी रखने वाले डेवलपर, सुरक्षा से जुड़े फ़्लेक्सिबल कंट्रोल का आसानी से इस्तेमाल कर सकते हैं और उन पर भरोसा कर सकते हैं. सुरक्षा के बारे में कम जानकारी रखने वाले डेवलपर को सुरक्षित डिफ़ॉल्ट सेटिंग से सुरक्षा मिलती है.

Android, डेवलपर को एक भरोसेमंद प्लैटफ़ॉर्म उपलब्ध कराने के साथ-साथ, कई तरह से मदद भी करता है. Android की सुरक्षा टीम, ऐप्लिकेशन में जोखिम की आशंकाओं का पता लगाती है. साथ ही, इन समस्याओं को ठीक करने के तरीके सुझाती है. Google Play वाले डिवाइसों के लिए, Play Services ज़रूरी सॉफ़्टवेयर लाइब्रेरी के लिए सुरक्षा से जुड़े अपडेट उपलब्ध कराता है. जैसे, OpenSSL. इसका इस्तेमाल ऐप्लिकेशन के कम्यूनिकेशन को सुरक्षित रखने के लिए किया जाता है. Android की सुरक्षा टीम ने एसएसएल की जांच करने के लिए एक टूल (nogotofail) लॉन्च किया है. इससे डेवलपर को उस प्लैटफ़ॉर्म पर सुरक्षा से जुड़ी संभावित समस्याओं का पता लगाने में मदद मिलती है जिस पर वे डेवलपमेंट कर रहे हैं.

Android, सुरक्षा के लिए हार्डवेयर की मदद भी लेता है. उदाहरण के लिए, ARM TrustZone टेक्नोलॉजी का इस्तेमाल, क्रिप्टोग्राफ़िक कुंजियों के लिए सुरक्षित स्टोरेज उपलब्ध कराने के साथ-साथ बूट इंटेग्रिटी की पुष्टि करने के लिए किया जाता है. DICE का इस्तेमाल, Android बूट होने से पहले लोड किए गए फ़र्मवेयर को मेज़र करने के लिए किया जाता है. इससे रिमोट से पुष्टि की जा सकती है कि फ़र्मवेयर पर, ज्ञात और गंभीर जोखिमों का असर नहीं पड़ा है. इन जोखिमों का इस्तेमाल, डेवलपर और उपयोगकर्ताओं, दोनों को नुकसान पहुंचाने के लिए किया जा सकता है.

Android ऐप्लिकेशन डेवलपर के लिए ज़्यादा जानकारी, developer.android.com पर उपलब्ध है.

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

एंड यूज़र के लिए ज़्यादा जानकारी, Nexus के सहायता केंद्र, Pixel के सहायता केंद्र या डिवाइस बनाने वाली कंपनी के सहायता केंद्र में मिल सकती है.

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

बैकग्राउंड

Android, मोबाइल डिवाइसों के लिए एक ओपन सोर्स प्लैटफ़ॉर्म और ऐप्लिकेशन एनवायरमेंट उपलब्ध कराता है.

यहां दिए गए सेक्शन और पेजों में, Android प्लैटफ़ॉर्म की सुरक्षा से जुड़ी सुविधाओं के बारे में बताया गया है. पहली इमेज में, Android सॉफ़्टवेयर स्टैक के अलग-अलग लेवल के सुरक्षा कॉम्पोनेंट और उनसे जुड़ी बातों के बारे में बताया गया है. हर कॉम्पोनेंट यह मानता है कि नीचे दिए गए कॉम्पोनेंट सही तरीके से सुरक्षित किए गए हैं. रूट के तौर पर चलने वाले Android OS के कुछ कोड को छोड़कर, Linux कर्नल के ऊपर मौजूद सभी कोड पर ऐप्लिकेशन सैंडबॉक्स की पाबंदी होती है.

इमेज 1: Android सॉफ़्टवेयर स्टैक

पहली इमेज. Android सॉफ़्टवेयर स्टैक

Android प्लैटफ़ॉर्म के मुख्य बिल्डिंग ब्लॉक ये हैं:

  • डिवाइस का हार्डवेयर: Android, कई तरह के हार्डवेयर कॉन्फ़िगरेशन पर काम करता है. जैसे, मोबाइल फ़ोन, टैबलेट, स्मार्टवॉच, कार, स्मार्ट टीवी, OTT गेमिंग बॉक्स, और सेट-टॉप बॉक्स. Android, प्रोसेसर के हिसाब से काम करता है. हालांकि, यह हार्डवेयर के हिसाब से सुरक्षा से जुड़ी कुछ सुविधाओं का फ़ायदा लेता है. जैसे, ARM eXecute-Never.
  • Android ऑपरेटिंग सिस्टम: यह मुख्य ऑपरेटिंग सिस्टम, Linux कर्नेल पर आधारित है. डिवाइस के सभी संसाधनों, जैसे कि कैमरा फ़ंक्शन, जीपीएस डेटा, ब्लूटूथ फ़ंक्शन, टेलीफ़ोनी फ़ंक्शन, और नेटवर्क कनेक्शन को ऑपरेटिंग सिस्टम के ज़रिए ऐक्सेस किया जाता है.
  • Android ऐप्लिकेशन रनटाइम: Android ऐप्लिकेशन ज़्यादातर Java प्रोग्रामिंग लैंग्वेज में लिखे जाते हैं और Android रनटाइम (एआरटी) में चलते हैं. हालांकि, Android की मुख्य सेवाओं और ऐप्लिकेशन के साथ-साथ कई ऐप्लिकेशन, नेटिव ऐप्लिकेशन होते हैं या उनमें नेटिव लाइब्रेरी शामिल होती हैं. ART और नेटिव ऐप्लिकेशन, दोनों एक ही सुरक्षा एनवायरमेंट में चलते हैं. यह एनवायरमेंट, ऐप्लिकेशन सैंडबॉक्स में होता है. ऐप्लिकेशन को फ़ाइल सिस्टम का एक खास हिस्सा मिलता है. इसमें वे डेटाबेस और रॉ फ़ाइलों के साथ-साथ निजी डेटा लिख सकते हैं.

Android ऐप्लिकेशन, Android ऑपरेटिंग सिस्टम की सुविधाओं को बढ़ाते हैं. ऐप्लिकेशन के लिए दो मुख्य सोर्स होते हैं:

  • पहले से इंस्टॉल किए गए ऐप्लिकेशन: Android में पहले से इंस्टॉल किए गए ऐप्लिकेशन का एक सेट शामिल होता है. इनमें फ़ोन, ईमेल, कैलेंडर, वेब ब्राउज़र, और संपर्क ऐप्लिकेशन शामिल हैं. ये ऐप्लिकेशन, उपयोगकर्ता ऐप्लिकेशन के तौर पर काम करते हैं. ये डिवाइस की मुख्य सुविधाएं देते हैं, जिन्हें अन्य ऐप्लिकेशन ऐक्सेस कर सकते हैं. पहले से इंस्टॉल किए गए ऐप्लिकेशन, ओपन सोर्स Android प्लैटफ़ॉर्म का हिस्सा हो सकते हैं. इसके अलावा, इन्हें डिवाइस बनाने वाली कंपनी किसी खास डिवाइस के लिए भी बना सकती है.
  • उपयोगकर्ता के इंस्टॉल किए गए ऐप्लिकेशन: Android, ओपन डेवलपमेंट एनवायरमेंट उपलब्ध कराता है. यह तीसरे पक्ष के किसी भी ऐप्लिकेशन के साथ काम करता है. Google Play, उपयोगकर्ताओं को लाखों ऐप्लिकेशन उपलब्ध कराता है.

Google की सुरक्षा सेवाएं

Google, क्लाउड पर आधारित सेवाओं का एक सेट उपलब्ध कराता है. ये सेवाएं, Google Mobile Services वाले Android डिवाइसों पर उपलब्ध होती हैं. ये सेवाएं, Android Open Source Project (AOSP) का हिस्सा नहीं हैं. हालांकि, ये कई Android डिवाइसों में शामिल होती हैं. इनमें से कुछ सेवाओं के बारे में ज़्यादा जानने के लिए, Android Security की 2018 की सालाना रिपोर्ट देखें.

Google की मुख्य सुरक्षा सेवाएं ये हैं:

  • Google Play: Google Play, सेवाओं का एक कलेक्शन है. इसकी मदद से लोग, अपने Android डिवाइस या वेब से ऐप्लिकेशन ढूंढ सकते हैं, उन्हें इंस्टॉल कर सकते हैं, और खरीद सकते हैं. Google Play की मदद से, डेवलपर आसानी से Android उपयोगकर्ताओं और संभावित ग्राहकों तक पहुंच सकते हैं. Google Play, कम्यूनिटी की समीक्षा करने की सुविधा भी देता है. साथ ही, ऐप्लिकेशन के लाइसेंस की पुष्टि करने, ऐप्लिकेशन की सुरक्षा की जाँच करने, और अन्य सुरक्षा सेवाएं देने की सुविधा भी देता है.
  • Android के अपडेट: Android अपडेट सेवा, चुनिंदा Android डिवाइसों को नई सुविधाएं और सुरक्षा से जुड़े अपडेट उपलब्ध कराती है. इनमें वेब या ओवर द एयर (ओटीए) के ज़रिए मिलने वाले अपडेट शामिल हैं.
  • ऐप्लिकेशन सेवाएं: ये ऐसे फ़्रेमवर्क होते हैं जिनकी मदद से Android ऐप्लिकेशन, क्लाउड की सुविधाओं का इस्तेमाल कर सकते हैं. जैसे, ऐप्लिकेशन के डेटा और सेटिंग का बैक अप लेना और पुश मैसेज के लिए क्लाउड-टू-डिवाइस मैसेजिंग (C2DM) का इस्तेमाल करना.
  • ऐप्लिकेशन की पुष्टि करें: यह सुविधा, नुकसान पहुंचाने वाले ऐप्लिकेशन को इंस्टॉल करने से पहले चेतावनी देती है या उन्हें अपने-आप ब्लॉक कर देती है. साथ ही, यह डिवाइस पर मौजूद ऐप्लिकेशन को लगातार स्कैन करती है. इससे नुकसान पहुंचाने वाले ऐप्लिकेशन के बारे में चेतावनी मिलती है या उन्हें हटा दिया जाता है.
  • SafetyNet: यह निजता बनाए रखने वाला घुसपैठ का पता लगाने वाला सिस्टम है. यह Google को ट्रैक करने, सुरक्षा से जुड़े जाने-पहचाने खतरों को कम करने, और सुरक्षा से जुड़े नए खतरों की पहचान करने में मदद करता है.
  • SafetyNet Attestation: यह तीसरे पक्ष का एपीआई है. इससे यह पता चलता है कि डिवाइस, CTS के साथ काम करता है या नहीं. पुष्टि की मदद से, ऐप्लिकेशन सर्वर से कम्यूनिकेट करने वाले Android ऐप्लिकेशन की पहचान भी की जा सकती है.
  • Android डिवाइस मैनेजर: यह एक वेब ऐप्लिकेशन और Android ऐप्लिकेशन है. इसका इस्तेमाल, खोए या चोरी हुए डिवाइस का पता लगाने के लिए किया जाता है.

सुरक्षा प्रोग्राम की खास जानकारी

Android Security Program के मुख्य कॉम्पोनेंट में ये शामिल हैं:

  • डिज़ाइन की समीक्षा: Android की सुरक्षा प्रोसेस, डेवलपमेंट लाइफ़साइकल की शुरुआत में ही शुरू हो जाती है. इसमें, कॉन्फ़िगर किए जा सकने वाले बेहतर सुरक्षा मॉडल और डिज़ाइन बनाए जाते हैं. प्लैटफ़ॉर्म की हर मुख्य सुविधा की समीक्षा इंजीनियरिंग और सुरक्षा संसाधनों की मदद से की जाती है. साथ ही, सिस्टम के आर्किटेक्चर में सुरक्षा से जुड़े ज़रूरी कंट्रोल इंटिग्रेट किए जाते हैं.
  • पेनेट्रेशन टेस्टिंग और कोड की समीक्षा: प्लैटफ़ॉर्म को डेवलप करते समय, Android के बनाए गए और ओपन सोर्स कॉम्पोनेंट की सुरक्षा से जुड़ी बारीकी से समीक्षाएं की जाती हैं. इनकी समीक्षा, Android की सुरक्षा टीम, Google की सूचना सुरक्षा इंजीनियरिंग टीम, और सुरक्षा से जुड़े स्वतंत्र सलाहकार करते हैं. इन समीक्षाओं का मकसद, मुख्य रिलीज़ से पहले कमियों और संभावित जोखिमों की पहचान करना है. साथ ही, रिलीज़ के बाद बाहरी सुरक्षा विशेषज्ञ जिस तरह का विश्लेषण करते हैं उसे सिम्युलेट करना है.
  • ओपन सोर्स और कम्यूनिटी की समीक्षा: AOSP, सुरक्षा से जुड़ी समीक्षा करने की सुविधा देता है. इसमें कोई भी व्यक्ति या कंपनी हिस्सा ले सकती है. Android, ओपन सोर्स टेक्नोलॉजी का भी इस्तेमाल करता है. इनकी सुरक्षा की समीक्षा, बाहरी विशेषज्ञों ने की है. जैसे, Linux कर्नल. Google Play, उपयोगकर्ताओं और कंपनियों को एक फ़ोरम उपलब्ध कराता है. इस फ़ोरम पर, उपयोगकर्ता और कंपनियां सीधे तौर पर लोगों को किसी ऐप्लिकेशन के बारे में जानकारी दे सकती हैं.
  • सुरक्षा से जुड़े मामलों पर कार्रवाई करना: इन सावधानियों के बावजूद, शिपिंग के बाद सुरक्षा से जुड़ी समस्याएं हो सकती हैं. इसलिए, Android प्रोजेक्ट ने सुरक्षा से जुड़े मामलों पर कार्रवाई करने के लिए एक पूरी प्रोसेस बनाई है. Android सुरक्षा टीम के फ़ुल-टाइम सदस्य, Android से जुड़ी और सामान्य सुरक्षा कम्यूनिटी पर नज़र रखते हैं. इससे उन्हें संभावित कमज़ोरियों पर चर्चा करने और Android के बग डेटाबेस में फ़ाइल किए गए सुरक्षा से जुड़े बग की समीक्षा करने में मदद मिलती है. अगर हमें कोई समस्या मिलती है, तो Android टीम के पास एक प्रोसेस होती है. इससे, कमियों को तुरंत ठीक किया जा सकता है. इससे यह पक्का किया जा सकता है कि Android इस्तेमाल करने वाले सभी लोगों के लिए, संभावित जोखिम कम से कम हो. क्लाउड की मदद से मिलने वाली इन प्रतिक्रियाओं में, Android प्लैटफ़ॉर्म को अपडेट करना (AOSP अपडेट), Google Play से ऐप्लिकेशन हटाना, और फ़ील्ड में मौजूद डिवाइसों से ऐप्लिकेशन हटाना शामिल हो सकता है.
  • हर महीने सुरक्षा से जुड़े अपडेट: Android की सुरक्षा टीम, Google के Android डिवाइसों और डिवाइस बनाने वाले सभी पार्टनर को हर महीने अपडेट उपलब्ध कराती है.

प्लैटफ़ॉर्म का सिक्योरिटी आर्किटेक्चर

Android का मकसद, मोबाइल प्लैटफ़ॉर्म के लिए सबसे सुरक्षित और इस्तेमाल में आसान ऑपरेटिंग सिस्टम बनना है. इसके लिए, वह ऑपरेटिंग सिस्टम के सुरक्षा कंट्रोल को फिर से इस्तेमाल करता है, ताकि:

  • ऐप्लिकेशन और उपयोगकर्ता के डेटा को सुरक्षित रखना
  • सिस्टम के संसाधनों (नेटवर्क भी शामिल है) को सुरक्षित रखना
  • सिस्टम, अन्य ऐप्लिकेशन, और उपयोगकर्ता से ऐप्लिकेशन को अलग रखना

इन लक्ष्यों को पूरा करने के लिए, Android में सुरक्षा से जुड़ी ये मुख्य सुविधाएं उपलब्ध हैं:

  • Linux कर्नेल की मदद से, ओएस लेवल पर बेहतर सुरक्षा
  • सभी ऐप्लिकेशन के लिए, ऐप्लिकेशन सैंडबॉक्स का इस्तेमाल करना ज़रूरी है
  • इंटरप्रोसेस कम्यूनिकेशन को सुरक्षित करना
  • ऐप पर हस्ताक्षर
  • ऐप्लिकेशन से तय की गई और उपयोगकर्ता की दी गई अनुमतियां