安装包安全性
1、反编译
目的是为了保护公司的知识产权和安全方面的考虑等,一些程序开发人员会在源码中硬编码一些敏感信息,如密码。而且若程序内部一些设计欠佳的逻辑,也可能隐含漏洞,一旦源码泄漏,安全隐患巨大。
为了避免这些问题,除了代码审核外,通常开发的做法是对代码进行混淆,混淆后源代码通过反软件生成的源代码是很难读懂的。
2、签名
这点IOS可以不用考虑,因为APP stroe都会校验。但Android没有此类权威检查,我们要在发布前校验一下签名使用的key是否正确,以防被恶意第三方应用覆盖安装等。可使用下列命令检查:
jarsigner -verify -verbose -certs apk包路径
若结果为“jar 已验证”,说明签名校验成功。
3、完整性校验
为确保安装包不会在测试完成到最终交付过程中因为某些原因发生文件损坏,需要对安装包进行完整性校验,通常做法是检查文件的md5值。
数据安全性
1、数据库
数据库是否存储敏感信息,某些应用会把cookie类数据保存在数据库中,一旦此数据被他人获取,可能造成用户账户被盗用等严重问题,测试中在跑完一个包含数据库操作的测试用例后,我们可以直接查看数据库里的数据,观察是否有敏感信息存储在内。一般来说这些敏感信息需要用户进行注销操作后删除。如果是cookie类数据,建议设置合理的过期时间。
2、日志
日志是否存在敏感信息,一般开发在写程序的过程中会加入日志帮助高度,所有可能会写入一些敏感信息,通常APP的发布版不会使用日志,但也不排除特殊情况。
3、配置文件
配置文件是否存在敏感信息,与日志类似,我们需要检查配置文件中是否包含敏感信息。
推荐阅读: