移动端安全框架:MobSF:概要与使用

这里写图片描述
MobSF是Mobile Security Framework的缩写,是一个移动端应用安全问题检出的框架和工具,它适用于Android/iOS/Windows,能够执行动态和静态的恶意软件的分析和检测。支持Android和iOS以及Windows移动应用,无论是二进制方式还是压缩的源代码都可以进行检测。MobSF将数据保持在本地环境之中,所以可以不必担心应用和相关的数据被送至云端。另外,对于ssl链接/简单的加密方式/硬编码的密件信息等MobSF也进行了重点地关注。

MobSF概要信息

项目说明
开源/闭源开源
License类别GPL v3.0 License
代码管理地址https://github.com/MobSF/Mobile-Security-Framework-MobSF
开发语言Python,Snail,JavaScript
支持平台提供官方镜像,可运行于容器之中
当前版本v0.9.5.5 Beta(2017/12/17)

2018开发计划

这里写图片描述

使用MobSF

本文使用最简单的方式通过官方镜像的方式来使用MobSF。可以使用如下步骤简单进行

步骤说明命令
步骤1下载镜像docker pull opensecurity/mobile-security-framework-mobsf
步骤2启动容器docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
步骤3访问服务http://127.0.0.1:8000
步骤4上传Android或者iOS应用并确认结果-

执行日志

下载镜像

[root@devops ~]# docker pull opensecurity/mobile-security-framework-mobsf
Using default tag: latest
latest: Pulling from opensecurity/mobile-security-framework-mobsf
68393378db12: Pull complete 
...省略 
Digest: sha256:89df8be7e2991ae6c10fe02d91ce7eff4f976697a34551744c4cd4732a606098
Status: Downloaded newer image for opensecurity/mobile-security-framework-mobsf:latest
[root@devops ~]#

镜像尺寸较大, 目前版本达2.15G

[root@devops ~]# docker images |grep mobsf
opensecurity/mobile-security-framework-mobsf   latest              b7308c12af38        2 weeks ago         2.15 GB
[root@devops ~]#

启动容器

[root@devops ~]# docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
[INFO] Loading User config from: /root/.MobSF/config.py

  __  __       _    ____  _____         _   ___  
 |  \/  | ___ | |__/ ___||  ___| __   _/ | / _ \ 
 | |\/| |/ _ \| '_ \___ \| |_    \ \ / / || | | |
 | |  | | (_) | |_) |__) |  _|    \ V /| || |_| |
 |_|  |_|\___/|_.__/____/|_|       \_/ |_(_)___/ 




Mobile Security Framework v1.0 Beta

REST API Key: d6abbc7a15d6fc66e86c0483a4bc8f1835f82f953c5244f6443d925aeb65b08b
OS: Linux
Platform: Linux-3.10.0-693.el7.x86_64-x86_64-with-Ubuntu-17.10-artful
Dist: ('Ubuntu', '17.10', 'artful')
[INFO] Finding JDK Location in Linux/MAC....
[INFO] JDK 1.7 or above is available

[WARNING] Could not find VirtualBox path.
[INFO] MobSF Basic Environment Check
[INFO] Checking for Update.

[INFO] No updates available.
No changes detected
[INFO] Loading User config from: /root/.MobSF/config.py

  __  __       _    ____  _____         _   ___  
 |  \/  | ___ | |__/ ___||  ___| __   _/ | / _ \ 
 | |\/| |/ _ \| '_ \___ \| |_    \ \ / / || | | |
 | |  | | (_) | |_) |__) |  _|    \ V /| || |_| |
 |_|  |_|\___/|_.__/____/|_|       \_/ |_(_)___/ 




Mobile Security Framework v1.0 Beta

REST API Key: d6abbc7a15d6fc66e86c0483a4bc8f1835f82f953c5244f6443d925aeb65b08b
OS: Linux
Platform: Linux-3.10.0-693.el7.x86_64-x86_64-with-Ubuntu-17.10-artful
Dist: ('Ubuntu', '17.10', 'artful')
[INFO] Finding JDK Location in Linux/MAC....
[INFO] JDK 1.7 or above is available

[WARNING] Could not find VirtualBox path.
[INFO] MobSF Basic Environment Check
[INFO] Checking for Update.

[INFO] No updates available.
No changes detected in app 'StaticAnalyzer'
[INFO] Loading User config from: /root/.MobSF/config.py

  __  __       _    ____  _____         _   ___  
 |  \/  | ___ | |__/ ___||  ___| __   _/ | / _ \ 
 | |\/| |/ _ \| '_ \___ \| |_    \ \ / / || | | |
 | |  | | (_) | |_) |__) |  _|    \ V /| || |_| |
 |_|  |_|\___/|_.__/____/|_|       \_/ |_(_)___/ 




