APP安全测试的主要测试内容包括安全合规、客户端安全和敏感信息安全这三部分,前面我们已经为大家介绍了APP安全合规性和客户端安全怎么测,接下来我们一起看一下敏感数据安全的测试。
针对敏感数据这部分,我认为比较重要的有上图中展示的三点:敏感数据明文硬编码、敏感词是否过滤,敏感数据本地明文存储以及调试信息Logcat明文展示。
敏感数据明文硬编码、敏感词是否过滤,这个需要结合反编译,快速搜索是不是有以上相关的内容。
敏感数据本地明文存储,在实际的测试中,我们需要分析一下在运行的过程中是否会往某个目录下释放文件等相关操作。这些数据是否是明文的,针对这些敏感数据是否有做相应的保护。
调试信息Logcat明文展示。研发人员在研发或上线的过程中,在关闭调试信息时,很容易会漏掉一些,存放和展示了一些敏感的数据,所以这部分也需要我们去测试的。
敏感词和敏感数据
通过利用GDA工具去分析dex文件中所有字符串信息,验证是否存在敏感词数据。GDA工具能够快速展示dex文件中所有字符串信息,我们需要对这些字符串信息进行验证,检查是否有一些敏感词或敏感数据。我们在分析的过程中,也需要我们做一些标准,不断同步和更新敏感词库。如果没有及时更新敏感词库,会导致我们在分析的时候漏掉一些,这也是一个需要重视的问题点。
上面的示例是针对dex文件的,接下来我们一起看一下SO文件。跟前面讲的一样,我们可以利用ida反汇编工具去验证,查看下so代码中是否存在敏感信息或敏感词。如果没有做SO保护的话,这些敏感信息都是完全暴露的。
本地数据存储
/data/data/包名/文件下的配置文件中的敏感数据是否是明文的。下面的截图是一个本地存储方面的示例,data文件下的一些配置文件在APK里面运行的时候,会释放一些文件,我们需要校验一下这些文件里面是否存储了一些未经保护的敏感数据。
/sdcard/android/data/包名/文件下的配置文件中的敏感数据是否是明文的。sdcard路径下也是同理。
调试信息
利用SDK中自带的Android Device Monitor工具进行监控测试app运行过程中是否有输出敏感的调试信息。APP运营的时候,通过这个工具可以输出全部的调试信息,我们只需要去分析过滤一下,这些调试信息里面是否有敏感词相关的信息。如果有就需要我们及时反馈做相关处理,这是我们调试信息验证的一个方式。
后面的文章我们会继续为大家介绍APP安全测试的难点以及对未来发展放心的一个展望,欢迎大家继续关注。