במאמר הזה מוסבר איך לעקוב אחרי פעילויות רגישות, כמו התחברות של משתמשים ורכישות באינטרנט.
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
, לא מוצגות שכבות-על של אפליקציות מעל האפליקציה שלכם. ההרשאה הזו מספקת מנגנון הגנה מפני התקפות cloak and dagger.
הטמעה
כדי להפעיל את ההרשאה הזו, מוסיפים את HIDE_OVERLAY_WINDOWS
למניפסט של הפרויקט.
שיטות מומלצות
כמו בכל הרשאה, צריך לסמוך על אפליקציות עם שכבת-על לפחות כמו שסומכים על כל אפליקציה אחרת במכשיר. במילים אחרות, האפליקציה שלכם לא צריכה לאפשר לאפליקציות אחרות להציג שכבות-על מעליה, אלא אם אתם יודעים שהאפליקציה האחרת היא מהימנה. מתן הרשאה לאפליקציה לצייר מעל אפליקציות אחרות עלול להיות מסוכן כי האפליקציה יכולה לגנוב סיסמאות או לקרוא הודעות.