一、静态分析

代码审查:检查代码是否存在安全漏洞,如硬编码密码、敏感信息明文存储等。
配置文件分析:分析 APP 的配置文件,查看是否存在不当的权限设置等。
反编译测试:使用反编译工具(如 dex2jar 和 jd-gui)检查源代码是否进行了混淆,以及是否包含敏感信息。
二、动态分析

行为监测:在运行环境中监测 APP 的行为,包括网络通信、数据处理等。
漏洞扫描:使用专门的漏洞扫描工具,查找已知的安全漏洞。
攻击模拟:模拟各种攻击场景,如 SQL 注入、跨站脚本攻击(XSS)等,观察 APP 的反应。
三、渗透测试

由专业人员尝试进行各种攻击手段,以发现潜在漏洞。

四、安全审计

对整个 APP 的开发流程、安全策略等进行审查。

五、恶意软件检测

检查 APP 是否被植入恶意代码或捆绑恶意软件。

六、接口安全性测试

测试与外部系统交互的接口是否存在安全隐患。

七、数据保护检测

数据存储安全:测试应用程序是否正确地处理和保护用户数据,包括加密存储、数据清除、文件权限、数据库访问等。
数据传输测试:测试数据在传输过程中的安全性和可靠性,包括加密算法的正确性和安全性、数据传输的稳定性和可靠性,以及防止数据泄露和篡改的能力等。
八、身份验证测试

验证 APP 应用的登录功能是否安全、可靠。测试内容包括验证用户名和密码的正确性、验证码的复杂性和正确性,以及登录功能的稳定性和安全性等。

九、安装包测试

签名校验:检查签名使用的 key 是否正确,以防被恶意第三方应用覆盖安装。
完整性校验:确保安装包不会在测试完成到最终交付过程中发生文件损坏,一般检查文件的 md5 值。
权限设置检查:对 APP 申请某些特定权限的必要性进行检查,如访问通讯录等。对于没有必要的权限,建议直接移除。
十、其他测试项

权限管理:测试应用程序是否正确管理和使用权限,包括敏感权限的请求、权限请求的授权方式、权限是否真正需要以及权限滥用的防范等。
应用程序容器安全:测试应用程序在容器环境中的安全性,包括与其他应用程序的隔离、容器本身的安全控制等。
安全配置管理:测试应用程序的安全配置是否正确且安全,包括是否启用调试模式、是否禁用不安全的配置选项等。
安全日志和监控:测试应用程序是否能够有效地记录安全事件和异常,并进行监控和报警。


↙↙↙阅读原文可查看相关链接,并与作者交流