產品新訊

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

2 分鐘小故事

安全性是 Android 的基礎。我們與您攜手合作,提供強大的安全性工具和功能 (例如「憑證管理工具」和 FLAG_SECURE),確保平台安全無虞並保護使用者資料。每個 Android 版本都會帶來效能和安全性方面的強化功能,而透過 Android 16,您可以採取簡單但重要的步驟,加強應用程式的防禦能力。請觀看影片或繼續閱讀,進一步瞭解我們為無障礙 API 提供的強化防護措施。

 

 

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

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

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

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

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

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

如果您已使用 setFilterTouchesWhenObscured(true) 保護應用程式免於點擊劫持攻擊,系統會自動將檢視區塊視為無障礙功能的敏感資料。我們透過 accessibilityDataSensitive 防護功能強化 setFilterTouchesWhenObscured 方法,立即為所有人提供額外防護層,無需額外作業。

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,因為這讓我們能逐步淘汰自訂程式碼,改用強大的單行平台防禦機制。」
- Revolut Android 工程師 Vladimir Kozhevnikov

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

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

繼續閱讀