保護敏感活動

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

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

最佳做法

與其他權限一樣,您對疊加應用程式的信任程度,至少應與對裝置上其他應用程式的信任程度相同。換句話說,除非您確定其他應用程式值得信任,否則您的應用程式不應允許其他應用程式在上方繪製疊加層。允許應用程式在其他應用程式上繪製內容可能很危險,因為這類應用程式可能會竊取密碼或讀取訊息。