APP安全测试

1. 数据安全
  App的安全问题首先是数据安全。App本地存储的数据和网络请求数据中有没有涉及到用户的隐私数据。
  本地存储数据可以查看看应用的shared_prefs文件和数据库文件中的数据(root后在应用安装目录内,或者查看外部存储中有没有写入敏感数据)。
APP安全测试_第1张图片
  cache—缓存文件,databases—数据库目录,files—本地文件,lib—库文件,webview—网络视图,可以将其视为一个浏览器。
Shared_prefs是SharedPreferences的缩写,是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。SharedPreferences 可以用来进行数据的共享,包括应用程序之间,或者同一个应用程序中的不同组件。比如两个activity除了通过Intent传递数据之外,也可以通过ShreadPreferences来共享数据。
   网络请求可以用我们课程介绍的fiddler和tcpdump进行抓包,测试登录的用户名密码是否加密,看特定操作下该应用发起的请求中有没有涉及到安全的数据(用户的隐私、服务器的敏感信息等)。
2. 权限
   检查App所在的目录,其权限必须为不允许其他组成员读写。
3. 组件安全
   APP安全测试的会涉及的组件包括WebView,和android四大组件Activity、Service、Broadcast Receiver、Content Provider。
   对于组件测试可以借用工具或第三方平台进行测试。这里我们介绍爱内测这一平台。这一平台的使用和云测类似。对我们项目的apk包测试结果如下:
APP安全测试_第2张图片
  可见该apk的组件危险性系数比较高。另外,我们还可以下载测试报告,报告中对于安全漏洞提出了一些修复建议。
4.sql注入漏洞
  Sql注入安全同样借用第三方平台——阿里云测进行测试。该平台的使用和云测平台同样类似。另外,该平台还可测兼容性、稳定性等,功能还是比较强大的。
APP安全测试_第3张图片APP安全测试_第4张图片


  这是部分截图,该平台很好的统计了apk的漏洞级别和类型,深入到代码级别显示漏洞详细信息。从结果分析apk安全确实存在较大漏洞。
5.应用自身安全性
   对某个应用进行逆向,看反编译后的代码有没有敏感信息暴露。反编译后对代码修改,插入劫持代码后重新打包,如果存在这种漏洞,对用户和开发者都构成极大的威胁。反编译可以参考http://blog.csdn.net/vipzjyno1/article/details/21039349/
   由于缺乏代码能力和水平有限,工具测试出来的报告中的很多内容也不是很明白,有兴趣或者以后工作有需要的可以自己深入研究下。

你可能感兴趣的:(App测试技术)