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

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

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

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

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

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

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