Android, सुरक्षा से जुड़ी अपनी क्षमताओं और सुविधाओं को लगातार बेहतर बनाता रहता है. देखें बाएं नेविगेशन में रिलीज़ के हिसाब से बेहतर बनाने की सुविधा की सूची देखें.
Every Android release includes dozens of security enhancements to protect users. Here are some of the major security enhancements available in Android 14:
- Hardware-assisted AddressSanitizer (HWASan), introduced in Android 10, is a memory error detection tool similar to AddressSanitizer. Android 14 brings significant improvements to HWASan. Learn how it helps prevent bugs from making it into Android releases, HWAddressSanitizer
- In Android 14, starting with apps that share location data with third-parties, the system runtime permission dialog now includes a clickable section that highlights the app's data-sharing practices, including information such as why an app may decide to share data with third parties.
- Android 12 introduced an option to disable 2G support at the modem level, which protects users from the inherent security risk from 2G's obsolete security model. Recognizing how critical disabling 2G could be for enterprise customers, Android 14 enables this security feature in Android Enterprise, introducing support for IT admins to restrict the ability of a managed device to downgrade to 2G connectivity.
- Added support to reject null-ciphered cellular connections, ensuring that circuit-switched voice and SMS traffic is always encrypted and protected from passive over-the-air interception. Learn more about Android's program to harden cellular connectivity.
- Added support for multiple IMEIs
- Since Android 14, AES-HCTR2 is the preferred mode of filenames encryption for devices with accelerated cryptography instructions.
- Cellular connectivity
- Documentation added for Android Safety Center
- If your app targets Android 14 and uses Dynamic Code Loading (DCL), all dynamically-loaded files must be marked as read-only. Otherwise, the system throws an exception. We recommend that apps avoid dynamically loading code whenever possible, as doing so greatly increases the risk that an app can be compromised by code injection or code tampering.
Check out our full AOSP release notes and the Android Developer features and changes list.
Every Android release includes dozens of security enhancements to protect users. Here are some of the major security enhancements available in Android 13:
- Android 13 adds multi-document presentation support. This new Presentation Session interface enables an app to do a multi-document presentation, something which isn't possible with the existing API. For further information, refer to Identity Credential
- In Android 13, intents originating from external apps are delivered to an exported component if and only if the intents match their declared intent-filter elements.
- Open Mobile API (OMAPI) is a standard API used to communicate with a device's Secure Element. Before Android 13, only apps and framework modules had access to this interface. By converting it to a vendor stable interface, HAL modules are also capable of communicating with the secure elements through the OMAPI service. For more information, see OMAPI Vendor Stable Interface.
- As of Android 13-QPR, shared UIDs are deprecated. Users of Android 13 or higher should put the line `android:sharedUserMaxSdkVersion="32"` in their manifest. This entry prevents new users from getting a shared UID. For further information on UIDs, see App signing.
- Android 13 added support Keystore symmetric cryptographic primitives such as AES (Advanced Encryption Standard), HMAC (Keyed-Hash Message Authentication Code), and asymmetric cryptographic algorithms (including Elliptic Curve, RSA2048, RSA4096, and Curve 25519)
- Android 13 (API level 33) and higher supports a runtime permission for sending non-exempt notifications from an app. This gives users control over which permission notifications they see.
- Added per-use prompt for apps requesting access to all device logs, giving users the ability to allow or deny access.
- introduced the Android Virtualization Framework (AVF), which brings together different hypervisors under one framework with standardized APIs. It provides secure and private execution environments for executing workloads isolated by hypervisor.
- Introduced APK signature scheme v3.1 All new key rotations that use apksigner use the v3.1 signature scheme by default to target rotation for Android 13 and higher.
Check out our full AOSP release notes and the Android Developer features and changes list.
Android के हर वर्शन में, सुरक्षा से जुड़े कई सुधारों को शामिल किया गया है, ताकि उपयोगकर्ता. Android 12 में सुरक्षा से जुड़े कुछ अहम सुधार किए गए हैं. यहां इनके बारे में बताया गया है:
- Android 12 के लिए पेश है BiometricManager.Strings एपीआई, जो ऐप्लिकेशन का इस्तेमाल करने वाले ऐप्लिकेशन के लिए स्थानीय जगह के अनुसार स्ट्रिंग उपलब्ध कराता है पुष्टि करने के लिए बायोमेट्रिक प्रॉम्प्ट. इन स्ट्रिंग का मकसद, डिवाइस की जानकारी रखना और इस बारे में ज़्यादा सटीक जानकारी दें कि पुष्टि करने के किस तरीके का इस्तेमाल किया जा सकता है. Android 12 में, डिसप्ले में मौजूद फ़िंगरप्रिंट सेंसर के साथ भी काम करने की सुविधा है
- डिसप्ले में फ़िंगरप्रिंट सेंसर के लिए सहायता जोड़ी गई
- फ़िंगरप्रिंट Android इंटरफ़ेस डेफ़िनिशन लैंग्वेज (एआईडीएल) के बारे में जानकारी
- नए फ़ेस एआईडीएल के लिए सहायता
- प्लैटफ़ॉर्म डेवलपमेंट के लिए एक भाषा के तौर पर Rust के बारे में जानकारी
- उपयोगकर्ताओं को सिर्फ़ अपनी अनुमानित जगह की जानकारी का ऐक्सेस देने का विकल्प जोड़ा गया
- जब कोई ऐप्लिकेशन कैमरे या माइक्रोफ़ोन का इस्तेमाल करता है, तब स्टेटस बार पर निजता इंडिकेटर जोड़े गए
- Android का Private Compute Core (PCC)
- 2G नेटवर्क की सुविधा बंद करने का विकल्प जोड़ा गया
Android के हर वर्शन में, सुरक्षा से जुड़े कई सुधारों को शामिल किया गया है, ताकि उपयोगकर्ता. यहां उपलब्ध, सुरक्षा से जुड़े अहम सुधारों की सूची देखने के लिए Android 11 के लिए, देखें Android रिलीज़ नोट.
Android के हर रिलीज़ में, उपयोगकर्ताओं को सुरक्षित रखने के लिए सुरक्षा से जुड़ी कई सुविधाएं शामिल की जाती हैं. Android 10 में सुरक्षा और निजता से जुड़ी कई सुविधाएं बेहतर की गई हैं. Android 10 के प्रॉडक्ट की जानकारी देखें Android 10 में हुए बदलावों की पूरी सूची देखें.
सुरक्षा
बाउंड सैनिटाइज़र
Android 10 में BoundsSanitizer का इस्तेमाल किया जा रहा है (BoundSan) को ब्लूटूथ और कोडेक में साइन इन कर सकते हैं. BoundSan, UBSan के bounds sanitizer का इस्तेमाल करता है. जोखिम को कम करने की यह प्रोसेस, हर मॉड्यूल के लेवल पर चालू है. इससे Android के अहम कॉम्पोनेंट को सुरक्षित रखने में मदद मिलती है. इसलिए, इसे बंद नहीं किया जाना चाहिए. BoundSan इन कोडेक में चालू है:
libFLAC
libavcdec
libavcenc
libhevcdec
libmpeg2
libopus
libvpx
libspeexresampler
libvorbisidec
libaac
libxaac
सिर्फ़ एक्सीक्यूट करने के लिए मेमोरी
डिफ़ॉल्ट रूप से, AArch64 सिस्टम बाइनरी के लिए एक्ज़ीक्यूटेबल कोड सेक्शन, डिफ़ॉल्ट रूप से मार्क किए हुए हैं जस्ट-इन-टाइम कोड के ख़िलाफ़, सख्ती से ध्यान देने के लिए, सिर्फ़ एक्ज़ीक्यूट करने (रीड नहीं किया जा सकने वाला) के तौर पर कॉन्टेंट का दोबारा इस्तेमाल न करें. डेटा और कोड को एक साथ मिलाने वाला कोड और ऐसे कोड जो पहले से ही मेमोरी सेगमेंट को पढ़ने लायक के तौर पर फिर से मैप किए बिना, इन सेक्शन की जांच करते हैं, अब काम नहीं करते. अगर कोई ऐप्लिकेशन, सिर्फ़-इंप्लिकेशन (XOM) वाली सिस्टम लाइब्रेरी के कोड सेक्शन को पढ़ने की कोशिश करता है, तो उस पर असर पड़ता है. ऐसा तब होता है, जब ऐप्लिकेशन पहले सेक्शन को पढ़ने लायक के तौर पर मार्क किए बिना, उसे मेमोरी में पढ़ने की कोशिश करता है. यह असर, Android 10 (एपीआई लेवल 29 या इसके बाद के वर्शन) के टारगेट SDK टूल वाले ऐप्लिकेशन पर पड़ता है.
एक्सटेंडेड ऐक्सेस
भरोसेमंद एजेंट, तीसरे पक्ष की पुष्टि के लिए इस्तेमाल किया जाने वाला बुनियादी तरीका Smart Lock जैसे तरीके सिर्फ़ Android 10 पर अनलॉक करने की अवधि बढ़ा सकते हैं. भरोसेमंद एजेंट, अब लॉक किए गए डिवाइस को अनलॉक नहीं कर सकते. साथ ही, वे किसी डिवाइस को ज़्यादा से ज़्यादा चार घंटे तक ही अनलॉक रख सकते हैं.
चेहरे से अनलॉक करें
चेहरा पुष्टि करने की सुविधा का इस्तेमाल करके, उपयोगकर्ता आसानी से अपने डिवाइस को सामने रखा जा सकता है. Android 10 में, चेहरे की पहचान करने की सुविधा के लिए एक नया स्टैक जोड़ा गया है. यह स्टैक, कैमरे के फ़्रेम को सुरक्षित तरीके से प्रोसेस कर सकता है. साथ ही, यह चेहरे की पहचान करने की सुविधा के साथ काम करने वाले हार्डवेयर पर, सुरक्षा और निजता को बनाए रखता है. Android 10 के लिए के लिए ऐप्लिकेशन इंटिग्रेशन को चालू करने के लिए, सुरक्षा-अनुपालन से जुड़ी ऑनलाइन बैंकिंग या अन्य सेवाओं जैसे लेन-देन.
पूर्णांक के ओवरफ़्लो को सैनिटाइज़ करना
Android 10, Integer ओवरफ़्लो को चालू करता है सॉफ़्टवेयर कोडेक में सैनिटाइज़ेशन (IntSan). पक्का करें कि डिवाइस के हार्डवेयर पर काम न करने वाले कोडेक के लिए, वीडियो चलाने की परफ़ॉर्मेंस ठीक हो. IntSan इन कोडेक में चालू है:
libFLAC
libavcdec
libavcenc
libhevcdec
libmpeg2
libopus
libvpx
libspeexresampler
libvorbisidec
मॉड्यूलर सिस्टम के कॉम्पोनेंट
Android 10 कुछ Android डिवाइसों में सिस्टम कॉम्पोनेंट और उन्हें बाहर अपडेट किया जा सकता है Android के सामान्य रिलीज़ साइकल में होता है. कुछ मॉड्यूल में ये शामिल हैं:
- Android रनटाइम
- कंक्रिप्ट
- डीएनएस रिज़ॉल्वर
- DocumentsUI
- ExtServices
- मीडिया
- ModuleMetadata
- नेटवर्किंग
- PermissionController
- समय ज़ोन डेटा
ओईएमक्रिप्टो
Android 10, OEMCrypto API के वर्शन 15 का इस्तेमाल करता है.
Scudo
Scudo, डाइनैमिक उपयोगकर्ता-मोड मेमोरी ऐलोकेटर है. इसे हेप से जुड़ी कमजोरियों से ज़्यादा सुरक्षित बनाने के लिए डिज़ाइन किया गया है. यह स्टैंडर्ड सी ऐलोकेशन और डीललोकेशन प्रिमिटिव और C++ प्रिमिटिव.
ShadowCallStack
ShadowCallStack
(SCS)
एक LLVM
इंस्ट्रूमेंटेशन मोड है. यह रिटर्न पते को ओवरराइट होने से बचाता है. जैसे, स्टैक बफ़र ओवरफ़्लो. इसके लिए, यह किसी फ़ंक्शन के रिटर्न पते को, अलग से लिए गए ShadowCallStack
इंस्टेंस में सेव करता है. यह इंस्टेंस, नॉन-लीफ़ फ़ंक्शन के फ़ंक्शन प्रोलॉग में होता है. साथ ही, यह फ़ंक्शन एपिलॉग में ShadowCallStack
इंस्टेंस से रिटर्न पता लोड करता है.
WPA3 और वाई-फ़ाई Enhanced Open
Android 10 में, वाई-फ़ाई की सुविधा जोड़ी गई Protected Access 3 (WPA3) और वाई-फ़ाई की बेहतर ओपन सुरक्षा के मानक सायबर हमलों से बचने के लिए, लोगों की निजता और सुरक्षा को बेहतर बनाया जा सकता है.
निजता
Android 9 या इससे पहले के वर्शन को टारगेट करने पर, ऐप्लिकेशन का ऐक्सेस
अगर आपका ऐप्लिकेशन Android 10 या इसके बाद वाले वर्शन पर काम करता है, लेकिन आपका ऐप्लिकेशन Android 9 (एपीआई लेवल 28) को टारगेट करता है या इससे पहले के लेवल पर, प्लैटफ़ॉर्म ये व्यवहार लागू करता है:
- अगर आपका ऐप्लिकेशन,
<uses-permission>
का एलान करता हैACCESS_FINE_LOCATION
में से किसी एक के लिए एलिमेंट याACCESS_COARSE_LOCATION
, सिस्टम, प्रॉपर्टी के लिए<uses-permission>
एलिमेंट अपने-आप जोड़ देता है इंस्टॉल करने के दौरानACCESS_BACKGROUND_LOCATION
. - अगर आपका ऐप्लिकेशन
ACCESS_FINE_LOCATION
याACCESS_COARSE_LOCATION
का अनुरोध करता है, तो सिस्टम अनुरोध मेंACCESS_BACKGROUND_LOCATION
को अपने-आप जोड़ देता है.
बैकग्राउंड में होने वाली गतिविधि से जुड़ी पाबंदियां
Android 10 में, सिस्टम बैकग्राउंड से गतिविधियां शुरू करने पर पाबंदियां लगाता है. इस बदलाव से, उपयोगकर्ता को कम रुकावटों का सामना करना पड़ता है. साथ ही, उपयोगकर्ता के पास अपनी स्क्रीन पर दिखने वाली जानकारी को कंट्रोल करने का ज़्यादा विकल्प होता है. जब तक आपका ऐप्लिकेशन, उपयोगकर्ता के इंटरैक्शन के सीधे नतीजे के तौर पर गतिविधियां शुरू करता है, तब तक इन पाबंदियों का आपके ऐप्लिकेशन पर असर पड़ने की संभावना नहीं है.
बैकग्राउंड से गतिविधियां शुरू करने के सुझाए गए विकल्प के बारे में ज़्यादा जानने के लिए, अपने ऐप्लिकेशन में समय के हिसाब से ज़रूरी इवेंट के बारे में उपयोगकर्ताओं को सूचना देने का तरीका बताने वाली गाइड देखें.
कैमरे का मेटाडेटा
Android 10, getCameraCharacteristics()
तरीका से डिफ़ॉल्ट रूप से मिलने वाली जानकारी में बदलाव करता है. खास तौर पर, आपके ऐप्लिकेशन के पास CAMERA
अनुमति होनी चाहिए, ताकि वह इस तरीके की रिटर्न वैल्यू में शामिल, डिवाइस के हिसाब से मेटाडेटा को ऐक्सेस कर सके.
इन बदलावों के बारे में ज़्यादा जानने के लिए, ऐसे कैमरे फ़ील्ड के बारे में सेक्शन देखें जिनके लिए अनुमति की ज़रूरत होती है.
क्लिपबोर्ड डेटा
जब तक कि आपका ऐप्लिकेशन डिफ़ॉल्ट इनपुट न हो मेथड एडिटर (IME) या ऐसा ऐप्लिकेशन जिसमें फ़िलहाल फ़ोकस मौजूद है, आपका ऐप्लिकेशन ये काम नहीं कर सकता Android 10 या इसके बाद के वर्शन पर क्लिपबोर्ड डेटा ऐक्सेस करने की सुविधा मिलती है.
डिवाइस की जगह की जानकारी
इसके लिए, लोगों के पास ऐप्लिकेशन के ऐक्सेस से जुड़ा अतिरिक्त कंट्रोल उपलब्ध कराया जाता है
जगह की जानकारी, Android 10 में ACCESS_BACKGROUND_LOCATION
की सुविधा जोड़ी गई है
अनुमति.
ACCESS_FINE_LOCATION
और ACCESS_COARSE_LOCATION
अनुमतियों के उलट, ACCESS_BACKGROUND_LOCATION
अनुमति का असर सिर्फ़ तब पड़ता है, जब ऐप्लिकेशन बैकग्राउंड में चल रहा हो. ऐप्लिकेशन को
बैकग्राउंड में जगह की जानकारी ऐक्सेस करता हो, बशर्ते इनमें से कोई एक न हो
शर्तें पूरी होती हैं:
- ऐप्लिकेशन से जुड़ी कोई गतिविधि दिख रही है.
- ऐप्लिकेशन, ऐसी फ़ोरग्राउंड सेवा चला रहा है जिसने
location
के फ़ोरग्राउंड सेवा टाइप का एलान किया है.
अपने ऐप्लिकेशन में किसी सेवा के लिए, फ़ोरग्राउंड सेवा का टाइप बताने के लिए, अपने ऐप्लिकेशन केtargetSdkVersion
याcompileSdkVersion
को29
या उससे ज़्यादा पर सेट करें. इस बारे में ज़्यादा जानें कि फ़ोरग्राउंड सेवाएं, उपयोगकर्ता की शुरू की गई उन कार्रवाइयों को जारी कैसे रख सकती हैं जिनके लिए जगह की जानकारी का ऐक्सेस ज़रूरी है.
बाहरी मेमोरी
डिफ़ॉल्ट रूप से, Android 10 और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, स्कोप का इस्तेमाल किया जाता है बाहरी स्टोरेज या स्कोप वाले स्टोरेज के ऐक्सेस को ऐक्सेस करने की सुविधा मिलती है. ऐसे ऐप्लिकेशन देख सकते हैं बाहरी स्टोरेज डिवाइस में इस तरह की फ़ाइलें बिना किसी ज़रूरत के स्टोरेज से जुड़ी उपयोगकर्ता की अनुमतियों का अनुरोध करने के लिए:
- ऐप्लिकेशन के लिए खास डायरेक्ट्री में मौजूद फ़ाइलें, जिन्हें
getExternalFilesDir()
का इस्तेमाल करके ऐक्सेस किया गया है. - ऐप्लिकेशन की मदद से, मीडिया से बनाई गई फ़ोटो, वीडियो, और ऑडियो क्लिप स्टोर.
डिवाइस के स्कोप वाले स्टोरेज के बारे में ज़्यादा जानने के साथ-साथ, उसे शेयर करने, ऐक्सेस करने, और बाहरी स्टोरेज डिवाइसों पर सेव की गई फ़ाइलों में बदलाव करने के साथ-साथ, मैनेज करने के लिए बाहरी स्टोरेज में मौजूद फ़ाइलें और ऐक्सेस किया जा सकता है मीडिया फ़ाइलों में बदलाव करने के लिए किया जा सकता है.
एमएसी पता रैंडमाइज़ेशन
Android 10 या इसके बाद के वर्शन वाले डिवाइसों पर, सिस्टम डिफ़ॉल्ट रूप से रैंडम मैक पता भेजता है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
अगर आपका ऐप्लिकेशन, एंटरप्राइज़ के इस्तेमाल का उदाहरण मैनेज करता है, तो
यह प्लैटफ़ॉर्म, MAC पतों से जुड़ी कई कार्रवाइयों के लिए एपीआई उपलब्ध कराता है:
- किसी भी क्रम में मिला MAC पता: डिवाइस के मालिक के ऐप्लिकेशन और
प्रोफ़ाइल के मालिकाना हक वाले ऐप्लिकेशन, किसी भी
getRandomizedMacAddress()
पर कॉल करके किसी खास नेटवर्क से कनेक्ट करें. - असल, फ़ैक्ट्री मैक पता पाना: डिवाइस के मालिक के ऐप्लिकेशन,
getWifiMacAddress()
को कॉल करके, डिवाइस का असल हार्डवेयर मैक पता पा सकते हैं. यह विधि डिवाइस के समूह को ट्रैक करने के लिए उपयोगी है.
रीसेट नहीं किए जा सकने वाले डिवाइस आइडेंटिफ़ायर
Android 10 के बाद, डिवाइस के ऐसे आइडेंटिफ़ायर को ऐक्सेस करने के लिए, ऐप्लिकेशन के पास READ_PRIVILEGED_PHONE_STATE
खास अनुमति होनी चाहिए जिन्हें रीसेट नहीं किया जा सकता. इनमें IMEI और सीरियल नंबर, दोनों शामिल हैं.
Build
TelephonyManager
अगर आपके ऐप्लिकेशन के पास अनुमति नहीं है और फिर भी, रीसेट नहीं किए जा सकने वाले आइडेंटिफ़ायर के बारे में जानकारी मांगी जाती है, तो टारगेट किए गए SDK टूल के वर्शन के आधार पर प्लैटफ़ॉर्म का जवाब अलग-अलग होता है:
- अगर आपका ऐप्लिकेशन Android 10 या इसके बाद वाले वर्शन को टारगेट करता है, तो
SecurityException
होता है. - अगर आपका ऐप्लिकेशन Android 9 (एपीआई लेवल 28) या उससे पहले के वर्शन को टारगेट करता है, तो यह तरीका
null
या प्लेसहोल्डर डेटा दिखाता है. हालांकि, ऐसा तब ही होता है, जब ऐप्लिकेशन के पासREAD_PHONE_STATE
अनुमति हो. ऐसा न होने पर,SecurityException
दिखता है.
शारीरिक गतिविधि की पहचान करने की सुविधा
Android 10 में, android.permission.ACTIVITY_RECOGNITION
रनटाइम की अनुमति की सुविधा जोड़ी गई है. यह सुविधा उन ऐप्लिकेशन के लिए है जिन्हें उपयोगकर्ता के कदमों की संख्या का पता लगाना है या उपयोगकर्ता की शारीरिक गतिविधि की कैटगरी तय करनी है. जैसे, पैदल चलना, साइकल चलाना या वाहन चलाना. इससे उपयोगकर्ताओं को यह जानने में मदद मिलती है कि डिवाइस का सेंसर डेटा कैसा है
का इस्तेमाल सेटिंग में किया गया है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Google Play services में मौजूद कुछ लाइब्रेरी, जैसे कि गतिविधि
Recognition API और Google
Fit API, उपयोगकर्ता जब तक आपके ऐप्लिकेशन को यह अनुमति न दे, तब तक नतीजे न दिखाएं
अनुमति.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
केवल बिल्ट-इन
जिस डिवाइस के सेंसर को ऐक्सेस करने के लिए आपको इस अनुमति का एलान करना ज़रूरी है वह
काउंटर और स्टेप
डिटेक्टर सेंसर.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
अगर आपका ऐप्लिकेशन, Android 9 (एपीआई लेवल 28) या इससे पहले के वर्शन को टारगेट करता है, तो सिस्टम
android.permission.ACTIVITY_RECOGNITION
की अनुमति अपने-आप देता है
को ज़रूरत के मुताबिक, आपके ऐप्लिकेशन को डाउनलोड कर सकता है.
शर्तें:
- मेनिफ़ेस्ट फ़ाइल में
com.google.android.gms.permission.ACTIVITY_RECOGNITION
की अनुमति. - मेनिफ़ेस्ट फ़ाइल में शामिल नहीं होता
android.permission.ACTIVITY_RECOGNITION
की अनुमति.
अगर सिस्टम-ऑटो'
android.permission.ACTIVITY_RECOGNITION
अनुमति, आपका ऐप्लिकेशन
Android 10 को टारगेट करने के लिए, अपने ऐप्लिकेशन को अपडेट करने के बाद भी अनुमति बनी रहती है. हालांकि,
उपयोगकर्ता के पास सिस्टम सेटिंग में जाकर, इस अनुमति को किसी भी समय रद्द करने का विकल्प होता है.
/proc/net फ़ाइल सिस्टम से जुड़ी पाबंदियां
Android 10 या उसके बाद के वर्शन वाले डिवाइसों पर, ऐप्लिकेशन ऐक्सेस नहीं कर सकते
/proc/net
, जिसमें डिवाइस के नेटवर्क की जानकारी शामिल होती है
राज्य. जिन ऐप्लिकेशन को इस जानकारी का ऐक्सेस चाहिए, जैसे कि वीपीएन, उन्हें NetworkStatsManager
या ConnectivityManager
क्लास का इस्तेमाल करना चाहिए.
यूज़र इंटरफ़ेस (यूआई) से अनुमतियों के ग्रुप हटाए गए
Android 10 के बाद, ऐप्लिकेशन यह नहीं देख सकते कि यूज़र इंटरफ़ेस में अनुमतियां कैसे ग्रुप की गई हैं.
संपर्कों की जानकारी हटाना
Android 10 से, प्लैटफ़ॉर्म संपर्कों की अफ़िनिटी की जानकारी को ट्रैक नहीं करता. इसलिए, अगर आपका ऐप्लिकेशन उपयोगकर्ता के संपर्कों को खोजता है, तो नतीजों को इंटरैक्शन की फ़्रीक्वेंसी के हिसाब से क्रम में नहीं लगाया जाता.
ContactsProvider
के बारे में गाइड में एक सूचना दी गई है. इसमें, Android 10 वाले सभी डिवाइसों पर, ऐसे फ़ील्ड और तरीकों के बारे में बताया गया है जो अब काम नहीं करते.
स्क्रीन पर दिखने वाले कॉन्टेंट का ऐक्सेस सीमित करना
उपयोगकर्ताओं की स्क्रीन पर मौजूद कॉन्टेंट को सुरक्षित रखने के लिए, Android 10 ने READ_FRAME_BUFFER
, CAPTURE_VIDEO_OUTPUT
, और CAPTURE_SECURE_VIDEO_OUTPUT
अनुमतियों के दायरे में बदलाव किया है. इससे, डिवाइस की स्क्रीन पर मौजूद कॉन्टेंट को चुपचाप ऐक्सेस करने से रोका जा सकता है. Android 10 के बाद, ये अनुमतियां सिर्फ़ हस्ताक्षर का ऐक्सेस के लिए होती हैं.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
जिन ऐप्लिकेशन को डिवाइस की स्क्रीन के कॉन्टेंट को ऐक्सेस करने की ज़रूरत है उन्हें
MediaProjection
एपीआई, जो उपयोगकर्ता से सहमति देने का प्रॉम्प्ट दिखाता है.
यूएसबी डिवाइस का सीरियल नंबर
अगर आपका ऐप्लिकेशन Android 10 या उसके बाद वाले वर्शन को टारगेट करता है, तो आपका ऐप्लिकेशन सीरियल को नहीं पढ़ पाएगा
नंबर तब तक नहीं मिलता, जब तक उपयोगकर्ता ने आपके ऐप्लिकेशन को यूएसबी डिवाइस को ऐक्सेस करने की अनुमति नहीं दी है
या ऐक्सेसरी शामिल करें.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
USB डिवाइस के साथ काम करने के बारे में ज़्यादा जानने के लिए, कॉन्फ़िगर करने का तरीका जानने के लिए
यूएसबी होस्ट.
वाई-फ़ाई
Android 10 या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन, वाई-फ़ाई को चालू या बंद नहीं कर सकते. कॉन्टेंट बनाने
WifiManager.setWifiEnabled()
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
तरीका हमेशा false
दिखाता है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
यदि आपको उपयोगकर्ताओं को वाई-फ़ाई सक्षम या अक्षम करने का संकेत देना है, तो सेटिंग का उपयोग करें
पैनल पर क्लिक करें.
कॉन्फ़िगर किए गए वाई-फ़ाई नेटवर्क को सीधे ऐक्सेस करने पर पाबंदियां
उपयोगकर्ता की निजता की सुरक्षा के लिए, वाई-फ़ाई नेटवर्क की सूची को मैन्युअल तौर पर कॉन्फ़िगर किया जा सकता है
सिस्टम ऐप्लिकेशन और डिवाइस नीति तक सीमित है
कंट्रोलर (डीपीसी). कोई डीपीसी, डिवाइस का मालिक या प्रोफ़ाइल का मालिक हो सकता है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
अगर आपका ऐप्लिकेशन Android 10 या इसके बाद वाले वर्शन को टारगेट करता है और यह कोई सिस्टम ऐप्लिकेशन या
DPC का इस्तेमाल करते हैं, तो इन तरीकों से काम का डेटा नहीं मिलता:
getConfiguredNetworks()
वाला तरीका, हमेशा खाली सूची दिखाता है.- नेटवर्क ऑपरेशन का हर वह तरीका जो पूर्णांक वैल्यू दिखाता है—
addNetwork()
औरupdateNetwork()
—हमेशा -1 दिखाता है. - हर उस नेटवर्क ऑपरेशन की बूलियन वैल्यू दिखती है—
removeNetwork()
,reassociate()
,enableNetwork()
,disableNetwork()
,reconnect()
, औरdisconnect()
—हमेशाfalse
दिखाता है.
Android के हर वर्शन में, सुरक्षा से जुड़े कई सुधारों को शामिल किया गया है, ताकि उपयोगकर्ता. यहां उपलब्ध, सुरक्षा से जुड़े अहम सुधारों की सूची देखने के लिए Android 9 के लिए, देखें Android रिलीज़ नोट.
Every Android release includes dozens of security enhancements to protect users. Here are some of the major security enhancements available in Android 8.0:
- Encryption. Added support to evict key in work profile.
- Verified Boot. Added Android Verified Boot (AVB). Verified Boot codebase supporting rollback protection for use in boot loaders added to AOSP. Recommend bootloader support for rollback protection for the HLOS. Recommend boot loaders can only be unlocked by user physically interacting with the device.
- Lock screen. Added support for using tamper-resistant hardware to verify lock screen credential.
- KeyStore. Required key attestation for all devices that ship with Android 8.0+. Added ID attestation support to improve Zero Touch Enrollment.
- Sandboxing. More tightly sandboxed many components using Project Treble's standard interface between framework and device-specific components. Applied seccomp filtering to all untrusted apps to reduce the kernel's attack surface. WebView is now run in an isolated process with very limited access to the rest of the system.
- Kernel hardening. Implemented hardened usercopy, PAN emulation, read-only after init, and KASLR.
- Userspace hardening. Implemented CFI for the media stack. App overlays can no longer cover system-critical windows and users have a way to dismiss them.
- Streaming OS update. Enabled updates on devices that are are low on disk space.
- Install unknown apps. Users must grant permission to install apps from a source that isn't a first-party app store.
- Privacy. Android ID (SSAID) has a different value for
each app and each user on the device. For web browser apps, Widevine Client ID
returns a different value for each app package name and web origin.
net.hostname
is now empty and the dhcp client no longer sends a hostname.android.os.Build.SERIAL
has been replaced with theBuild.SERIAL
API which is protected behind a user-controlled permission. Improved MAC address randomization in some chipsets.
Android के हर रिलीज़ में, उपयोगकर्ताओं को सुरक्षित रखने के लिए सुरक्षा से जुड़ी कई सुविधाएं शामिल की जाती हैं. Android में उपलब्ध, सुरक्षा से जुड़े कुछ अहम सुधारों के बारे में यहां बताया गया है 7.0:
- फ़ाइल के आधार पर एन्क्रिप्शन. पूरे स्टोरेज को एक यूनिट के तौर पर एन्क्रिप्ट करने के बजाय, फ़ाइल के लेवल पर एन्क्रिप्ट करने से, डिवाइस पर मौजूद अलग-अलग उपयोगकर्ताओं और प्रोफ़ाइलों (जैसे, निजी और काम से जुड़ी प्रोफ़ाइल) को बेहतर तरीके से अलग किया जा सकता है और उन्हें सुरक्षित रखा जा सकता है.
- डायरेक्ट बूट. फ़ाइल-आधारित एन्क्रिप्शन की मदद से चालू होने वाले डायरेक्ट बूट की सुविधा की मदद से, डिवाइस के चालू होने पर, अलार्म घड़ी और सुलभता सुविधाओं जैसे कुछ ऐप्लिकेशन को बिना अनलॉक किए चलाया जा सकता है.
- वेरिफ़ाइड बूट. अब वेरिफ़ाइड बूट की सुविधा को सख्ती से लागू किया जा रहा है, ताकि हैक किए गए डिवाइसों को बूट होने से रोका जा सके. साथ ही, यह गड़बड़ी ठीक करने की सुविधा भी देता है, ताकि गलत मकसद से डेटा को नुकसान पहुंचाने से रोका जा सके.
- SELinux. SELinux कॉन्फ़िगरेशन को अपडेट किया गया और बढ़ाया गया seccomp कवरेज, ऐप्लिकेशन सैंडबॉक्स को और लॉक कर देता है और हमले को कम करता है की जगह है.
- लाइब्रेरी के लोड-ऑर्डर को किसी भी क्रम में लगाने की सुविधा और बेहतर एएसएलआर. रैंडमिटी बढ़ने से, कोड के फिर से इस्तेमाल से जुड़े कुछ हमले कम भरोसेमंद हो जाते हैं.
- कर्नेल को ज़्यादा सुरक्षित बनाना. नए कर्नेल के लिए, मेमोरी की अतिरिक्त सुरक्षा जोड़ी गई है. इसके लिए, कर्नेल मेमोरी के कुछ हिस्सों को रीड-ओनली के तौर पर मार्क किया गया है. साथ ही, कर्नेल के ऐक्सेस को यूज़रस्पेस पतों पर सीमित किया गया है. इससे, हमले के मौजूदा प्लैटफ़ॉर्म को और छोटा किया जा सकता है.
- APK सिग्नेचर स्कीम v2. पूरी फ़ाइल पर हस्ताक्षर पेश किया गया स्कीम की मदद से, वेबसाइट की पुष्टि की रफ़्तार को बेहतर बनाया जाता है और इंटिग्रिटी गारंटी को मज़बूत बनाया जाता है.
- भरोसेमंद सीए स्टोर. ऐप्लिकेशन को कंट्रोल करना आसान बनाने के लिए उनके सुरक्षित नेटवर्क ट्रैफ़िक का ऐक्सेस, उपयोगकर्ता की ओर से इंस्टॉल किए गए सर्टिफ़िकेट देने वाली संस्थाओं को साथ ही, डिवाइस एडमिन एपीआई की मदद से इंस्टॉल किए गए ऐप्लिकेशन, अब डिफ़ॉल्ट रूप से भरोसेमंद नहीं रहेंगे एपीआई लेवल 24 या उसके बाद के लेवल को टारगेट करने वाले ऐप्लिकेशन के लिए. इसके अलावा, सभी नए Android डिवाइसों को एक ही भरोसेमंद CA स्टोर से शिप किया जा सके.
- नेटवर्क सिक्योरिटी कॉन्फ़िगरेशन. नेटवर्क सुरक्षा और TLS को कॉन्फ़िगर करें को डिक्लेरेटिव कॉन्फ़िगरेशन वाली फ़ाइल के ज़रिए इस्तेमाल किया जा सकता है.
Android के हर रिलीज़ में, उपयोगकर्ताओं को सुरक्षित रखने के लिए सुरक्षा से जुड़ी कई सुविधाएं शामिल की जाती हैं. Android में उपलब्ध, सुरक्षा से जुड़े कुछ अहम सुधारों के बारे में यहां बताया गया है 6.0:
- रनटाइम अनुमतियां. ऐप्लिकेशन यहां अनुमतियों का अनुरोध करते हैं ऐप्लिकेशन पर दिए जाने के बजाय रनटाइम इंस्टॉल समय. उपयोगकर्ता, M और M से पहले, दोनों के लिए अनुमतियों को चालू और बंद कर सकते हैं दिखाई देता है.
- वेरिफ़ाइड बूट. सिस्टम सॉफ़्टवेयर को लागू करने से पहले, क्रिप्टोग्राफ़िक तरीके से कई तरह की जांच की जाती हैं. इससे यह पक्का किया जाता है कि फ़ोन के बूटलोडर से लेकर ऑपरेटिंग सिस्टम तक, सब कुछ ठीक है.
- हार्डवेयर से अलग की गई सुरक्षा. नई हार्डवेयर एब्स्ट्रैक्शन लेयर (एचएएल), जिसका इस्तेमाल फ़िंगरप्रिंट एपीआई, लॉकस्क्रीन, डिवाइस एन्क्रिप्शन, और क्लाइंट सर्टिफ़िकेट करते हैं. इससे कुंजियों को, कोर में होने वाले बदलाव और/या स्थानीय हमलों से बचाया जा सकता है
- फ़िंगरप्रिंट. डिवाइस को अब सिर्फ़ एक टच. डेवलपर, यह जानकारी भी ले सकते हैं सुरक्षा कुंजियों को लॉक और अनलॉक करने के लिए फ़िंगरप्रिंट का इस्तेमाल करने के लिए नए एपीआई का इस्तेमाल कर सकते हैं.
- एसडी कार्ड का इस्तेमाल. डिवाइस में, डिवाइस से हटाया जा सकने वाला मीडिया इस्तेमाल किया जा सकता है. इससे, ऐप्लिकेशन के स्थानीय डेटा, फ़ोटो, वीडियो वगैरह के लिए उपलब्ध स्टोरेज को बढ़ाया जा सकता है. हालांकि, इसे ब्लॉक-लेवल एन्क्रिप्शन की मदद से सुरक्षित रखा जा सकता है.
- क्लीयर टेक्स्ट ट्रैफ़िक. डेवलपर नए StrictMode का इस्तेमाल कर सकते हैं ताकि यह पक्का किया जा सके कि उनका ऐप्लिकेशन क्लियरटेक्स्ट.
- सिस्टम हार्डनिंग. नीतियों के ज़रिए सिस्टम को सख्त बनाना SELinux से लागू किया जाता है. इससे बेहतर ऑफ़र मिलते हैं उपयोगकर्ताओं को अलग-थलग महसूस कराना, आईओसीटीएल फ़िल्टर लगाना, बिना संपर्क में आने वाली सेवाओं के खतरे को कम करना, SELinux डोमेन को और मज़बूत बनाना, और /proc एक्सेस को बहुत सीमित करना.
- यूएसबी ऐक्सेस कंट्रोल: यूएसबी को अनुमति देने के लिए, उपयोगकर्ताओं को पुष्टि करनी होगी फ़ाइलों, स्टोरेज या अन्य चीज़ों का ऐक्सेस काम करता है. डिफ़ॉल्ट रूप से, अब सिर्फ़ शुल्क सेट किया गया है. साथ ही, स्टोरेज का ऐक्सेस पाने के लिए, उपयोगकर्ता की साफ़ तौर पर अनुमति लेनी होगी.
5.0
Android के हर वर्शन में, सुरक्षा से जुड़े कई सुधारों को शामिल किया गया है, ताकि उपयोगकर्ता. Android 5.0 में सुरक्षा से जुड़े कुछ अहम सुधार किए गए हैं. यहां उनमें से कुछ के बारे में बताया गया है:
- डिफ़ॉल्ट रूप से एन्क्रिप्ट किया गया. L से शिप करने वाले डिवाइसों पर सबसे अलग, पूरी डिस्क को एन्क्रिप्ट (सुरक्षित) करने की सुविधा डिफ़ॉल्ट रूप से चालू रहती है, ताकि खोए या चोरी हुए डिवाइसों पर मौजूद डेटा की सुरक्षा. ऐसे डिवाइस जो L में किए गए अपडेट को सेटिंग > में जाकर एन्क्रिप्ट (सुरक्षित) किया जा सकता है सुरक्षा .
- डिस्क पर बेहतर तरीके से एन्क्रिप्ट (सुरक्षित) करने की सुविधा. उपयोगकर्ता पासवर्ड यह है
scrypt
का इस्तेमाल करके क्रूरता के हमलों से सुरक्षित रखता है और जहां कुंजी उपलब्ध है, तो सुरक्षा कुंजी को हार्डवेयर कीस्टोर से जोड़ा गया है, ताकि सायबर हमलों से बचा जा सकता है. हमेशा की तरह, Android स्क्रीन लॉक की गुप्त कुंजी और डिवाइस को एन्क्रिप्ट करने वाली कुंजी को डिवाइस से बाहर नहीं भेजा जाता या किसी ऐप्लिकेशन को नहीं दिखाया जाता. - SELinux के साथ काम करने वाला Android सैंडबॉक्स . Android अभी को सभी डोमेन के लिए लागू मोड में SELinux की ज़रूरत है. SELinux, Linux कर्नेल में मौजूद ज़रूरी ऐक्सेस कंट्रोल (एमएसी) सिस्टम है. इसका इस्तेमाल, डिस्क्रेशनरी ऐक्सेस कंट्रोल (डीएसी) वाले मौजूदा सुरक्षा मॉडल को बेहतर बनाने के लिए किया जाता है. यह नई लेयर, सुरक्षा से जुड़ी संभावित कमजोरियों से ज़्यादा सुरक्षा देती है.
- Smart Lock. Android में अब ट्रस्टलेट शामिल हैं. इनसे डिवाइसों को अनलॉक करने में ज़्यादा आसानी होती है. उदाहरण के लिए, ट्रस्टलेट की मदद से, किसी भरोसेमंद डिवाइस के आस-पास होने पर डिवाइस अपने-आप अनलॉक हो सकते हैं. ऐसा, एनएफ़सी या ब्लूटूथ की मदद से किया जा सकता है. इसके अलावा, किसी भरोसेमंद व्यक्ति के डिवाइस का इस्तेमाल करने पर भी डिवाइस अपने-आप अनलॉक हो सकते हैं.
- एक से ज़्यादा उपयोगकर्ता, प्रतिबंधित प्रोफ़ाइल, और फ़ोन और टैबलेट. Android अब कई लोगों को फ़ोन और में एक मेहमान मोड शामिल है, जिसका इस्तेमाल आपके डिवाइस को आपके डेटा और ऐप्लिकेशन का ऐक्सेस दिए बिना.
- ओटीए के बिना वेबव्यू में होने वाले अपडेट. वेबव्यू को अब जो फ़्रेमवर्क से अलग और बिना सिस्टम के अपडेट किए गए हों ओटीए. इससे सुरक्षा से जुड़ी संभावित समस्याओं का तेज़ी से जवाब मिल पाता है वेबव्यू.
- एचटीटीपीएस और TLS/एसएसएल के लिए अपडेट की गई क्रिप्टोग्राफ़ी. TLSv1.2 और TLSv1.1 अब चालू है, फ़ॉरवर्ड सिक्योरिटी को प्राथमिकता दी जाती है, AES-GCM अब चालू है, और कमज़ोर साइफ़र सुइट (MD5, 3DES, और एक्सपोर्ट साइफ़र सुइट) अब बंद हैं. https://developer.android.com/reference/javax/net/SSL/SSLSocket.html देखें देखें.
- नॉन-PIE लिंकर सपोर्ट हटाया गया. Android के लिए अब सभी डाइनैमिक तौर पर लिंक किए गए एक्सीक्यूटेबल को PIE (पोज़िशन-इंडिपेंडेंट एक्सीक्यूटेबल) के साथ काम करना होगा. इससे Android का पता स्पेस बेहतर होता है लेआउट रैंडमाइज़ेशन (एएसएलआर) को लागू करना.
- FORTIFY_SOURCE में सुधार. libc के इन फ़ंक्शन में अब FORTIFY_SOURCE सुरक्षा लागू की गई है:
stpcpy()
,stpncpy()
,read()
,recvfrom()
,FD_CLR()
,FD_SET()
, औरFD_ISSET()
. यह मेमोरी-क्रप्शन के जोखिमों से सुरक्षा देता है, जैसे कि उन फ़ंक्शन को छोड़ सकता है. - सुरक्षा से जुड़ी समस्याएं. Android 5.0 में, Android से जुड़ी जोखिम की संभावनाओं को ठीक करने के लिए भी सुधार किए गए हैं. इन कमजोरियों के बारे में जानकारी, Open Handset Alliance के सदस्यों को दी गई है. साथ ही, Android Open Source Project में इनकी समस्याएं ठीक करने के लिए समाधान उपलब्ध हैं. सुरक्षा को बेहतर बनाने के लिए, कुछ डिवाइसों पर पहले Android के वर्शन में भी ये सुधार शामिल हो सकते हैं.
Android के हर रिलीज़ में, उपयोगकर्ताओं को सुरक्षित रखने के लिए सुरक्षा से जुड़ी कई सुविधाएं शामिल की जाती हैं. नीचे कुछ बेहतर सुरक्षा सुविधाएं दी गई हैं Android 4.4 में:
- Android सैंडबॉक्स, SELinux के साथ काम करता है. Android अब लागू करने वाले मोड में SELinux का इस्तेमाल करता है. SELinux को सेटअप करना ज़रूरी है Linux कर्नेल में ऐक्सेस कंट्रोल (MAC) सिस्टम का इस्तेमाल करता है, के हिसाब से किया जा सकता है. इससे, सुरक्षा से जुड़ी संभावित कमज़ोरियों से ज़्यादा सुरक्षा मिलती है.
- हर उपयोगकर्ता के लिए वीपीएन. एक से ज़्यादा उपयोगकर्ताओं वाले डिवाइसों पर, अब वीपीएन हर उपयोगकर्ता के हिसाब से लागू होते हैं. इससे उपयोगकर्ता को वीपीएन का इस्तेमाल करके, पूरे नेटवर्क ट्रैफ़िक को रूट करने की अनुमति मिल सकती है और अन्य उपयोगकर्ताओं को प्रभावित किए बिना.
- AndroidKeyStore में ECDSA प्रोवाइडर की सहायता. Android में अब एक कीस्टोर प्रोवाइडर है, जो ECDSA और डीएसए एल्गोरिदम का इस्तेमाल करने की अनुमति देता है.
- डिवाइस को मॉनिटर करने से जुड़ी चेतावनियां. अगर डिवाइस के सर्टिफ़िकेट स्टोर में कोई ऐसा सर्टिफ़िकेट जोड़ा गया है जिससे एन्क्रिप्ट (सुरक्षित) किए गए नेटवर्क ट्रैफ़िक की निगरानी की जा सकती है, तो Android उपयोगकर्ताओं को चेतावनी देता है.
- FORTIFY_SOURCE. Android अब FORTIFY_SOURCE लेवल 2 के साथ काम करता है. साथ ही, सभी कोड को इन सुरक्षा उपायों के साथ संकलित किया जाता है. FORTIFY_SOURCE को clang के साथ काम करने के लिए बेहतर बनाया गया है.
- सर्टिफ़िकेट पिन करना. Android 4.4, एसएसएल/टीएलएस से सुरक्षित कम्यूनिकेशन में इस्तेमाल किए जाने वाले, धोखाधड़ी वाले Google सर्टिफ़िकेट का पता लगाता है और उन्हें इस्तेमाल होने से रोकता है.
- सुरक्षा से जुड़ी समस्याएं ठीक करना. Android 4.4 में Android-विशिष्ट जोखिमों के समाधान भी शामिल हैं. इन जोखिम की आशंकाओं के बारे में जानकारी 'ओपन' को दी गई है Android ओपन सोर्स में Handset Alliance के सदस्य और सुधार उपलब्ध हैं प्रोजेक्ट. सुरक्षा को बेहतर बनाने के लिए, कुछ डिवाइसों पर, Android में ये सुधार भी शामिल हो सकते हैं.
Android के हर वर्शन में, सुरक्षा से जुड़े कई सुधारों को शामिल किया गया है, ताकि उपयोगकर्ता. नीचे कुछ बेहतर सुरक्षा सुविधाएं दी गई हैं Android 4.3 में:
- Android सैंडबॉक्स, SELinux के साथ काम करता है. इस रिलीज़ में, Linux kernel में SELinux के ज़रिए ज़रूरी ऐक्सेस कंट्रोल सिस्टम (MAC) का इस्तेमाल करके, Android सैंडबॉक्स को ज़्यादा सुरक्षित बनाया गया है. SELinux लोगों और डेवलपर को रीइन्फ़ोर्समेंट नहीं दिखता है. साथ ही, यह उनके लिए मज़बूत होता है साथ ही, Android डिवाइसों के साथ काम करने की क्षमता बनाए रखते हैं, मौजूदा ऐप्लिकेशन के साथ काम करता है. इस रिलीज़ में, SELinux को अनुमति वाले मोड में इस्तेमाल करने की अनुमति दी गई है, ताकि यह पक्का किया जा सके कि यह रिलीज़, पुराने वर्शन के साथ काम करती रहे. यह मोड, किसी भी नीति को लॉग करता है उल्लंघन नहीं करेंगे, लेकिन ऐप्लिकेशन में रुकावट नहीं आएगी या सिस्टम के काम करने के तरीके पर कोई असर नहीं पड़ेगा.
- कोई
setuid
याsetgid
प्रोग्राम नहीं. Android सिस्टम फ़ाइलों में, फ़ाइल सिस्टम की सुविधाओं के साथ काम करने की सुविधा जोड़ी गई है. साथ ही, सभीsetuid
याsetgid
प्रोग्राम हटा दिए गए हैं. इससे, रूट अटैक सरफ़ेस और सुरक्षा से जुड़ी संभावित कमज़ोरियों की संभावना कम हो जाती है. - ADB की पुष्टि करना. Android 4.2.2 से, ADB से कनेक्ट करने के लिए, आरएसए की जोड़ी वाली कुंजी से पुष्टि की जाती है. यह ऐसे तरीकों को अनुमति नहीं देता है ADB जहां हमलावर के पास किसी डिवाइस का फ़िज़िकल ऐक्सेस होता है.
- Android ऐप्लिकेशन से Setuid पर पाबंदी लगाएं.
zygote से जनरेट हुई प्रोसेस के लिए,
/system
सेगमेंट को अब mount किया गया है. इससे Android ऐप्लिकेशन,setuid
प्रोग्राम को एक्सीक्यूट नहीं कर पाएंगे. यह रूट अटैक सरफ़ेस को कम करता है और सुरक्षा से जुड़े जोखिमों की आशंका होती है. - क्षमता की सीमा तय करना.
Android ज़ीगोट और ADB अब
prctl(PR_CAPBSET_DROP)
का इस्तेमाल करते हैं ग़ैर-ज़रूरी सुविधाओं का इस्तेमाल न हो. यह Android ऐप्लिकेशन और ऐप्लिकेशन को इस देश/इलाके से लॉन्च होने से रोकता है खास अधिकार हासिल करने में मदद मिलती है. - AndroidKeyStore प्रोवाइडर. Android में अब कीस्टोर की सेवा देने वाली कंपनी उपलब्ध है इस्तेमाल करने के लिए खास बटन बनाए जा सकते हैं. इससे ऐप्लिकेशन को एपीआई मिलता है, ताकि वे निजी पासकोड बना सकें या सेव कर सकें. इन पासकोड का इस्तेमाल, दूसरे ऐप्लिकेशन नहीं कर सकते.
- KeyChain
isBoundKeyAlgorithm
. Keychain API अब एक तरीका (isBoundKeyType
) उपलब्ध कराता है. इससे ऐप्लिकेशन यह पुष्टि कर सकते हैं कि सिस्टम-वाइड कुंजियां, डिवाइस के लिए भरोसेमंद हार्डवेयर रूट से जुड़ी हैं. इससे, ऐसी निजी कुंजियां बनाने या सेव करने की जगह मिलती है जिन्हें डिवाइस से एक्सपोर्ट नहीं किया जा सकता. भले ही, रूट को हैक कर लिया गया हो. NO_NEW_PRIVS
. Android zygote अबprctl(PR_SET_NO_NEW_PRIVS)
का इस्तेमाल करता है, ताकि ऐप्लिकेशन कोड को लागू करने से पहले, नई अनुमतियां जोड़ने से रोका जा सके. यह Android ऐप्लिकेशन को ऐसी कार्रवाइयां करने से रोकता है जो execve के ज़रिए मिलने वाले खास अधिकारों को बढ़ावा दें. (इसके लिए, Linux kernel का 3.5 या उसके बाद का वर्शन ज़रूरी है).FORTIFY_SOURCE
बेहतर बनाने की सुविधाएं. Android x86 और MIPS परFORTIFY_SOURCE
को चालू किया गया साथ ही,strchr()
,strrchr()
,strlen()
, औरumask()
कॉल. इससे, मेमोरी में डेटा खराब होने की संभावित समस्याओं या बिना आखिरी बिंदु वाली स्ट्रिंग कॉन्स्टेंट का पता लगाया जा सकता है.- दूसरी जगह जाने पर सुरक्षा. के लिए रीड ओनली रीलोकेशन (relro) चालू किया गया स्टैटिक तरीके से लिंक किए गए एक्ज़ीक्यूटेबल और Android में टेक्स्ट की सभी जगहों को हटाया गया कोड. इससे, मेमोरी में गड़बड़ी होने की संभावित कमज़ोरियों के ख़िलाफ़ बेहतर सुरक्षा मिलती है.
- बेहतर EntropyMixer. EntropyMixer अब समय-समय पर मिक्स करने के साथ-साथ, डिवाइस के बंद होने या फिर से चालू होने पर भी एन्ट्रॉपी लिखता है. इससे, आपकी सभी फ़ोटो को डिवाइसों के चालू होने पर एंट्रॉपी जनरेट होती है. यह खास तौर पर काम की होती है जिन्हें प्रावधान करने के तुरंत बाद फिर से चालू किया जाता है.
- सुरक्षा से जुड़ी समस्याएं ठीक करना. Android 4.3 में Android-विशिष्ट के लिए समाधान भी शामिल हैं जोखिम की आशंकाएं. इन जोखिमों के बारे में जानकारी दी गई है Android Open में Handset Alliance के सदस्यों को खोलने और उनके सुधार करने की सुविधा उपलब्ध है सोर्स प्रोजेक्ट. सुरक्षा को बेहतर बनाने के लिए, Android के पुराने वर्शन वाले कुछ डिवाइसों में भी ये सुधार शामिल किए जा सकते हैं.
Android, कई स्तर वाला सुरक्षा मॉडल उपलब्ध कराता है. इस मॉडल के बारे में Android सुरक्षा की खास जानकारी. Android के प्रत्येक अपडेट में दर्जनों सुरक्षा को बेहतर बनाया गया है. Android 4.2 में, सुरक्षा से जुड़ी कुछ बेहतर सुविधाएं जोड़ी गई हैं. इनके बारे में यहां बताया गया है:
- ऐप्लिकेशन की पुष्टि करना: उपयोगकर्ता, 'ऐप्लिकेशन की पुष्टि करें' सुविधा को चालू और ऐप्लिकेशन को इंस्टॉल करने से पहले, पुष्टि करने वाली संस्था की मदद से उनकी स्क्रीनिंग की जानी चाहिए. अगर उपयोगकर्ता किसी ऐसे ऐप्लिकेशन को इंस्टॉल करने की कोशिश करता है जो नुकसान पहुंचाने वाला; अगर कोई ऐप्लिकेशन खास तौर पर खराब है, तो वह उसे इंस्टॉल करने से रोक सकता है.
- प्रीमियम मैसेज (एसएमएस) की सुविधा पर ज़्यादा कंट्रोल: अगर ऐप ऐसे छोटे कोड पर एसएमएस भेजने की कोशिश करता है जो प्रीमियम सेवाओं का इस्तेमाल करता है अतिरिक्त शुल्क लग सकते हैं. उपयोगकर्ता यह चुन सकता है कि मैसेज भेजने या उसे ब्लॉक करने के लिए, ऐप्लिकेशन का इस्तेमाल करें.
- हमेशा चालू रहने वाला वीपीएन: वीपीएन को कॉन्फ़िगर किया जा सकता है, ताकि ऐप्लिकेशन जब तक वीपीएन कनेक्शन नहीं होता, तब तक नेटवर्क को ऐक्सेस नहीं किया जा सकेगा. यह रोक लगाता है को दूसरे नेटवर्क पर डेटा भेजने से रोकने में मदद मिलती है.
- सर्टिफ़िकेट पिन करने की सुविधा: Android की मुख्य लाइब्रेरी अब सर्टिफ़िकेट पिन करने की सुविधा के साथ काम करती हैं. पिन किए गए डोमेन को सर्टिफ़िकेट की पुष्टि मिलती है अगर सर्टिफ़िकेट, अनुमानित सर्टिफ़िकेट के सेट से नहीं जुड़ा है, तो हो सकता है. ऐसा इसलिए किया जाता है, ताकि सर्टिफ़िकेट देने वाली संस्थाओं के साथ कोई छेड़छाड़ न हो.
- Android की अनुमतियों को बेहतर तरीके से दिखाना: अनुमतियों को ऐसे ग्रुप में व्यवस्थित किया गया है जिन्हें उपयोगकर्ता आसानी से समझ सकते हैं. समीक्षा के दौरान अनुमति है, तो उपयोगकर्ता ज़्यादा जानकारी देखने के लिए अनुमति पर क्लिक कर सकता है अनुमति के बारे में जानकारी.
- installd को बेहतर बनाना:
installd
डेमन, रूट उपयोगकर्ता के तौर पर नहीं चलता. इससे रूट प्रिविलेज एस्केलेशन के लिए, हमले के संभावित दायरे को कम किया जा सकता है. - init स्क्रिप्ट को बेहतर बनाना: init स्क्रिप्ट अब सिमेंटिक्स (पूरी जानकारी देने वाले)
O_NOFOLLOW
को लागू करती हैं, ताकि सिमलिन्क से जुड़े हमलों को रोका जा सके. FORTIFY_SOURCE
: Android अब लागू करता हैFORTIFY_SOURCE
. इसका इस्तेमाल यह करता है को भी अनुमति नहीं है.- ContentProvider का डिफ़ॉल्ट कॉन्फ़िगरेशन: एपीआई लेवल 17 को टारगेट करने वाले ऐप्लिकेशन में, हर Content
Provider के लिए
export
को डिफ़ॉल्ट रूप सेfalse
पर सेट किया जाता है. इससे, ऐप्लिकेशन के लिए डिफ़ॉल्ट रूप से हमले की जगह कम हो जाती है. - क्रिप्टोग्राफ़ी:सुरक्षित रैंडम और OpenGL का इस्तेमाल करने के लिए Cipher.RSA. OpenSSL 1.0.1 का इस्तेमाल करके, TLSv1.1 और TLSv1.2 के लिए SSL सॉकेट की सुविधा जोड़ी गई
- सुरक्षा से जुड़े समाधान: अपग्रेड की गई ओपन सोर्स लाइब्रेरी में सुरक्षा से जुड़े सुधार शामिल हैं WebKit, libpng, दूसरों के साथ मिलें, और LibXML. Android 4.2 में Android से जुड़े जोखिम. इन कमजोरियों के बारे में जानकारी, Open Handset Alliance के सदस्यों को दी गई है. साथ ही, Android Open Source Project में इनकी समस्याएं ठीक करने के तरीके उपलब्ध हैं. सुरक्षा को बेहतर बनाने के लिए, कुछ डिवाइसों पर पहले Android के वर्शन में भी ये सुधार शामिल हो सकते हैं.
Android, कई स्तर वाला सुरक्षा मॉडल उपलब्ध कराता है. इस मॉडल में Android सुरक्षा की खास जानकारी. Android के प्रत्येक अपडेट में दर्जनों सुरक्षा को बेहतर बनाया गया है. Android के 1.5 से 4.1 वर्शन में, सुरक्षा से जुड़े ये बेहतर बदलाव किए गए हैं:
- Android 1.5
- स्टैक बफ़र के ओवररन को रोकने के लिए ProPolice (-fstack-protector)
- पूर्णांक के ओवरफ़्लो को कम करने के लिए safe_iop
- OpenBSD dlmalloc के एक्सटेंशन, ताकि डबल फ़्री() से जुड़ी कमियों को रोका जा सके और चंक को एक साथ जोड़ने वाले अटैक से बचा जा सके. एक ही जगह पर कई लक्ष्यों को पूरा करने के लिए, का फ़ायदा उठाने का एक आम तरीका है.
- मेमोरी आवंटन के दौरान पूर्णांक ओवरफ़्लो रोकने के लिए OpenBSD कॉलऑक
- Android 2.3
- फ़ॉर्मैट के साथ स्ट्रिंग जोखिम की आशंका से जुड़ी सुरक्षा सुविधाएं (-Wformat-security -Werror=format-security)
- स्टैक और हीप पर कोड एक्ज़ीक्यूशन को रोकने के लिए, हार्डवेयर पर आधारित No eXecut (NX)
- Linux mmap_min_addr, जिससे शून्य पॉइंटर के डेरेफ़रंस की सुविधा का गलत इस्तेमाल करने से रोका जा सकता है. Android 4.1 में इसे और बेहतर बनाया गया है
- Android 4.0
- मेमोरी में मुख्य जगहों को रैंडम क्रम में लगाने के लिए, ऐड्रेस स्पेस लेआउट रैंडमाइज़ेशन (एएसएलआर)
- Android 4.1
- PIE (पॉज़िशन इंडिपेंडेंट एक्ज़ीक्यूटेबल) के साथ काम करना
- रीड-ओनली रीलोकेशन / तुरंत बाइंडिंग (-Wl,-z,relro -Wl,-z,now)
- dmesg_restrict चालू है (कर्नल पतों को लीक होने से रोकना)
- kptr_territory चालू है (कर्नेल पते लीक होने से बचें)