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

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

FLAG_SECURE

FLAG_SECURE یک پرچم پنجره است که به اندروید می‌گوید اجازه اسکرین‌شات را ندهد یا نمای پنجره را روی یک نمایشگر غیرایمن (مانند ارسال محتوا) نمایش دهد. این برای برنامه‌هایی مفید است که نیاز به محافظت از اطلاعات حساس دارند، مانند برنامه‌های بانکی یا مدیران رمز عبور. وقتی پنجره‌ای با 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

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

چگونه این به کاهش تقلب کمک می کند

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

پیاده سازی

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

بهترین شیوه ها

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