MobSF框架及源代码分析.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

MobSF框框架架及及源源代代码码分分析析

MobSF

MobSF,全称(Mobile-Security-Framework),是一款优秀的开源移动应用自动测试框架。该平台对安卓、苹果应用程序

进行静态、动态分析,并在web端输出报告。静态分析适用于安卓、苹果应用程序,而动态分析暂时只支持安卓应用程序。

MobSF使用Django框架开发,使用sqlite进行的存储,支持对apk、ipa及zip压缩的源代码进行扫描分析。

同时,MobSF也能够通过其APIFuzzer功能模块,对WebAPI的安全性进行检测,如收集信息,分析安全头部信息,识别移

动API的具体漏洞,如E、SSRF、路径遍历,以及其他的与会话和API调用有关的逻辑问题。

代码结构

MobSF源代码结构主要包含静态分析、动态分析、APIFuzzer三个部分,本文不关注Django框架本身及Web处理相关的内

容。如图:

静态分析实现原理

静态分析的处理流程集功代码在目录StaticAnalyzer\views\android下static_analyzer.py程序文件中。分析代码流程知,在

MobSF框架中静态分析主要包含三个部分,分别是ManifestAnalysis、CertAnalysis、CodeAnalysis。流程如下:

ManifestAnalysis

在解压apk后,MobSF使用AMLPrinter2.jar工具提取app中的AndroidManifest.xml文件内容,并进行分析。

ManifestAnalysis主要功能是对AndroidManifest.xml进行解析,提取其中permission、granturipermissions、application、

activties、services、intents、actions等,分析所有权限并对权限进行分级,包含正常、危险、签名、系统四个类别。对各属

性配置进行检查,看是否存在不安全的配置,如allowBackup、debuggable、exported等属性设置。详细代码功能见

manifest_analysis.py程序文件。

CertAnalysis

MobSF证书分析功能函数在cert_analysis.py文件中,MobSF首先尝试获取HardcodedCertificates/Keystores,然后通过

CertPrint.jar工具解析apk中证书的信息,并完成证书相关问题的分析。

CodeAnalysis

MobSF静态代码分析功能函数在code_analysis.py文件中,反编译的代码在converter.py中。其中使用Dex2Jar将dex转变为jar

文件,使用Dex2Smali将dex转变为smali代码,使用jd-core.jar、cfr_0_115.jar、procyon-decompiler-0.5.30.jar将jar包转为为

读的java代码。

源代码分析部分主要利用正则表达式对java源码进行匹配来实现的。主要通过匹配常见方法中的关键词来提取源码中用到的方

法。通过匹配敏感关键词来提取账号密码等信息:

常见API字符串来判定是否有调用这些API:

要检测的api列表(部分)及对应的安全问题:

通过正则匹配URL的格式来提取源码中的URL:

通过正则匹配Email的格式来提取源码中的Email:

动态分析实现原理

MobSF同时还支持对安卓程序的动态分析,使用virtualbox运行app,并使用virtualbox提供的接口完成代理设置、虚拟机的操

作,利用adb命令安装运行app,并获取app的运行相关信息,进行分析。其动态分析主要目录结构如下图:

主要功能代码在DynamicAnalyzer/views目录下的android.py,根据其前端展示页面知其主要功能有:

EnvironmentCreated

Start/StopScreen

Install/RemoveMobSFRootCA

StartExportedActivityTester

StartActivityTester

TakeaScreenshot

Finish

虚拟机运行环境参数、Web代理设置、模拟设备设置在settings文件中

EnvironmentCreated

该功能主要由GetEnv函数实现Web代理设置,adb命令接口实现app的安装、运行。MobSF与虚拟运行环境连接后,即开始动

文档评论(0)

wszwtlg202 + 关注
实名认证
文档贡献者

一页纸且

1亿VIP精品文档

相关文档