当前位置: 首页 > 专利查询>贵州大学专利>正文

一种Android平台下手机应用程序的安全漏洞挖掘方法技术

技术编号:16365727 阅读:76 留言:0更新日期:2017-10-10 21:49
本发明专利技术公开了一种Android平台下手机应用程序的安全漏洞挖掘方法,采用源代码静态分析技术挖掘Android平台下手机应用程序的安全漏洞的技术,该技术从Android平台下手机应用程序的源代码入手,分析安全漏洞产生的机理,挖掘软件中存在的安全漏洞,本发明专利技术方法关注Android平台下手机应用程序源代码中的不安全方法的使用和程序外部输入的数据,通过构建Android平台下手机程序的源代码中方法的控制流图、数据流图,逆向追踪程序外部数据的输入,挖掘Android平台下应用软件的安全漏洞,克服现有技术的不足。

A security vulnerability mining method for mobile phone applications under Android platform

The invention discloses a mobile phone application under Android platform security vulnerabilities mining method, using the source code static analysis technology of mining mobile phone security vulnerabilities Android application platform, the technology from mobile phone application Android platform source code of the generation mechanism of vulnerability analysis, mining security vulnerabilities in the software the method of the invention, unsafe methods focus on Android platform mobile phone application source code and procedures in the use of external input data, control method by constructing Android platform mobile phone program source code in the flow diagram, data flow diagram, reverse tracing external program input data mining application software Android platform security vulnerabilities next, the disadvantages of the prior art.

【技术实现步骤摘要】
一种Android平台下手机应用程序的安全漏洞挖掘方法
本专利技术涉及一种Android平台下手机应用程序的安全漏洞挖掘方法,属于源代码检测领域

