本文档详细介绍了如何监控敏感活动,例如用户登录和在线购买。
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
权限表示您选择不希望应用程序叠加层绘制在您的应用程序之上。此权限提供了一种针对cloak and dagger攻击的保护机制。
实现
要启用此权限,请将HIDE_OVERLAY_WINDOWS
添加到项目的清单文件中。
最佳实践
与任何权限一样,您应该至少像信任设备上的任何其他应用程序一样信任任何叠加层应用程序。换句话说,除非您知道其他应用程序是可信的,否则您的应用程序不应允许其他应用程序在其上绘制叠加层。允许应用程序在其他应用程序上绘制叠加层可能很危险,因为它可能会窃取密码或读取消息。