產品新訊

提升 Android 安全性:防止惡意軟體窺探應用程式資料

2 分鐘閱讀

安全性是 Android 的基礎。我們提供強大的安全工具和功能 (例如 Credential Manager和 FLAG_SECURE),與您攜手維護平台安全,保護使用者資料。每個 Android 版本都會提升效能和安全性,而 Android 16 則提供簡單且重要的步驟,協助您強化應用程式的防禦能力。觀看影片或繼續閱讀,進一步瞭解我們針對無障礙 API 提供的強化保護措施。

 

 

只要一行程式碼,就能保護應用程式,避免遭人窺探

我們發現有心人士有時會嘗試利用無障礙工具 API 功能,直接從螢幕讀取密碼和財務詳細資料等私密資訊,並透過注入觸控事件來操控使用者裝置。為防範這類行為,Android 16 提供新的強大防禦機制,只要一行程式碼accessibilityDataSensitive

您可以使用 accessibilityDataSensitive 標記,明確將檢視區塊或可組合函式標示為含有私密資料。在應用程式中將此旗標設為 true,基本上就是禁止潛在惡意應用程式存取機密檢視區塊資料,或對其執行互動操作。運作方式如下:如果應用程式要求無障礙權限,但未明確聲明自己是正當的無障礙工具 (isAccessibilityTool=true),系統就會拒絕該應用程式存取該檢視畫面。

這項簡單但有效的異動有助於防止惡意軟體竊取資訊及執行未經授權的動作,同時不會影響使用者對合法無障礙工具的體驗。注意:如果應用程式並非無障礙工具,但要求無障礙權限並設定 isAccessibilityTool=true,Google Play 會拒絕該應用程式,Google Play 安全防護也會在使用者裝置上封鎖該應用程式。

自動提升安全防護等級,保護 setFilterTouchesWhenObscured

我們已將這項新的 accessibilityDataSensitive 安全功能整合至現有的 setFilterTouchesWhenObscured 方法。

如果您已使用 setFilterTouchesWhenObscured(true) 保護應用程式免於點擊劫持,系統會自動將檢視區塊視為無障礙功能的私密資料。我們在 setFilterTouchesWhenObscured 方法中加入 accessibilityDataSensitive 防護措施,讓所有使用者都能立即享有額外防護層,無需額外操作。

image.png

開始使用

建議您在包含機密資訊的任何畫面上使用 setFilterTouchesWhenObscured,包括登入頁面、付款流程,以及顯示個人或財務資料的任何檢視畫面。您也可以使用 accessibilityDataSensitive 旗標。

適用於 Jetpack Compose

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

val composeView = LocalView.current DisposableEffect(Unit) { composeView.filterTouchesWhenObscured = true onDispose { composeView.filterTouchesWhenObscured = false } }

 

使用 semantics 修飾符,將 sensitiveData 屬性套用至可組合函式。

BasicText { text = “Your password”,

            modifier = Modifier.semantics {

                sensitiveData = true }}

 

 

以 View 為基礎的應用程式

在 XML 版面配置中,將相關屬性新增至私密檢視區塊。

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

<TextView android:filterTouchesWhenObscured="true" />

 

 

<TextView android:accessibilityDataSensitive="true" />

 

或者,您也可以在 Java 或 Kotlin 中透過程式設定屬性:

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

myView.filterTouchesWhenObscured = true;

 

 

myView.isAccessibilityDataSensitive = true;

 

 

myView.setFilterTouchesWhenObscured(true)

 

 

myView.setAccessibilityDataSensitive(true);

 

如要進一步瞭解 accessibilityDataSensitivesetFilterTouchesWhenObscured 旗標,請參閱輕觸劫持指南

與開發人員合作,確保使用者安全

我們與開發人員合作,確保這項功能符合實際需求,並順利整合至您的工作流程。

image.png

我們一向以保護顧客的私密財務資料為優先,因此必須自行建構防護層,防範以無障礙功能為基礎的惡意軟體。Revolut 非常支持推出這項新的官方 Android API,因為這項 API 可讓我們逐步淘汰自訂程式碼,改用強大的單行平台防禦機制。」 
- Revolut Android 工程師 Vladimir Kozhevnikov

採用這些功能,就能在保護使用者免於惡意輔助功能攻擊方面,發揮重要作用。我們建議所有開發人員將這些功能整合至應用程式,確保使用者安全無虞。

讓我們攜手合作,為所有人打造更安全可靠的體驗。

繼續閱讀