技术介绍
Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用Android。Android操作系统最初由AndyRubin开发,最初主要支持手机。2005年由Google收购注资,并联合多家制造商组成开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。2010年末数据显示,仅正式推出两年的Android操作系统已经超越称霸十年的诺基亚Symbian系统,跃居全球最受欢迎的智能手机平台。Android的主要竞争对手是苹果的IOS,微软的WP7以及RIM的BlackberryOS。面对移动智能终端市场日新月异的发展,随之而来的移动智能终端信息安全问题却日益凸显,给国家安全、社会稳定和用户隐私保护等带来新的安全隐患。Android是目前最流行的智能终端开发平以,依靠Google的强大开发和媒体资源,Android成为众多移动智能终端厂商竞相追逐的对象。随意Android平台在智能终端操作系统市场份额的日益增加,Android平台下应用软件的安全性成为了智能终端安全研究的紧要任务。由于受到移动智能终端较低的硬件处理能力的限制,移动智能终端上的应用有着体积小、升级快、功能专一等特点,移动智能终端与传统终端如PC机存在较大区别,PC机上的安全漏洞挖掘技术不能直接应用于智能终端上。目前,Android平台下手机应用程序的漏洞发掘还是个新的领域,开发者一般基于Junit框架和AndroidSDK中Android.Test等命名空间下对Android平台下手机应用程序的进行测试,专门针对Android平台下手机应用程序的安全漏洞发掘自动化工具还很少。
技术实现思路
本专利技术要解决的技术问题在于,提供一种针对Android平台下应用软件的安全漏洞挖掘自动化方法。本专利技术的技术方案如下:一种Android平台下手机应用程序的安全漏洞挖掘方法,包括漏洞规则库生成单元、字节码生成文件单元、控制流图构建单元、数据流图构建单元、漏洞检测单元和漏洞报告生成单元,所述的方法包括以下步骤:步骤一、利用漏洞规则库生成单元提取多种Android平台下手机应用程序源代码的漏洞规则,形成漏洞规则库;步骤二、利用字节码生成文件单元针对Android平台下手机应用程序的源代码构建ant脚本,对步骤(一)所述的源代码进行编译,形成字节码文件;步骤三、利用控制流图构建单元责解析所述的字节码文件,根据所述的字节码文件中的指令信息构建控制流图,为不安全方法的定位提供基础;步骤四、利用数据流图构建单元在控件流图的基础上,分析变量中数据的传递过程,构建数据流图,为逆向动态追踪数据提供基础;步骤五、利用漏洞检测单元根据漏洞规则库中的规则,调用控制流引擎和数据流引擎,分析不安全方法的调用位置,逆向动态追踪变量中的数据传递过程,进行漏洞检测;步骤六、利用漏洞报告生成单元将挖掘的安全漏洞过程及相关数据信息生成报告。方法所述的步骤(二)与步骤(三)之间还包括:判断编译是否成功,若编译成功,则进入步骤(三),并将编译后的字节码文件存放在与源代码同级目录下;若编译不成功,则通过漏洞报告部件编译不成功原因。方法所述的步骤(五)与步骤(六)之间还包括:判断逆向动态追踪变量中的数据是否进行过安全验证操作,如果进行过安全验证操作,放弃追踪,如果未进行过安全验证操作,则判断该数据的方法调用处存在安全漏洞,随即进入步骤(六)。所述的控制流引擎至少有一个。所述的数据流引擎至少有一个。所述的字节码生成文件单元与控制流图构建单元之间包括编译判断单元。所述的漏洞检测单元与漏洞报告生成单元之间包括安全验证单元。实施本专利技术的一种Android平台下手机应用程序的安全漏洞挖掘方法和装,具有以下有益的技术效果:该技术从Android平台下手机应用程序的源代码入手,分析安全漏洞产生的机理,挖掘软件中存在的安全漏洞。本专利技术方法关注Android平台下手机应用程序源代码中的不安全方法的使用和程序外部输入的数据,通过构建Android平台下手机程序的源代码中方法的控制流图、数据流图,逆向追踪程序外部数据的输入,挖掘Android平台下应用软件的安全漏洞。从问题的源头开始关注Android平台下手机应用程序的安全,及早发现软件中存在的安全漏洞,有利于Android平台下应用软件的安全开发。附图说明:图1是本专利技术流程图;图2是本专利技术各部件结构图;图3是本专利技术模块方框图。具体实施方式下面结合附图对本专利技术作进一步详述。为详细说明本专利技术的
技术实现思路
、构造特征、所实现目的及效果,以下结合实施方式并配合附图1-3作详细说明。请参阅图1,本专利技术实施例一种Android平台下手机应用程序的安全漏洞挖掘方法,包括:S1.提取多种Android平台下应用软件源代码的漏洞方法,形成漏洞规则库;漏洞规则库部件:本专利技术针对AndroidSDK进行深入研究,提取出大量可能产生的漏洞的方法,进行整理最终形成漏洞规则库,为检测器部件进行漏洞分析提供基础。S2.针对Android平台下手机应用程序的源代码构建ant脚本,以所述的源代码进行编译,形成字节码文件;S21.判断编译是否成功,若是,进入步骤S22,将编译后的字节码文件存放在与源代码同级目录下,为后续的分析、检测提供便利:若否,进入步骤S23,通过漏洞报告部件报告编译不成功原因。步骤S2及S21属于安全漏洞挖掘的预处理部件完成的步骤。S3.控制流分析引擎负责解析经过所述的字节码文件,根据所述的字节码文件中的指令信息构建控制流图,为不安全方法的定位提供基础;对Android平台下手机应用程序的字节码进行安全漏洞模式扫描,并确定代码中不安全方法调用的位置。S4.数据流分析引擎是在所述的控制流图的基础上,分析变量中的传递过程,构建数据流图,为逆向动态追踪数据提供基础;步骤S3及S4中控制流分析引擎及数据流分析引擎共同组成分析引擎部件。对扫描后不安全方法中的变量进行逆向数据流分析。S5.根据所述漏洞规则库中的规则,调用所述的控制流引擎和数据流引擎,分析不安全方法的调用位置,逆向追踪变量中数据的传递过程,进行漏洞检测;步骤S5为检测器部件完成的动作。S51.判断逆向追踪变量中的数据是否进行过安全验证操作,如果是,进入步骤S52:放弃追踪,如果否,进入步骤S53:该数据的方法调用处存在安全漏洞,进入步骤S6。S6.将挖掘的安全漏洞过程及相关数据信息生成报告。所述的控制流分析引擎具有多个。所述的数据流分析引擎具有多个。请参阅图2,本专利技术实施例一种Android平台下手机应用程序的安全漏洞挖掘各部件结构图。Android平台下手机程序源代码经过预处理器后进入多个分析引擎多个检测器进行数据交换,以挖掘漏洞,并从Android平台下手机应用程序漏洞规则调用规则,形成检测结果加以显示。请参阅图3、一种Android平台下手机应用软件的安全漏洞挖掘模块,用于实现上述的方法,包括:漏洞规则库生成单元10、字节码生成单元20、编译判断单元25、控制流图构建单元30、数据填充图构建单元40本文档来自技高网
...
一种Android平台下手机应用程序的安全漏洞挖掘方法

