प्रॉडक्ट से जुड़ी खबरें

Android की सुरक्षा को बेहतर बनाना: मैलवेयर को अपने ऐप्लिकेशन के डेटा की जासूसी करने से रोकना

पढ़ने में दो मिनट लगेंगे
Bennet Manuel की प्रोफ़ाइल देखें रॉबर्ट क्लिफ़र्ड की प्रोफ़ाइल देखें
Bennet Manuel & Robert Clifford

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

 

 

कोड की एक लाइन की मदद से, अपने ऐप्लिकेशन को जासूसी से बचाना

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

accessibilityDataSensitive फ़्लैग की मदद से, किसी व्यू या कंपोज़ेबल को साफ़ तौर पर संवेदनशील डेटा के तौर पर मार्क किया जा सकता है. अपने ऐप्लिकेशन पर इस फ़्लैग को true पर सेट करने का मतलब है कि आपने संभावित तौर पर खतरनाक ऐप्लिकेशन को, अपने संवेदनशील व्यू डेटा को ऐक्सेस करने या उस पर इंटरैक्शन करने से रोक दिया है. यह सुविधा ऐसे काम करती है: सुलभता की अनुमति का अनुरोध करने वाले किसी भी ऐप्लिकेशन को उस व्यू का ऐक्सेस नहीं दिया जाता जिसने खुद को साफ़ तौर पर, सुलभता टूल (isAccessibilityTool=true) के तौर पर घोषित नहीं किया है.

इस आसान, लेकिन असरदार बदलाव से, मैलवेयर को जानकारी चुराने और बिना अनुमति के कार्रवाइयां करने से रोका जा सकता है. साथ ही, इससे सुलभता के सही टूल के इस्तेमाल पर कोई असर नहीं पड़ता. ध्यान दें: अगर कोई ऐप्लिकेशन, सुलभता का टूल नहीं है, लेकिन वह सुलभता की अनुमतियों का अनुरोध करता है और isAccessibilityTool=true सेट करता है, तो Play उसे अस्वीकार कर देगा. साथ ही, Google Play Protect उसे लोगों के डिवाइसों पर ब्लॉक कर देगा.

setFilterTouchesWhenObscured सुरक्षा के लिए, बेहतर सुरक्षा की सुविधा अपने-आप लागू होना

हमने सुरक्षा से जुड़ी इस नई accessibilityDataSensitive सुविधा को, मौजूदा setFilterTouchesWhenObscured तरीके के साथ इंटिग्रेट कर दिया है. 

अगर टैपजैकिंग से अपने ऐप्लिकेशन को सुरक्षित रखने के लिए, पहले से ही setFilterTouchesWhenObscured(true) का इस्तेमाल किया जाता है, तो आपके व्यू को सुलभता के लिए अपने-आप संवेदनशील डेटा के तौर पर माना जाता है. setFilterTouchesWhenObscured तरीके को accessibilityDataSensitive सुरक्षा के साथ बेहतर बनाकर, हम सभी को बिना किसी अतिरिक्त काम के, सुरक्षा की एक अतिरिक्त लेयर दे रहे हैं.

image.png

शुरू करना

हमारा सुझाव है कि आप setFilterTouchesWhenObscured या इसके बजाय, accessibilityDataSensitive फ़्लैग का इस्तेमाल, ऐसी किसी भी स्क्रीन पर करें जिसमें संवेदनशील जानकारी शामिल हो. जैसे, लॉगिन पेज, पेमेंट फ़्लो, और निजी या वित्तीय डेटा दिखाने वाला कोई भी व्यू.

Jetpack Compose के लिए

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

val composeView = LocalView.current DisposableEffect(Unit) { composeView.filterTouchesWhenObscured = true onDispose { composeView.filterTouchesWhenObscured = false } }

 

किसी कंपोज़ेबल पर sensitiveData प्रॉपर्टी लागू करने के लिए, semantics मॉडिफ़ायर का इस्तेमाल करें.

BasicText { text = “Your password”,

            modifier = Modifier.semantics {

                sensitiveData = true }}

 

 

व्यू पर आधारित ऐप्लिकेशन के लिए

अपने XML लेआउट में, संवेदनशील व्यू में काम का एट्रिब्यूट जोड़ें.

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

<TextView android:filterTouchesWhenObscured="true" />

 

 

<TextView android:accessibilityDataSensitive="true" />

 

इसके अलावा, Java या Kotlin में प्रोग्राम के ज़रिए प्रॉपर्टी सेट की जा सकती है:

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

myView.filterTouchesWhenObscured = true;

 

 

myView.isAccessibilityDataSensitive = true;

 

 

myView.setFilterTouchesWhenObscured(true)

 

 

myView.setAccessibilityDataSensitive(true);

 

टैपजैकिंग से जुड़ी गाइड में, accessibilityDataSensitive और setFilterTouchesWhenObscured फ़्लैग के बारे में ज़्यादा जानें.

उपयोगकर्ताओं को सुरक्षित रखने के लिए, डेवलपर के साथ मिलकर काम करना

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

image.png

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

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

साथ मिलकर, हम सभी के लिए ज़्यादा सुरक्षित और भरोसेमंद अनुभव तैयार कर सकते हैं.

लेखक:
पढ़ना जारी रखें