- 扫描
- 运行扫描
- 移动扫描先决条件
移动扫描先决条件
概述
Ostorlab 执行移动应用程序的静态、动态和行为分析。 这些功能利用广泛的引擎、工具和技术来绕过生产应用程序的限制并评估其安全性。
动态分析在插桩沙箱中运行应用,以跟踪其与网络、文件系统、钥匙串(keychain)和 API 的交互方式。请参阅检测。
我们通常建议在启用全套保护的情况下测试应用程序,以验证这些保护的影响,并在禁用它们的情况下进行测试,以比较是否因这些保护而报告或遗漏了任何其他发现。
支持的应用格式
您可以上传 Android、iOS 和 HarmonyOS 应用文件。iOS 文件必须是未加密的 IPA。
| 平台 | 上传格式 | 说明 |
|---|---|---|
| Android | .apk, .aab |
在 New Scan 中选择 Android App。 |
| iOS | .ipa |
选择 iOS App。IPA 必须是未加密的。 |
| HarmonyOS | .apk, .aab, .rpk, .app, .hap |
选择 HarmonyOS App。 |
有关上传步骤,请参阅从文件扫描移动应用。完整的资产类型列表请参见多资产支持的资产类型。
您还可以添加 SBOM 或锁定文件(lock file)来扩展依赖项检测。有关支持的文件,请参阅使用 SBOM 或 Lockfile 的扫描。
源代码是单独扫描的,来源可以是 Git 仓库或上传的归档文件(.zip、.tar.gz、.tgz、.7z)。请参阅源代码扫描。
从应用商店和 TestFlight 扫描
您可以从应用商店中选择已发布的应用,或者提供 iOS TestFlight 构建版本的公开链接。
从应用商店:
- 为 Android 选择 PlayStore,为 iOS 选择 AppStore,或为 HarmonyOS 选择 AppGallery。
- 按应用名称、包名、bundle 名称或 bundle ID 搜索应用。
- 如果该应用仅在部分国家/地区可用,请在 Country 菜单中选择一个。
请参阅从应用商店扫描移动应用。
从 TestFlight:
- 选择 iOS TestFlight 并输入 TestFlight 公开 URL。
框架支持
支持情况取决于框架和分析类型。完整表格请参阅平台支持。
- Xamarin:支持静态分析、动态分析、行为分析和后端分析;不支持分析环境。
- Framework7:支持动态分析、行为分析和后端分析,以及分析环境;不支持静态分析。
- Apache Weex:支持动态分析、行为分析和后端分析,以及分析环境;不支持静态分析。
影响测试的保护机制
1. 混淆 (Obfuscation)
代码混淆将可读的源代码转换为功能相同但难以理解的版本,从而使逆向工程更具挑战性。
对测试的影响: 代码混淆会使开发人员难以读取堆栈跟踪 (stack traces) 以了解在哪里应用修复程序。
2. TLS 证书固定
证书固定 (TLS Pinning) 通过硬编码预期服务器的证书或公钥,验证应用程序是否仅与合法服务器通信。
对测试的影响: 可能会阻止流量拦截。
3. 运行时保护
运行时保护 (Runtime Protection) 机制可检测并防止在应用程序运行时尝试进行篡改、调试或插桩。
对测试的影响: 阻止应用程序为进行动态分析而被插桩或修补。
4. 防止开发者模式
检测并阻止可能用于应用程序分析的开发者设置、USB 调试和调试连接。
对测试的影响: 阻止使用调试协议进行应用程序插桩。
5. 禁用屏幕截图
防止捕获应用程序屏幕截图的安全功能。
对测试的影响: 阻止截取屏幕截图,并且可能会轻微阻碍应用程序的自动探索和爬取 (crawling)。
推荐的测试方法
- 在启用所有保护的情况下运行
- 在禁用开发者模式检测的情况下运行(如果适用)
- 在禁用所有保护的情况下运行
比较三次运行的结果,查看保护是否隐藏了任何发现。
要衡量保护本身的有效程度,请运行 Mobile Shielding Scan。它检查混淆、防篡改、反调试以及 root 和越狱检测,并在最后一项检查中于已 root 或已越狱的环境中运行应用。它用于衡量保护,并不是漏洞扫描。Mobile Deep Agentic Scan 在进行漏洞测试的同时也会执行相同的检查。请参阅扫描类型比较。
已知限制
- 一个多资产扫描最多可以包含一个移动应用。
- TLS 固定、运行时保护和开发者模式防护等保护可能会限制动态分析。请参阅影响测试的保护机制。
- 动态分析调用跟踪支持 Java、C、Flutter 和 Swift。请参阅使用 IDE:搜索与分析。