怎么去测试一个 app 是否存在安全问题,面对这类安全性测试,是app专项测试中必须要做的一环,
简单列举下目前常做的测试类别
1. 用户隐私
检查是否在本地保存用户密码,无论加密与否
检查敏感的隐私信息,如聊天记录、关系链、银行账号等是否进行加密
检查是否将系统文件、配置文件明文保存在外部设备上
部分需要存储到外部设备的信息,需要每次使用前都判断信息是否被篡改
2. 文件权限
检查App所在的目录,其权限必须为不允许其他组成员读写
3. 网络通讯
检查敏感信息在网络传输中是否做了加密处理,重要数据要采用TLS或者SSL
4. 运行时解释保护
对于嵌有解释器的软件,检查是否存在XSS、SQL注入漏洞
使用webiew的App,检查是否存在URL欺骗漏洞
5. Android组件权限保护
禁止App内部组件被任意第三方程序调用。
若需要供外部调用的组件,应检查对调用者是否做了签名限制
6. 升级
检查是否对升级包的完整性、合法性进行了校验,避免升级包被劫持
7. 3rd库
如果使用了第三方库,需要跟进第三方库的更新
第一:这个app应用是否能真正保护用户的隐私不会被窃取;这点也是最重要的,相信大多数人也都反感自己的资料被广告商所贩卖吧!
第二:测试这个app本身是否存在漏洞?容易被手机病毒入侵,导致手机数据丢失或者手机系统被破坏;
第三:运行过程中会不会出现突然闪退的情况?如果这个app有交易功能那么他的交易接口是否安全,会不会被劫持,造成资金的损失。
美文推荐:
技术博客:移动应用加密工具解析
技术博客:程序员之选:移动开发中几个全新的开源工具