一种Android平台下应用软件的安全漏洞挖掘方法和装置制造方法及图纸

技术编号:7287565 阅读:486 留言:0更新日期:2012-04-22 04:09
本发明专利技术公开了一种Android平台下应用软件的安全漏洞挖掘方法,包括:S1.提取多种Android平台下应用软件源代码的漏洞规则,形成漏洞规则库;S2.构建ant脚本,对源代码进行编译,形成字节码文件;S3.控制流分析引擎负责解析字节码文件;S4.数据流分析引擎分析变量中数据的传递过程,构建数据流图,为逆向动态追踪数据提供基础;S5.根据漏洞规则库中的规则,进行漏洞检测;S6.将挖掘的安全漏洞过程及相关数据信息生成报告。本发明专利技术还公开了一种Android平台下应用软件的安全漏洞挖掘装置。本发明专利技术及早发现软件中存在的安全漏洞,有利于Android平台下应用软件的安全开发。

【技术实现步骤摘要】

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

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:吴世忠张普含时志伟韩建吴迪
申请(专利权)人:中国信息安全测评中心
类型:发明
国别省市:

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

1
相关领域技术