background image
移动 APP 测试之安全性测试策略分析
随着互联网发展,APP 应用的盛行,最近了解到手机 APP 相关的安全性测试,以
webview 为主体的 app,站在入侵或者攻击的角度来讲,安全隐患在于 http 抓包,
逆向工程。
目前大部分 app 还是走的 http 或者 https,所以防 http 抓包泄露用户信息以及系
统自身[url=]漏洞[/url]是必要的,通过抓包当你查看一个陌生用户信息时,一些
手机号,qq 等信息页面上应该不显示的,但这些信息不显示并不代表[url=]服务
器[/url]没有下发,好多都是客户端限制的,通过抓包,完全可以查看到陌生用
户的 app。再如好多发帖,push 消息的应用,如果没有消息有效性的验证,抓到
包之后篡改消息,服务器一点反应都没,这就会留有极大的隐患。逆向工程对于
Android 就很好理解了,反编译,修改或者插入自己的代码,以达到相应目的。
安全性测试策略
1. 用户隐私
检查是否在本地保存用户密码,无论加密与否
检查敏感的隐私信息,如聊天记录、关系链、银行账号等是否进行加密
检查是否将系统文件、配置文件明文保存在外部设备上
部分需要存储到外部设备的信息,需要每次使用前都判断信息是否被篡改
本地存储数据可以查看看应用的 SharedPreferences 文件和数据库文件中的数据
(root 后在应用安装目录内,或者查看外部存储中有没有写入敏感数据)。
2. 文件权限
检查 App 所在的目录,其权限必须为不允许其他组成员读写
3. 网络传输
检查敏感信息在网络传输中是否做了加密处理,重要数据要采用 TLS 或者 SSL
http 请求默认是明文的,如果安全验证和加密机制很烂,通过网络嗅探扫描,很
容易被猜到和模拟请求,也可能被注入。
4. 运行时解释保护
对于嵌有解释器的软件,检查是否存在 XSS、SQL 注入漏洞
使用 webiew 的 App,检查是否存在 URL 欺骗漏洞
5. Android 组件权限保护
禁止 App 内部组件被任意第三方程序调用。
若需要供外部调用的组件,应检查对调用者是否做了签名限制
6. 升级