Mobile Security Framework v1.0 Beta

REST API Key: d6abbc7a15d6fc66e86c0483a4bc8f1835f82f953c5244f6443d925aeb65b08b
OS: Linux
Platform: Linux-3.10.0-693.el7.x86_64-x86_64-with-Ubuntu-17.10-artful
Dist: ('Ubuntu', '17.10', 'artful')
[INFO] Finding JDK Location in Linux/MAC....
[INFO] JDK 1.7 or above is available

[WARNING] Could not find VirtualBox path.
[INFO] MobSF Basic Environment Check
[INFO] Checking for Update.

[INFO] No updates available.
Operations to perform:
  Apply all migrations: StaticAnalyzer, auth, contenttypes, sessions
Running migrations:
  Applying StaticAnalyzer.0001_initial... OK
  Applying contenttypes.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0001_initial... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK
[INFO] Loading User config from: /root/.MobSF/config.py
[INFO] Loading User config from: /root/.MobSF/config.py
Performing system checks...


  __  __       _    ____  _____         _   ___  
 |  \/  | ___ | |__/ ___||  ___| __   _/ | / _ \ 
 | |\/| |/ _ \| '_ \___ \| |_    \ \ / / || | | |
 | |  | | (_) | |_) |__) |  _|    \ V /| || |_| |
 |_|  |_|\___/|_.__/____/|_|       \_/ |_(_)___/ 




Mobile Security Framework v1.0 Beta

REST API Key: d6abbc7a15d6fc66e86c0483a4bc8f1835f82f953c5244f6443d925aeb65b08b
OS: Linux
Platform: Linux-3.10.0-693.el7.x86_64-x86_64-with-Ubuntu-17.10-artful
Dist: ('Ubuntu', '17.10', 'artful')
[INFO] Finding JDK Location in Linux/MAC....
[INFO] JDK 1.7 or above is available

[WARNING] Could not find VirtualBox path.
[INFO] MobSF Basic Environment Check
[INFO] Checking for Update.

[INFO] No updates available.
System check identified no issues (0 silenced).
May 24, 2018 - 11:29:06
Django version 2.0.5, using settings 'MobSF.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

访问服务

这里写图片描述

上传Android或者iOS应用并确认结果

下载一个Android的apk文件并进行分析,这里我们从Pconline上下载一下工商银行的手机应用并进行上传
这里写图片描述
稍等片刻,即可确认整体的结果了
这里写图片描述

