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>
取决于供应商,但最常见的名称是 snapshots
和 recent_images
。 如果设备不支持 FBE,则使用 /data/system/<IMAGE_FOLDER_NAME>
文件夹。
访问这些文件夹和快照需要 root 权限。