إمكانية الوصول ضرورية للمستخدمين؛ وينشأ الخطر من منح الوصول بلا سبب وإساءة استخدامه.
لا تحتاج البرمجيات الخبيثة دائمًا إلى كسر تشفير الرسائل. فإذا وصلت إلى البيانات التي يعالجها الجهاز للعرض أو الإدخال، فقد ترى المحتوى قبل التشفير أو بعد فكّه. وإساءة استخدام إمكانية الوصول والنوافذ المتراكبة مثالان على ذلك، لكن آليتَيهما ليستا واحدة.
كذلك، ليس كل تطبيق يملك Accessibility أو نافذة عائمة برنامجًا خبيثًا. فقارئات الشاشة والأدوات المساعدة ضرورية لكثير من المستخدمين. والهدف هو منح الوصول بوعي وتقليل إساءة استخدامه، لا إلغاء إمكانية الوصول.
ثلاثة تهديدات يجب ألّا نخلط بينها
| الطريقة | ماذا يفعل المهاجم؟ | ما الذي لا ينبغي افتراضه؟ |
|---|---|---|
| نافذة أو نموذج مزيف | يحث المستخدم على إدخال معلومات في واجهة تشبه التطبيق الأصلي | ليس كل Overlay يقرأ تلقائيًا نص النافذة الموجودة تحته |
| سرقة النقرات أو Tapjacking | يخدع المستخدم ليلمس عنصر تحكم آخر | وجود طبقة شفافة لا يعني تسجيل جميع ضغطات المفاتيح |
| إساءة استخدام خدمة Accessibility | يستغل قدرات الخدمة المسموح بها للمشاهدة أو تنفيذ إجراء | ليس الوصول إلى كل طرق العرض متماثلًا في جميع الإصدارات |
يميّز دليل Tapjacking الرسمي بين حجب الواجهة بالكامل وحجبها جزئيًا. ويؤثر نوع النافذة وإصدار أندرويد وإعدادات التطبيق في النتيجة.
كيف يمكن لـ Accessibility الوصول إلى بيانات حساسة؟
يمكن لخدمة إمكانية الوصول، ضمن نطاق قدراتها، تلقي معلومات الواجهة أو تنفيذ إجراء للمستخدم. وقد تسيء خدمة خبيثة استخدام الإمكانية نفسها. لذلك فإن تفعيلها لتطبيق لا يملك سببًا واضحًا ليس قرارًا بسيطًا.
لكن الادعاء بأن «كل خدمة تستطيع قراءة كل نص في كل تطبيق» مطلق أكثر من اللازم. فبنية طرق العرض وطريقة تقديم البيانات وقيود نظام التشغيل مهمة. ويوفر أندرويد ميزات مثل accessibilityDataSensitive لطرق العرض الحساسة؛ ويجب اختبار استخدامها وسلوكها على الإصدار المستهدف. شرح Google لحماية البيانات من الخدمات الخبيثة.
ماذا يفعل FLAG_SECURE وماذا لا يفعل؟
يُستخدم FLAG_SECURE لتقييد لقطات الشاشة وعرض المحتوى على المخرجات غير الآمنة. ولا يتحكم هذا العلم وحده في قواعد وصول خدمات إمكانية الوصول أو النماذج المزيفة أو جميع طرق استخراج النص. وتصوير الشاشة بجهاز آخر مسألة منفصلة أيضًا.
يتيح أندرويد للتطبيق أدوات أخرى مثل HIDE_OVERLAY_WINDOWS لتقليل النوافذ المتراكبة. ولا ينبغي تقديم أي منها بوصفه «زرًا مضادًا للتجسس» من دون فحص التوافق وقيود الإصدار والتأثير في المستخدمين الذين يحتاجون إلى ميزات إمكانية الوصول. دليل حماية الأنشطة الحساسة.
قائمة المستخدم لمراجعة صلاحيات الوصول
- راجع، كلًّا على حدة في إعدادات الجهاز، التطبيقات التي تملك إمكانية الوصول والظهور فوق التطبيقات الأخرى والوصول إلى الإشعارات. تختلف أسماء المسارات باختلاف الشركة المصنّعة والإصدار.
- اسأل في كل حالة: ما الوظيفة المحددة التي تحتاج إلى هذا الوصول؟ فصلاحية قارئ شاشة موثوق ليست كصلاحية تطبيق مصباح يدوي مجهول.
- اعتبر الطلب العاجل لتفعيل الوصول بعد تثبيت ملف مجهول علامة تستدعي مزيدًا من الفحص؛ فمجرد طلب الإذن ليس إثباتًا على أن التطبيق خبيث.
- إذا بدا شكل صفحة تسجيل الدخول مريبًا، فلا تدخل معلومات حساسة. افتح التطبيق بالطريقة التي تستخدمها عادةً، وتحقق من العنوان أو مصدر التثبيت.
- بعد إلغاء الوصول غير الضروري، اختبر عمل الأدوات المساعدة التي تحتاج إليها. يجب ألّا يجعل الأمان الجهاز غير قابل للاستخدام بالنسبة إلى صاحبه.
إذا اشتبهت في أن كلمة مرورك أو جلستك قد انكشفت سابقًا، فلا يكفي إلغاء الإذن وحده. من جهاز موثوق، راجع الجلسات النشطة ووسائل استعادة الحساب، وغيّر كلمات المرور المعرّضة للخطر.
ماذا ينبغي للمطوّر أن يختبر؟
قيّم صفحات تسجيل الدخول وتأكيد العمليات وعرض المعلومات الحساسة كلًّا على حدة. اختبر اللمس المحجوب والتغطية الجزئية؛ فاختبار لقطات الشاشة وحده لا يكفي. ثم افحص المسار نفسه باستخدام قارئ شاشة وأداة مساعدة حقيقيين، كي لا تعطل الحماية الأمنية الوصول المشروع.
سجّل في تقرير الاختبار إصدار أندرويد والتطبيق، ونوع الخدمة، والأذونات، والبيانات التي كانت قابلة للمشاهدة فعلًا. ولا يمكن الاستنتاج بشأن جميع الأجهزة انطلاقًا من اختبار محدود.
حدود تشفير تطبيق المراسلة
يضع نموذج التهديد في Livara الجهاز المصاب أو المفتوح القفل خارج ضمان حماية المحتوى. لذلك فإن اسم الخوارزمية أو كون تبادل المفاتيح ما بعد كمّي ليس دفاعًا ضد جميع أشكال إساءة استخدام واجهة المستخدم. تعامل مع حماية مسار الرسالة وسلامة الجهاز والتحكم في الأذونات بوصفها ثلاثة فحوص منفصلة.



