يوضّح هذا المستند طرقًا لمراقبة الأنشطة الحسّاسة، مثل عمليات تسجيل دخول المستخدمين وعمليات الشراء على الإنترنت.
FLAG_SECURE
FLAG_SECURE
هي علامة نافذة تُعلم نظام التشغيل Android بعدم السماح بأخذ لقطات شاشة أو عرض طريقة عرض النافذة على شاشة غير آمنة (مثل بث الشاشة). ويكون ذلك مفيدًا للتطبيقات التي تحتاج إلى حماية المعلومات الحسّاسة، مثل التطبيقات المصرفية أو تطبيقات إدارة كلمات المرور. عند وضع علامة FLAG_SECURE
على نافذة، يمنع نظام التشغيل Android أخذ لقطات شاشة ويمنع عرض النافذة على شاشة غير آمنة، مثل تلفزيون أو جهاز عرض. يساعد ذلك في حماية المعلومات المعروضة في النافذة من أن يصل إليها أشخاص غير مصرَّح لهم بذلك.
كيف يساعد ذلك في الحدّ من الاحتيال؟
قد يسترد تطبيق أو كيان ضارّ لقطات شاشة في الخلفية. عندما تتغير حالة تطبيقك إلى وضع الخلفية، يمكن استخدام FLAG_SECURE
. عند أخذ لقطة شاشة، تكون الصورة الناتجة فارغة.
تساعد FLAG_SECURE
أيضًا في حالات استخدام مشاركة الشاشة عن بُعد. ولا يقتصر الأمر على التطبيقات الضارة التي تسترد لقطات الشاشة، بل إنّ تطبيقات مشاركة الشاشة المشروعة تُستخدَم أيضًا بشكل شائع في حالات احتيال.
التنفيذ
بالنسبة إلى طرق العرض التي تتضمّن المعلومات التي تريد حمايتها، أضِف ما يلي:
Kotlin
window?.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE )
Java
window.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE );
أفضل الممارسات
يُرجى العِلم أنّ هذا الأسلوب لا يمكن الاعتماد عليه في منع هجمات التراكب. في بعض الحالات، لا يمكنه التنبؤ بشكل صحيح بما إذا كان تسجيل الشاشة نشطًا، ولكنّه يغطي معظم حالات الاستخدام. للتخفيف من هجمات التراكب، يُرجى قراءة القسم التالي حول أذونات HIDE_OVERLAY_WINDOWS
.
HIDE_OVERLAY_WINDOWS
HIDE_OVERLAY_WINDOWS
هو إذن تمت إضافته في Android 12، ويمكن لتطبيقك
إيقاف عرض الطبقات فوقه. في نظام التشغيل Android 12، صعّبنا الحصول على إذن SYSTEM_ALERT_WINDOW
، ما يتيح لتطبيقك حظر التراكبات من التطبيقات التابعة لجهات خارجية.
كيف يساعد ذلك في الحدّ من الاحتيال؟
عند تفعيل إذن HIDE_OVERLAY_WINDOWS
، فإنك تختار عدم السماح بعرض طبقات التطبيق فوق تطبيقك. يوفّر هذا الإذن آلية حماية من هجمات التخفي والتنفيذ.
التنفيذ
لتفعيل هذا الإذن، أضِف HIDE_OVERLAY_WINDOWS
إلى ملف البيان الخاص بمشروعك.
أفضل الممارسات
وكما هو الحال مع أي إذن، يجب أن تثق في أي تطبيق يعرض محتوى على الشاشة بنفس قدر ثقتك في أي تطبيق آخر على الجهاز. بعبارة أخرى، يجب ألا يسمح تطبيقك للتطبيقات الأخرى بعرض طبقات فوقه إلا إذا كنت تعرف أنّ التطبيق الآخر موثوق به. قد يكون السماح لأحد التطبيقات بعرض محتوى على السطح فوق التطبيقات الأخرى أمرًا خطيرًا لأنّه يمكن أن يسرق كلمات المرور أو يقرأ الرسائل.