產品最新消息

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

閱讀時間:2 分鐘

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

 

 

只要一行程式碼,就能防止應用程式遭到窺探

我們發現,不肖人士有時會試圖利用 Accessibility API 功能,直接從螢幕讀取密碼和財務詳細資料等機密資訊,並透過插入觸控動作操控使用者裝置。為解決這個問題,Android 16 提供全新的強大防禦機制,只要一行程式碼即可啟用:accessibilityDataSensitive。

accessibilityDataSensitive 旗標可讓您明確標示含有機密資料的檢視畫面或可組合項。在應用程式中將這個標記設為 true,基本上就能防止潛在惡意應用程式存取或與機密檢視畫面資料互動。運作方式如下:如果應用程式要求無障礙權限,但未明確宣告本身是合法的無障礙工具 (isAccessibilityTool=true),就無法存取該檢視畫面。

這項簡單有效的異動可防止惡意軟體竊取資訊及執行未經授權的操作,同時不影響使用者對合法無障礙工具的體驗。注意:如果應用程式並非無障礙工具,但要求無障礙權限並設定 isAccessibilityTool=true,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);

 

如要進一步瞭解 accessibilityDataSensitive 和 setFilterTouchesWhenObscured 標記,請參閱觸控劫持指南。

與開發人員合作,維護使用者安全

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

image.png

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

採用這些功能,您就能發揮關鍵作用,保護使用者免受惡意無障礙攻擊。我們鼓勵所有開發人員將這些功能整合到應用程式中,確保使用者安全。

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

繼續閱讀