
原标题:Android应用测试速查表
写在前面
介绍
这份速查表提供了一份进行Android应用测试所需要进行的测试清单。主要根据OWASP十大移动安全问题进行叙述。
1.1. 测试方法论

一个完整的安卓应用渗透测试包含了几个不同的领域,如上图所示。
1.1.1. 应用架构
在这个领域,重点在于理解应用程序逻辑和应用程序到底是做什么的。这包含了一些手动测试项目,我们会进行一些基本操作例如安装APK到手机上,登录并且了解APP的功能。
了解应用的架构,并寻找可能的攻击向量例如:
1.应用程序的类型是什么?(游戏,商业,生产力等等)
2.应用程序是否连接到后台的Web服务?
3.应用程序是完全自行编写还是使用了现有框架?
4.应用程序是否在设备上存储数据?
5.应用程序都使用了设备上的哪些功能?(,陀螺仪,等等)
1.1.2. 客户端攻击
这是渗透测试过程中最具挑战性和激动人心的部分。安卓APP被打包成APK文件,也被称为Android Package Kit或Android Application Package。作为渗透测试人员的任务就是确认应用程序在面对已知攻击向量时,现有的防护机制是否有效。安卓的移动应用通常是通过例如Google Play的平台进行分发。自从应用完全安装在客户端上以后,它就需要承受来自客户端的任何种类攻击。
1.1.3. 网络攻击
正如我们需要识别客户端中的漏洞,通过分析流量来确认客户端和服务器端的通信是否安全也是十分必要的。为达到这个目的,使用代理工具,评估潜在的SSL问题,以及分析Wireshark抓包文件都是进行评估工作的必要组成部分。
1.1.4. 服务端攻击
最后但重要的是,服务端层面的问题同样会影响应用程序的安全。一些不安全的实现例如错误配置,存在漏洞和问题的API或层面的问题,同样会影响到应用的安全性
在设备层面,应用需要以两种方式进行测试。逆向工程是移动应用测试的必要组成部分。这需要一台已经ROOT的设备。如果对为什么我们需要对已安装的APK进行逆向工程比较疑惑,主要原因在于客户端上。
1.2. 设备
同样有两种方法测试应用程序,我们需要考虑在测试中具体使用哪种方法。
1.安卓设备运行在出厂设备或普通模式下测试
2.安卓设备运行在ROOT模式下测试
在应用层面,应当以两种方式进行测试
1.应用程序在真实设备中运行(有利于测试触摸相关特性)
2.应用程序在模拟器中运行(使用台式或笔记本的大屏有利于进行测试)
OWASP入门指南
对于下面的每个标准,测试人员应遵循多个步骤进行测试
2.1. M1-平台使用不当【客户端攻击】
l 检查AndroidManifest.xml权限配置,某些权限配置可能是危险的。
l 如果应用使用了指纹识别,根据此特性测试不同的漏洞。参考https://www.blackhat.com/docs/us-15/materials/us-15-Zhang-Fingerprints-On-Mobile-Devices-Abusing-And-Leaking-wp.pdf
2.2. M2-不安全的数据存储【客户端攻击】
这部分测试应该在使用应用一段时间以后进行,以便充分测试。这种方式需要给予应用将一些数据存储在磁盘上所需的时间。这可能需要一个已经ROOT的安卓设备,以便能访问安卓中的例如’/sdcard’的常见路径。
/data/data/app_folder
/sdcard/
/sdcard1/
安卓应用程序需要在本地以sqllite或XML结构存储数据,因此需要执行SQL/XML查询或监控文件I/O。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-77465-1.html
问题是你不存起来