أخبار المنتجات

تعزيز أمان Android: منع البرامج الضارة من التطفّل على بيانات تطبيقك

مدّة القراءة: دقيقتان

يُعدّ الأمان ركيزة أساسية في Android. نحن نتعاون معك للحفاظ على أمان المنصة وحماية بيانات المستخدمين من خلال توفير أدوات وميزات أمان فعّالة، مثل Credential Manager وFLAG_SECURE. يوفّر كل إصدار من Android تحسينات في الأداء والأمان، ومع Android 16، يمكنك اتّخاذ خطوات بسيطة ومهمة لتعزيز دفاعات تطبيقك. يمكنك مشاهدة الفيديو أو مواصلة القراءة لمعرفة المزيد عن إجراءات الحماية المحسَّنة لواجهات برمجة التطبيقات Accessibility API.

 

 

احمِ تطبيقك من التطفّل باستخدام سطر واحد من الرمز البرمجي

لاحظنا أنّ الجهات المسيئة تحاول أحيانًا استغلال ميزات Accessibility API لقراءة المعلومات الحساسة، مثل كلمات المرور والتفاصيل المالية، مباشرةً من الشاشة والتلاعب بجهاز المستخدم من خلال إدخال لمسات. لمكافحة هذه المشكلة، يوفّر Android 16 دفاعًا جديدًا وفعّالاً في سطر واحد من الرمز البرمجي: accessibilityDataSensitive.

تتيح لك علامة accessibilityDataSensitive وضع علامة صريحة على طريقة عرض أو دالة مركّبة على أنّها تحتوي على بيانات حساسة. عند ضبط هذه العلامة على true في تطبيقك، فإنّك تمنع التطبيقات التي يُحتمل أن تكون ضارة من الوصول إلى بيانات العرض الحسّاسة أو التفاعل معها. وإليك طريقة عملها: يتم رفض وصول أي تطبيق يطلب إذن تسهيل الاستخدام ولم يعلن صراحةً أنّه أداة مشروعة لتسهيل الاستخدام (isAccessibilityTool=true) إلى طريقة العرض هذه.

يساعد هذا التغيير البسيط والفعّال في منع البرامج الضارة من سرقة المعلومات وتنفيذ إجراءات غير مصرَّح بها، وكل ذلك بدون التأثير في تجربة المستخدمين مع أدوات تسهيل الاستخدام الموثوقة. ملاحظة: إذا لم يكن التطبيق أداة لتسهيل الاستخدام، ولكنه يطلب أذونات تسهيل الاستخدام ويضبط السمة isAccessibilityTool=true، سيرفضه Play وستحظره خدمة "Google Play للحماية" على أجهزة المستخدمين. 

أمان تلقائي ومحسَّن لحماية setFilterTouchesWhenObscured

لقد دمجنا وظيفة الأمان الجديدة هذه في accessibilityDataSensitive مع طريقة setFilterTouchesWhenObscured الحالية. 

إذا كنت تستخدم setFilterTouchesWhenObscured(true) لحماية تطبيقك من هجمات tapjacking، يتم التعامل مع طرق العرض تلقائيًا على أنّها بيانات حساسة لأغراض تسهيل الاستخدام. من خلال تحسين طريقة setFilterTouchesWhenObscured باستخدام إجراءات حماية accessibilityDataSensitive، نمنح الجميع على الفور طبقة دفاع إضافية بدون أي جهد إضافي.

image.png

الخطوات الأولى

ننصحك باستخدام setFilterTouchesWhenObscured أو علامة accessibilityDataSensitive على أي شاشة تحتوي على معلومات حساسة، بما في ذلك صفحات تسجيل الدخول ومسارات الدفع وأي طريقة عرض تعرض بيانات شخصية أو مالية.

بالنسبة إلى Jetpack Compose

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

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

 

استخدِم المُعدِّل semantics لتطبيق السمة sensitiveData على دالة مركّبة.

BasicText { text = “Your password”,

            modifier = Modifier.semantics {

                sensitiveData = true }}

 

 

بالنسبة إلى التطبيقات المستندة إلى View

في تنسيق 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 في دليل Tapjacking.

التعاون مع المطوّرين للحفاظ على أمان المستخدمين

لقد عملنا مع المطوّرين في وقت مبكر لضمان تلبية هذه الميزة للاحتياجات الواقعية ودمجها بسلاسة في سير العمل.

image.png

"لطالما منحنا الأولوية لحماية البيانات المالية الحسّاسة لعملائنا، ما تطلّب منّا إنشاء طبقة حماية خاصة بنا ضد البرامج الضارة التي تستغل ميزات تسهيل الاستخدام. تؤيد Revolut بشدة طرح واجهة برمجة التطبيقات الرسمية الجديدة هذه لنظام Android، لأنّها تتيح لنا الابتعاد تدريجيًا عن الرمز البرمجي المخصّص لصالح دفاع قوي عن المنصة من سطر واحد". 
- فلاديمير كوجيفنيكوف، مهندس Android في Revolut

يمكنك لعب دور مهم في حماية المستخدمين من الهجمات الضارة التي تستهدف أدوات تسهيل الاستخدام من خلال استخدام هذه الميزات. ونشجّع جميع المطوّرين على دمج هذه الميزات في تطبيقاتهم للمساعدة في الحفاظ على أمان المستخدمين. 

معًا، يمكننا توفير تجربة أكثر أمانًا وموثوقية للجميع.

من كتابة:
متابعة القراءة