保護敏感活動

本文件詳細說明如何監控敏感活動,例如使用者登入和線上購物。

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 權限的相關攻擊。

隱藏 OVERLAY_WINDOWS

HIDE_OVERLAY_WINDOWS 是 Android 12 中新增的權限,應用程式可以選擇停止繪製應用程式疊加層。在 Android 12 中,我們簡化了取得 SYSTEM_ALERT_WINDOW 權限的程序,基本上就是允許應用程式封鎖第三方應用程式的重疊元素。

這項機制如何協助防範詐欺行為

啟用 HIDE_OVERLAY_WINDOWS 權限即表示您選擇不讓應用程式疊加在應用程式上方。這項權限提供防範偽裝和 Dagger 攻擊的機制。

導入作業

如要啟用這項權限,請將 HIDE_OVERLAY_WINDOWS 加入專案的資訊清單中。

最佳做法

與使用任何權限一樣,請至少信任裝置上的任何其他應用程式,不要信任任何重疊應用程式。換句話說,除非您知道其他應用程式值得信任,否則您的應用程式不應允許其他應用程式在上方繪製重疊。允許應用程式在其他應用程式上層繪製內容可能並不安全,因為應用程式可能會竊取密碼或讀取訊息。