移动扫描先决条件
概述
Ostorlab 执行移动应用程序的静态、动态和行为分析。 这些功能利用广泛的引擎、工具和技术来绕过生产应用程序的限制并评估其安全性。
我们通常建议在启用全套保护的情况下测试应用程序,以验证这些保护的影响,并在禁用它们的情况下进行测试,以比较是否因这些保护而报告或遗漏了任何其他发现。
影响测试的保护机制
1. 混淆 (Obfuscation)
代码混淆将可读的源代码转换为功能相同但难以理解的版本,从而使逆向工程更具挑战性。
对测试的影响: 代码混淆会使开发人员难以读取堆栈跟踪 (stack traces) 以了解在哪里应用修复程序。
2. TLS 证书固定
证书固定 (TLS Pinning) 通过硬编码预期服务器的证书或公钥,验证应用程序是否仅与合法服务器通信。
对测试的影响: 在极少数情况下可能会阻止流量拦截。Ostorlab 拥有强大的 TLS Pinning 绕过机制。
3. 运行时保护
运行时保护 (Runtime Protection) 机制可检测并防止在应用程序运行时尝试进行篡改、调试或插桩。
对测试的影响: 阻止应用程序为进行动态分析而被插桩或修补。
4. 防止开发者模式
检测并阻止可能用于应用程序分析的开发者设置、USB 调试和调试连接。
对测试的影响: 阻止使用调试协议进行应用程序插桩。
5. 禁用屏幕截图
防止捕获应用程序屏幕截图的安全功能。
对测试的影响: 阻止截取屏幕截图,并且可能会轻微阻碍应用程序的自动探索和爬取 (crawling)。
推荐的测试方法
- 在启用所有保护的情况下运行
- 在禁用开发者模式检测的情况下运行(如果适用)
- 在禁用所有保护的情况下运行
这种三阶段方法通过验证保护的有效性并同时识别所有潜在的漏洞,确保进行全面的安全评估。