跳过内容

MASTG-TEST-0010: 在自动生成的截图中查找敏感信息

此测试即将更新

此测试目前可使用,但将作为新的 OWASP MASTG v2 指南 的一部分进行全面修订。

请提交 PR 以帮助我们:MASTG v1->v2 MASTG-TEST-0010:在自动生成的截图中查找敏感信息 (android)

发送反馈

概述

静态分析

当 Android 应用进入后台时,会拍摄当前活动的屏幕截图,并在应用返回前台时显示,以达到美观的目的。 但是,这可能会泄漏敏感信息。

要确定应用程序是否可能通过应用切换器泄露敏感信息,请确定是否已设置 FLAG_SECURE 选项。你应该找到类似于以下代码片段的内容

Java 示例

getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
                WindowManager.LayoutParams.FLAG_SECURE);

setContentView(R.layout.activity_main);

Kotlin 示例

window.setFlags(WindowManager.LayoutParams.FLAG_SECURE,
                WindowManager.LayoutParams.FLAG_SECURE)

setContentView(R.layout.activity_main)

如果未设置该选项,则应用程序容易受到屏幕捕获的攻击。

动态分析

在对应用进行黑盒测试时,导航到任何包含敏感信息的屏幕,然后单击“主页”按钮以将应用发送到后台,然后按应用切换器按钮以查看快照。 如下图所示,如果设置了 FLAG_SECURE(左图),则快照将为空; 如果未设置标志(右图),则将显示活动信息

在支持基于文件的加密 (FBE)的设备上,快照存储在 /data/system_ce/<USER_ID>/<IMAGE_FOLDER_NAME> 文件夹中。 <IMAGE_FOLDER_NAME> 取决于供应商,但最常见的名称是 snapshotsrecent_images。 如果设备不支持 FBE,则使用 /data/system/<IMAGE_FOLDER_NAME> 文件夹。

访问这些文件夹和快照需要 root 权限。