移动安全框架 (MobSF) 是一个智能化、一体化的开源移动应用(Android / iOS)自动测试框架,能够对以上两种移动应用进行静态和动态分析(动态分析目前暂时只支持Android)。它可以有效、快速地对应用APK 和IPA文件 及压缩的源代码进行审计分析。同时,MobSF 也能够通过其API Fuzzer功能模块,对 Web API 的安全性进行检测,如收集信息,分析安全头部信息,识别移动API 的具体漏洞,如XXE、SSRF、路径遍历,IDOR以及其他的与会话和API调用速率限制有关的逻辑问题。运行环境• Python 2.7,下载请点击:Python 2.7• Oracle JDK 1.7或以上版本,下载请点击:Oracle JDK;• Oracle VirtualBox 下载请点击: VirtualBox;• iOS IPA分析(需在 Mac系统上执行)所需命令行工具( Mac系统)下载请点击:Conmand-line tool;• 硬件配置:4GB 或以上内存,5G硬盘空间。安装该框架目前暂时只于Windows 7, 8, 8.1, 10, Ubuntu, OSX Mavericks等系统平台上进行测试。• Windows:解压MobSF压缩文件到C:\MobSF;• Mac:解压MobSF压缩文件到/Users/[username]/MobSF;• Linux:解压MobSF压缩文件到/home/[username]/MobSF。配置静态分析器通过pip安装MobSF Python 依赖包,以下为不同系统的命令执行操作,WindowsC:\Python27\Scripts\pip.exe install -r requirements.txt如果pip.exe在脚本目录中不可用,下载及重新安装最新版本的Python2.7。Unixpip install -r requirements.txt运行MobSFpython manage.py runserver如果需要在具体端口上运行,可以通过以下指令进行,python manage.py runserver port_number如果上述步骤都顺利正常执行的话,那么我们将会看到以下的输出内容,配置动态分析器配置MobSF VM 动态分析器目前只支持针对 Android APK文件进行分析,硬件环境要求为需要计算机拥有4GB 内存和支持完全虚拟化。首先,配置动态分析器我们需要获取以下4个方面的信息,(1)VM UUID(2)快照 UUID(3)主机/代理 IP(4)VM/设备 IP操作步骤1、打开VirtualBox(本文主要以VirtualBox为样例),选择文件->导入应用,并选中MobSF_VM_X.X.ova 文件(下载地址可于前文查看);2、在进行导入过程中,请勿更改任意配置,一切按照默认设置进入下一步;3、一旦OVA文件导入成功,我们将在VirtualBox上看到一个以MobSF_VM_X.X命名的新的条目;4、接下来右击MobSF VM,并选择设置一项,选中到网络选项卡,这里我们需要配置两个网络适配器;(1)适配器1 启用并于attached to 中,选择Host-only Adapter模式,重命名适配器名称,因为我们需要通过该名称来识别主机/代理 IP,配置如下图;(2)适配器2 启用并于attached to中,选择NAT模式,配置如下图。5、保存上述设置,便可启动MobSF VM。当该VM启动的时候,记下VM的 IP地址;6、一旦该虚机启动后,它会停留在一个锁屏状态上,而解锁密码默认为1234;7、获取 主机/代理 IP(1)Windows :在命令提示符中输入ipconfig,记下与适配器1 相同名称的适配器IP地址;(2)Unix :在命令提示符中输入ifconfig,记下与适配器1 相同名称的适配器IP地址;8、接着在MobSF 虚机中选中Wi-Fi设置,设置代理IP(上一步获取到的IP)和端口(1337);9、保存设置,并回到MobSF虚机的Home界面上,等待大约30秒的时间,之后保存好 MobSF虚机的快照;10、一旦快照保存好,右击MobSF虚机,选择“在Explorer中显示”或者“在 Finder中显示”;11、在任意编辑器中打开MobSF_VM_X.X.vbox文件(这里使用的是sublime),记下 VM UUID以及快照UUID;接下来,到了此时,我们已经有了如前文提到的,配置动态分析器所需要的信息,(1)VM UUID(2)快照 UUID(3)主机/代理 IP(4)VM/设备 IP12、接下来我们打开MobSF/settings.py文件,并将其中参数的值设置如下,(1)UUID = VM UUID(2) SUUID = Snapshot UUID(3)VM_IP = VM IP(4)PROXY_IP = Host/Proxy IP以下为配置样本,最后,我们重新再打开服务器即可运行。部分功能如下图静态分析Android APKiOS IPA动态分析Android APKWeb API Fuzzer介绍内容来自 FreeBuf黑客与极客 标签:MobSF
系统概要设计是指对系统进行总体的设计,包括系统的功能、结构、数据流、界面等方面的描述。基于移动端的宿舍管理系统的系统概要设计如下: 一、系统功能 1. 学生信息管理:包括学生基本信息、宿舍信息、住宿费用等。 2. 宿舍管理:包括宿舍楼信息、宿舍房间信息、宿舍设施管理等。 3. 入住管理:包括学生宿舍分配、宿舍入住、退宿管理等。 4. 维修管理:包括宿舍设施维修申报、处理、验收等。 5. 安全管理:包括宿舍安全巡查、突发事件处理等。 6. 报表管理:包括学生住宿费用报表、宿舍维修报表等。 二、系统结构 1. 系统架构:基于移动端的宿舍管理系统采用B/S架构,即浏览器/服务器架构。 2. 服务器端:采用Java EE技术,使用Spring MVC框架、Hibernate框架、MySQL数据库等。 3. 客户端:基于Android平台开发,使用Java语言、Android SDK等技术。 三、数据流 1. 登录流程:学生或管理员使用用户名和密码登录系统,系统验证成功后进入系统主界面。 2. 宿舍分配流程:管理员根据学生信息和宿舍信息进行宿舍分配,系统自动更新学生和宿舍信息。 3. 维修申报流程:学生或管理员进行设施维修申报,维修人员接收申报后进行处理和验收。 4. 报表生成流程:系统根据学生住宿费用和宿舍维修记录等数据生成相应报表。 四、系统界面 1. 登录界面:学生或管理员使用用户名和密码登录系统。 2. 主界面:显示系统各个功能模块的入口,包括学生信息管理、宿舍管理、入住管理、维修管理、安全管理和报表管理。 3. 学生信息管理界面:显示学生基本信息、宿舍信息、住宿费用等。 4. 宿舍管理界面:显示宿舍楼信息、宿舍房间信息、宿舍设施管理等。 5. 入住管理界面:包括学生宿舍分配、宿舍入住、退宿管理等。 6. 维修管理界面:包括宿舍设施维修申报、处理、验收等。 7. 安全管理界面:包括宿舍安全巡查、突发事件处理等。 8. 报表管理界面:包括学生住宿费用报表、宿舍维修报表等。 以上是基于移动端的宿舍管理系统的系统概要设计,包括系统功能、结构、数据流、界面等方面的描述。在实际开发中,还需要进行详细的设计和实现。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值