产品动态

增强 Android 安全性:阻止恶意软件窥探您的应用数据

2 分钟阅读时间

安全性是 Android 的基础。我们与您携手合作,通过提供强大的安全工具和功能(例如 Credential ManagerFLAG_SECURE)来确保平台安全并保护用户数据。每个 Android 版本都会带来性能和安全性方面的增强功能,而在 Android 16 中,您可以采取简单而有效的措施来增强应用的防御能力。观看我们的视频或继续阅读,详细了解我们针对无障碍功能 API 提供的增强保护。

 

 

只需一行代码即可保护您的应用免遭窥探

我们发现,不良行为者有时会尝试利用无障碍功能 API 功能直接从屏幕读取密码和财务详细信息等敏感信息,并通过注入触摸事件来操纵用户的设备。为了应对这种情况,Android 16 提供了一种新的强大防御机制,只需一行代码accessibilityDataSensitive

借助 accessibilityDataSensitive 标志,您可以将视图或可组合项明确标记为包含敏感数据。当您在应用中将此标志设置为 true 时,实际上是在阻止潜在的恶意应用访问您的敏感视图数据或对其执行互动。其工作原理如下:任何请求无障碍功能权限但未明确声明自己是合法的无障碍工具 (isAccessibilityTool=true) 的应用都将被拒绝访问该视图。

这项简单但有效的更改有助于防止恶意软件窃取信息和执行未经授权的操作,同时不会影响用户对合法无障碍功能工具的体验。注意:如果应用不是无障碍工具,但请求无障碍功能权限并设置 isAccessibilityTool=true,Google Play 将拒绝该应用,并且 Google Play 保护机制会在用户设备上阻止该应用。

针对 setFilterTouchesWhenObscured 保护的自动增强安全性

我们已将这项新的 accessibilityDataSensitive 安全功能与现有的 setFilterTouchesWhenObscured 方法集成。

如果您已使用 setFilterTouchesWhenObscured(true) 来保护您的应用免受点击劫持,那么您的视图将自动 被视为无障碍功能的敏感数据。通过使用 accessibilityDataSensitive 保护增强 setFilterTouchesWhenObscured 方法,我们无需额外工作即可立即为所有人提供额外的防御层。

image.png

使用入门

我们建议您在包含敏感信息的任何屏幕上使用 setFilterTouchesWhenObscuredaccessibilityDataSensitive 标志,包括登录页面、付款流程以及显示个人或财务数据的任何视图。

对于 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 }}

 

 

对于基于视图的应用

在 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,因为它允许我们逐步放弃自定义代码,转而采用强大的单行平台防御机制。”
- Vladimir Kozhevnikov,Revolut 的 Android 工程师

通过采用这些功能,您可以在保护用户免受基于无障碍功能的恶意攻击方面发挥关键作用。我们鼓励所有开发者将这些功能集成到自己的应用中,以帮助确保用户安全。

让我们携手为所有人打造更安全、更值得信赖的体验。

继续阅读