【技术保护点】
一种Android平台下手机应用程序的安全漏洞挖掘方法,包括漏洞规则库生成单元、字节码生成文件单元、控制流图构建单元、数据流图构建单元、漏洞检测单元和漏洞报告生成单元,其特征在于:所述的方法包括以下步骤:步骤一、利用漏洞规则库生成单元提取多种Android平台下手机应用程序源代码的漏洞规则,形成漏洞规则库;步骤二、利用字节码生成文件单元针对Android平台下手机应用程序的源代码构建ant脚本,对步骤(一)所述的源代码进行编译,形成字节码文件;步骤三、利用控制流图构建单元责解析所述的字节码文件,根据所述的字节码文件中的指令信息构建控制流图,为不安全方法的定位提供基础;步骤四、利用数据流图构建单元在控件流图的基础上,分析变量中数据的传递过程,构建数据流图,为逆向动态追踪数据提供基础;步骤五、利用漏洞检测单元根据漏洞规则库中的规则,调用控制流引擎和数据流引擎,分析不安全方法的调用位置,逆向动态追踪变量中的数据传递过程,进行漏洞检测;步骤六、利用漏洞报告生成单元将挖掘的安全漏洞过程及相关数据信息生成报告。

【技术特征摘要】
1.一种Android平台下手机应用程序的安全漏洞挖掘方法,包括漏洞规则库生成单元、字节码生成文件单元、控制流图构建单元、数据流图构建单元、漏洞检测单元和漏洞报告生成单元,其特征在于:所述的方法包括以下步骤:步骤一、利用漏洞规则库生成单元提取多种Android平台下手机应用程序源代码的漏洞规则,形成漏洞规则库;步骤二、利用字节码生成文件单元针对Android平台下手机应用程序的源代码构建ant脚本,对步骤(一)所述的源代码进行编译,形成字节码文件;步骤三、利用控制流图构建单元责解析所述的字节码文件,根据所述的字节码文件中的指令信息构建控制流图,为不安全方法的定位提供基础;步骤四、利用数据流图构建单元在控件流图的基础上,分析变量中数据的传递过程,构建数据流图,为逆向动态追踪数据提供基础;步骤五、利用漏洞检测单元根据漏洞规则库中的规则,调用控制流引擎和数据流引擎,分析不安全方法的调用位置,逆向动态追踪变量中的数据传递过程,进行漏洞检测;步骤六、利用漏洞报告生成单元将挖掘的安全漏洞过程及相关数据信息生成报告。2.根据权利要求1所述的Android平台下手机应用程序的安全漏洞挖掘方法,其特征在于:方法所述...

【专利技术属性】
技术研发人员:黄娜娜
申请(专利权)人:贵州大学
类型:发明
国别省市:贵州,52

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1