用途
该技能用于在应用发布前发现移动端安全漏洞和数据保护问题,可对 iOS 与 Android 应用开展渗透测试,覆盖 OWASP MASTG 测试流程,并支持按 OWASP MASVS L1/L2 进行合规评估。适用于处理敏感数据的移动银行、医疗、政务类应用,也适用于评估与后端 API 交互的移动生态端到端安全性,以及应用对逆向工程、篡改、运行时操纵的抵抗能力。
主要能力
- 静态分析:Android 侧可用 jadx 反编译 APK 获取 Java/Kotlin 源码,审查 AndroidManifest.xml 中的导出组件、权限与 debuggable 标志,检索硬编码密钥,识别不安全存储模式与 WebView 配置问题,并用 MobSF 自动化扫描;iOS 侧从 IPA 定位 Mach-O 二进制,用 otool 列出链接框架,借助 Ghidra/Hopper 分析硬编码 URL 与凭据,检查 Info.plist 的 ATS 例外与 entitlements。
- 网络通信测试:将 Burp Suite 配置为代理并安装 CA 证书,遍历应用功能抓取 API 流量;验证 SSL/TLS 校验,若应用通过代理无法连接则可能存在证书固定,可用 Frida 脚本(Android)或 SSL Kill Switch / Objection(iOS)尝试绕过;分析 API 调用中的明文敏感数据、URL 参数中的令牌、过量数据返回与弱认证,并关注 WebSocket 等非 HTTP 通道。
- 数据存储分析:Android 侧检查 /data/data 目录下的 SharedPreferences、SQLite 数据库、日志与剪贴板,验证 allowBackup 设置;iOS 侧导出 Keychain、检查 NSUserDefaults/plist、SQLite 与 Core Data,关注后台截图泄露与数据保护等级。
- 认证与会话管理:测试生物识别绕过、令牌存储位置、会话超时与服务端注销失效、root/越狱检测绕过、深度链接(自定义 URL scheme 与 universal links)滥用。
- 运行时操纵:使用 Frida 钩子修改认证检查返回值、绕过 root 检测与证书固定、拦截加密函数获取明文;iOS 方法交换;Android 通过 adb 构造 intent 访问导出组件;对重签名后的 APK/IPA 验证篡改检测。
使用方式
前提条件包括:目标应用的 IPA 与 APK 文件或私有分发渠道下载权限;已 root 的 Android 设备或模拟器(Genymotion、Android Studio AVD),安装 Frida、Objection、Magisk;已越狱的 iOS 设备或 Corellium 虚拟设备,安装 Frida、Objection、SSL Kill Switch;静态分析工具 jadx、Hopper/Ghidra、MobSF;以及配置好代理和 CA 证书的 Burp Suite Professional。工作流按静态分析、网络测试、存储分析、认证与会话、运行时操纵的顺序推进。报告输出示例包含发现编号、严重级别(如 CVSS)、平台、对应 MASVS 条目、描述、概念验证代码、影响与修复建议。
适用场景
资料给出的典型场景为移动银行应用安全评估,覆盖账户查看、转账、缴费、支票存入等功能,因涉及金融数据需满足 MASVS L2。在该场景中,测试可能发现硬编码的暂存服务器 URL 与 AWS API 密钥、证书固定可被绕过、余额查询接口返回超出所需范围的账户信息、交易记录以未加密 SQLite 缓存、生物识别回调可被钩子强制返回成功、root 检测可被 Magisk Hide 绕过等问题。
限制
仅限经应用所有者书面授权的安全测试与教育用途;不得对无权测试的应用使用,不得分发修改或重打包的应用,不得在公共应用商店应用上测试而应使用单独的测试构建。需注意仅使用模拟器可能遗漏硬件级安全特性(如 Android Keystore 硬件支持、iOS Secure Enclave);应同时测试 iOS 与 Android 版本,因其实现与漏洞可能不同;不应因后端 API 已单独测试而忽略移动端调用方式的差异;须完成证书固定绕过测试以保证网络分析完整。