跳转至

移动扫描先决条件

概述

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。

请参阅使用 TestFlight 扫描 iOS 移动应用。

框架支持

支持情况取决于框架和分析类型。完整表格请参阅平台支持。

  • Xamarin:支持静态分析、动态分析、行为分析和后端分析;不支持分析环境。
  • Framework7:支持动态分析、行为分析和后端分析,以及分析环境;不支持静态分析。
  • Apache Weex:支持动态分析、行为分析和后端分析,以及分析环境;不支持静态分析。

影响测试的保护机制

1. 混淆 (Obfuscation)

代码混淆将可读的源代码转换为功能相同但难以理解的版本,从而使逆向工程更具挑战性。

对测试的影响: 代码混淆会使开发人员难以读取堆栈跟踪 (stack traces) 以了解在哪里应用修复程序。

2. TLS 证书固定

证书固定 (TLS Pinning) 通过硬编码预期服务器的证书或公钥,验证应用程序是否仅与合法服务器通信。

对测试的影响: 可能会阻止流量拦截。

3. 运行时保护

运行时保护 (Runtime Protection) 机制可检测并防止在应用程序运行时尝试进行篡改、调试或插桩。

对测试的影响: 阻止应用程序为进行动态分析而被插桩或修补。

4. 防止开发者模式

检测并阻止可能用于应用程序分析的开发者设置、USB 调试和调试连接。

对测试的影响: 阻止使用调试协议进行应用程序插桩。

5. 禁用屏幕截图

防止捕获应用程序屏幕截图的安全功能。

对测试的影响: 阻止截取屏幕截图,并且可能会轻微阻碍应用程序的自动探索和爬取 (crawling)。

推荐的测试方法

  1. 在启用所有保护的情况下运行
  2. 在禁用开发者模式检测的情况下运行(如果适用)
  3. 在禁用所有保护的情况下运行

比较三次运行的结果,查看保护是否隐藏了任何发现。

要衡量保护本身的有效程度,请运行 Mobile Shielding Scan。它检查混淆、防篡改、反调试以及 root 和越狱检测,并在最后一项检查中于已 root 或已越狱的环境中运行应用。它用于衡量保护,并不是漏洞扫描。Mobile Deep Agentic Scan 在进行漏洞测试的同时也会执行相同的检查。请参阅扫描类型比较。

已知限制