背景:

最近,在我们的Android应用上线Google Play Store过程中,我们遭遇了一个棘手的问题:Google的检测系统发现了一个安全警告。这个突如其来的问题使我们的整个项目组投入了两天时间来紧急排查,期间我们经历了错综复杂的调试和验证过程。此次经历促使我们决定,在测试阶段就要更加仔细地检测潜在的安全问题,以确保此类事件不再发生。

MobSF介绍

移动安全框架 (MobSF) 是一个针对 Android、iOS 和 Windows Mobile 移动应用程序的安全研究平台。 MobSF 可用于各种用例,例如移动应用程序安全、渗透测试、恶意软件分析和隐私分析。静态分析器支持流行的移动应用程序二进制文件,例如 APK、IPA、APPX 和源代码。同时,动态分析器支持 Android 和 iOS 应用程序,并提供交互式仪器测试、运行时数据和网络流量分析的平台。 MobSF 在 REST API 和 CLI 工具的帮助下与您的 DevSecOps 或 CI/CD 管道无缝集成,轻松增强您的安全工作流程。

官网地址

github.com/MobSF/Mobil…

开始部署

写在前面

不知为何,我的电脑在执行docker pull的时候一直报错,后续问了GPT知晓答案,具体交谈如下:

  • 我的报错内容:
MacBook-Pro % docker pull opensecurity/mobile-security-framework-mobsf:latest
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
  • GPT回复:

这个错误消息表示你的Docker守护进程可能没有运行。在Mac上,你可以尝试以下步骤来启动Docker守护进程:

  1. 打开Finder,点击应用程序,在那里找到Docker应用。
  2. 双击Docker.app以启动Docker。首次启动时可能需要一些时间来初始化。
  3. 通过顶部菜单栏的Docker图标可以查看其状态,当Docker完全启动并准备就绪时,图标会停止跳动并显示正常。
  4. Docker启动后,重新运行你的命令:
docker pull opensecurity/mobile-security-framework-mobsf:latest

如果你仍然遇到错误,请检查Docker是否有必要的权限。在Mac上,Docker可能需要额外的权限才能正常运行。如需排查问题,可以尝试打开Mac的系统偏好设置,转到安全性与隐私,然后确保Docker已被授权。

此外,确保你已经安装了最新版本的Docker Desktop,并且它是为你的Mac操作系统版本所支持的。

如果这些选项均不工作,你可能需要重启你的Mac电脑或重新安装Docker。在某些情况下,手动启动Docker服务也可以解决问题,不过通常情况下双击启动Docker.app足够了。

  • 我的思考:

我寻思,我按照他所说的描述1,去找了我的访达,但是没有Docker「应用」。此刻我还在疑问,docker难道不是一直是命令行嘛?

  • 验证猜想

后来我确认了一遍,docker可能不知道什么时候改版了,以前的命令行方式可能并不适合本次的这个功能相关。因此我果断卸载掉了我的命令行docker,转而去docker的官网下载dmg文件的「应用」。

在我下载安装好docker之后,果然可以执行命令

docker pull opensecurity/mobile-security-framework-mobsf:latest

因此我认为此刻应该没有什么大问题,起码第一步可以先用起来。随后我转而去了解了一些有关MobSF的相关文档。

运行镜像

执行

docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest

之后也确实看到docker应用中的镜像启动了,然后我也可以正常访问到我的本地服务,美中不足就是此刻感觉有点小卡。

MobSF移动安全扫描平台本地化部署「docker方案」

MobSF移动安全扫描平台本地化部署「docker方案」

访问页面

大功告成!

MobSF移动安全扫描平台本地化部署「docker方案」

体验静态扫描

MobSF移动安全扫描平台本地化部署「docker方案」

静态扫描的输出内容

Android:
APK基本信息:文件名、文件大小、MD5、SHA-1、SHA-256
APP信息:包名、Main Activity、版本号等
组件:Activity、Service、Broadcast Receiver、Content Provider
证书信息(Signer Certificate)
权限信息
Android API信息
Androidmanifest分析(标志位、组件配置等)
代码分析、文件分析
url、email、string等
iOS:
IPA基本信息
自定义网址方案
权限许可
应用传输安全性(ATS)
Plist文件分析
文件分析
请求网站分析
防火墙数据库
邮件,源文件

体验动态扫描

查询文档得知,docker安装无法进行动态扫描。只有进行了本地安装之后才可以进行动态扫描,也罢!刚好下一篇文章的相应文章输出又了,本地安装进行动态扫描就放在下一篇文章!

总结

本章总结:

  • 如果使用docker安装MobSF,则必须采用docker的应用,命令行不行
  • docker安装的MobSF,指具有静态扫描功能
  • 静态扫描功能输出的还是相应较全,完全够使用
  • 静态扫描可以扫描安卓的Apk和iOS的ipa包
  • 更多功能请详情查阅官方文档