跳过内容

MASTG-TECH-0049: 动态分析

动态分析通过执行和运行应用程序二进制文件并分析其工作流程中的漏洞来测试移动应用程序。 例如,关于数据存储的漏洞在静态分析期间有时很难发现,但在动态分析中,您可以轻松地发现哪些信息被持久存储,以及信息是否得到适当的保护。 除此之外,动态分析允许测试人员正确识别

  • 业务逻辑缺陷
  • 测试环境中存在的漏洞
  • 不正确的输入验证和不良的输入/输出编码,因为它们通过一个或多个服务进行处理

分析可以借助自动化工具,例如 MobSF,同时评估一个应用程序。 应用程序可以通过侧载、重新打包或简单地攻击已安装的版本来进行评估。

基本信息收集

如前所述,Android 运行在修改后的 Linux 内核之上,并保留了 Linux 的 proc 文件系统 (procfs),该文件系统挂载在 /proc。Procfs 提供了一个基于目录的视图,显示系统上运行的进程,提供有关进程本身、其线程和其他系统范围诊断的详细信息。 Procfs 可以说是 Android 上最重要的文件系统之一,许多操作系统原生工具都依赖它作为信息来源。

许多命令行工具没有随 Android 固件一起发布,以减少大小,但可以使用 Busybox 轻松地安装在已 root 的设备上。我们还可以使用 cutgrepsort 等命令创建自己的自定义脚本,以解析 proc 文件系统信息。

在本节中,我们将直接或间接地使用来自 procfs 的信息来收集有关正在运行的进程的信息。