ایمن کردن فعالیت‌های حساس

این سند روش‌های نظارت بر فعالیت‌های حساس، مانند ورود به سیستم کاربر و خریدهای آنلاین را شرح می‌دهد.

FLAG_SECURE

‫FLAG_SECURE یک پرچم پنجره است که به Android می‌گوید اجازه ندهد نماگرفت گرفته شود یا نمای پنجره در نمایشگر غیرایمن (مثل «ارسال محتوای» صفحه‌نمایش) نمایش داده شود. این ویژگی برای برنامه‌هایی که باید از اطلاعات حساس محافظت کنند، مانند برنامه‌های بانکی یا مدیران گذرواژه، مفید است. وقتی پنجره‌ای با FLAG_SECURE پرچم‌گذاری می‌شود، Android از گرفتن نماگرفت جلوگیری می‌کند و مانع از نمایش پنجره در نمایشگرهای غیرایمن، مثل تلویزیون یا پروژکتور، می‌شود. این کار به محافظت از اطلاعاتی که در پنجره نمایش داده می‌شود کمک می‌کند تا افراد غیرمجاز به آن دسترسی پیدا نکنند.

این کار چگونه به کاهش کلاهبرداری کمک می‌کند

برنامه یا نهاد مخرب ممکن است نماگرفت‌های پس‌زمینه را بازیابی کند. وقتی وضعیت برنامه‌تان به پس‌زمینه تغییر می‌کند، می‌توان از FLAG_SECURE استفاده کرد. وقتی نماگرفت گرفته می‌شود، تصویر حاصل خالی است.

FLAG_SECURE همچنین به موارد استفاده از هم‌رسانی صفحه‌نمایش از راه دور کمک می‌کند. همیشه یک برنامه مخرب نیست که نماگرفت‌ها را بازیابی می‌کند، برنامه‌های هم‌رسانی صفحه‌نمایش قانونی نیز معمولاً در موقعیت‌های کلاهبرداری استفاده می‌شوند.

پیاده‌سازی

برای نماهایی که اطلاعاتی دارند که می‌خواهید محافظت شود، موارد زیر را اضافه کنید:

کاتلین

window?.setFlags(
    WindowManager.LayoutParams.FLAG_SECURE,
    WindowManager.LayoutParams.FLAG_SECURE
)

جاوا

window.setFlags(
  WindowManager.LayoutParams.FLAG_SECURE,
  WindowManager.LayoutParams.FLAG_SECURE
);

روال‌های مطلوب

باید توجه داشت که این رویکرد برای جلوگیری از حملات هم‌پوشانی قابل‌اعتماد نیست. در برخی موارد، فعال بودن ضبط صفحه‌نمایش را به‌درستی پیش‌بینی نمی‌کند، اما اکثر موارد استفاده را پوشش می‌دهد. برای کاهش حملات هم‌پوشانی، بخش بعدی را درباره اجازه‌های HIDE_OVERLAY_WINDOWS بخوانید.

پنهان کردن پنجره‌های هم‌پوشانی

HIDE_OVERLAY_WINDOWS اجازه‌ای است که در Android 12 اضافه شده است و برنامه شما می‌تواند از داشتن همپوشانی‌های برنامه که روی آن کشیده شده است انصراف دهد. در Android 12، دریافت اجازه SYSTEM_ALERT_WINDOW را دشوارتر کرده‌ایم، که اساساً به برنامه شما اجازه می‌دهد هم‌پوشانی‌های برنامه‌های طرف سوم را مسدود کند.

این کار چگونه به کاهش کلاهبرداری کمک می‌کند

وقتی اجازه HIDE_OVERLAY_WINDOWS را فعال می‌کنید، از اینکه هم‌پوشانی‌های برنامه روی برنامه‌تان کشیده شود انصراف می‌دهید. این اجازه سازوکار محافظتی دربرابر حملات cloak and dagger ارائه می‌دهد.

پیاده‌سازی

برای فعال کردن این اجازه، HIDE_OVERLAY_WINDOWS را به مانیفست پروژه‌تان اضافه کنید.

روال‌های مطلوب

مانند هر اجازه دیگری، باید به هر برنامه هم‌پوشانی حداقل به همان اندازه که به هر برنامه دیگری در دستگاه اعتماد دارید، اعتماد کنید. به‌عبارت دیگر، برنامه‌تان نباید به برنامه‌های دیگر اجازه دهد روی آن هم‌پوشانی بکشند، مگراینکه بدانید برنامه دیگر قابل‌اعتماد است. اجازه دادن به برنامه برای نمایش دادن روی برنامه‌های دیگر می‌تواند خطرناک باشد زیرا می‌تواند گذرواژه‌ها را سرقت کند یا پیام‌ها را بخواند.