检测移动智能终端的源代码安全的方法、装置及系统制造方法及图纸

技术编号:10215293 阅读:175 留言:0更新日期:2014-07-16 09:46
本发明专利技术公开了一种检测移动智能终端的源代码安全的方法,包括:S1.抓取移动智能终端的源代码;S2.对所述的源代码进行语法和词法解析,将所述的源代码转化为标准的AST树;S3.调用源代码规则数据库,根据所述的规则,对所述的AST树进行解析分析,获取分析数据;S4.输出所述的分析数据。本发明专利技术还公开了一种检测移动智能终端的源代码安全的装置以及系统。本发明专利技术提供的检测移动智能终端的源代码安全的方法、装置以及系统能通过对源代码的静态分析,一方面可以找出潜在的风险,从内对软件进行检测,提高代码的安全性,另一方面也可以进一步提高代码的质量可以使得软件的安全性得到很大程度的提高。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种检测移动智能终端的源代码安全的方法,包括:S1.抓取移动智能终端的源代码;S2.对所述的源代码进行语法和词法解析,将所述的源代码转化为标准的AST树;S3.调用源代码规则数据库,根据所述的规则,对所述的AST树进行解析分析,获取分析数据;S4.输出所述的分析数据。本专利技术还公开了一种检测移动智能终端的源代码安全的装置以及系统。本专利技术提供的检测移动智能终端的源代码安全的方法、装置以及系统能通过对源代码的静态分析,一方面可以找出潜在的风险,从内对软件进行检测,提高代码的安全性,另一方面也可以进一步提高代码的质量可以使得软件的安全性得到很大程度的提高。【专利说明】检测移动智能终端的源代码安全的方法、装置及系统
本专利技术涉及源代码安全的领域,特别涉及一种检测移动智能终端的源代码安全的方法、装置及系统。
技术介绍
目前,应用软件的自身的安全问题是我们信息安全领域最为关心的问题,也是我们面临的一个新的领域,需要我们所有的在应用软件开发和管理的各个层面的成员共同的努力来完成。越来越多的安全产品厂商也已经在考虑关注软件开发的整个流程,将安全检测与监测融入需求分析、概要设计、详细设计、编码、测试等各个阶段以全面的保证应用安全。对于应用安全性的检测目前大多数是通过测试的方式来实现。测试大体上分为黑盒测试和白盒测试两种。黑盒测试一般使用的是渗透的方法,这种方法仍然带有明显的黑盒测试本身的不足,需要大量的测试用例来进行覆盖,且测试完成后仍无法保证软件是否仍然存在风险。如何找到更有效的测移动智能终端的源代码安全的方法、装置以及系统成为人们的一道课题。
技术实现思路
为解决以上的问题,本专利技术提供检测移动智能终端的源代码安全的方法、装置及系统。本专利技术公开了一种检测移动智能终端的源代码安全的方法,包括:S1.抓取移动智能终端的源代码;S2.对所述的源代码进行语法和词法解析,将所述的源代码转化为标准的AST树;S3.调用源代码规则数据库,根据所述的规则,对所述的AST树进行解析分析,获取分析数据;S4.输出所述的分析数据。在本专利技术所述的检测移动智能终端的源代码安全的方法中,所述的步骤S3中对所述的解析分析包括对所述的AST树进行数据流分析,具体是:通过遍历所述的AST树,提取出需要的数据信息,并根据所述的规则,对所述的数据信息进行筛选,向程序分析模块提供接口以读取所述的数据信息。在本专利技术所述的检测移动智能终端的源代码安全的方法中,所述步骤S3对所述的解析分析包括:对所述的AST树进行控制流分析,具体是:通过遍历所述的AST树,生成对应的程序控制依赖图,并向安全分析调度模块提供接口以读取这些信息。在本专利技术所述的检测移动智能终端的源代码安全的方法中,所述步骤S3对所述的解析分析包括:对所述的AST树进行结构分析,具体是:提取所述的AST树,根据所述的规则,提取程序的主要结构信息,所述的主要结构信息包括入口点信息、主要方法名、方法关系。在本专利技术所述的检测移动智能终端的源代码安全的方法中,所述步骤S3对所述的解析分析包括:对所述的AST树进行安全分析,具体是:根据所述的规则,对所述的主要结构信息进行安全性分析。本专利技术公开了一种检测移动智能终端的源代码安全的装置,包括:源代码抓取单元,用于抓取移动智能终端的源代码;源代码转化单元,用于对所述的源代码进行语法和词法解析,将所述的源代码转化为标准的AST树;AST树分析单元,用于调用源代码规则数据库,根据所述的规则,对所述的AST树进行解析分析,获取分析数据;检测结果输出单元,用于输出所述的分析数据。在本专利技术所述的检测移动智能终端的源代码安全的装置中,所述的AST树分析单元包括以下子单元,具体是:提取源代码的数据流信息并分析的数据流分析器;提取源代码的控制流信息并分析的控制流分析器;提取源代码的主要结构并分析的结构分析器;提取源代码的主要结构并进行安全分析的安全分析器。本专利技术公开了一种检测移动智能终端的源代码安全的系统,包括存放源代码的服务器,与所述的服务器相连的用于存放源代码规则的数据库及客户端,其特征在于,在所述的服务器上具有上述的通过对源代码转化而成的AST树进行解析而输出检测结果的检测移动智能终端的源代码安全的装置。在本专利技术所述的检测移动智能终端的源代码安全的系统中,所述的客户端通过网络与所述的服务器相连,所述的网络包括:WIF1、GPRS、蓝牙、3G。在本专利技术所述的检测移动智能终端的源代码安全的系统中,所述的客户端包括电脑及智能手机。本专利技术的一种检测移动智能终端的源代码安全的方法、装置以及设备,具有以下有益效果:本技术方案通过对源代码的静态分析,一方面可以找出潜在的风险,从内对软件进行检测,提高代码的安全性,另一方面也可以进一步提高代码的质量可以使得软件的安全性得到很大程度的提高。【专利附图】【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术第一实施例一种检测移动智能终端的源代码安全的方法流程示意图;图2为本专利技术第一实施例一种检测移动智能终端的源代码安全的装置功能方框图;图3为本专利技术一种检测移动智能终端的源代码安全的系统示意图。【具体实施方式】通过下面给出的本专利技术的具体实施例可以进一步了解本专利技术,但它们不是对本专利技术的限定。对于本领域的技术人员根据上述
技术实现思路
所作的一些非本质的改进与调整,也视为落在本专利技术的保护范围内。请参阅图1,本专利技术第一实施例,一种检测移动智能终端的源代码安全的方法,包括:S1.抓取移动智能终端的源代码;S2.对所述的源代码进行语法和词法解析,将所述的源代码转化为标准的AST树;当用户选择源代码路径后,系统首先对源代码进行语法和词法解析,将源代码转化为标准的AST树,进而系统对AST树进行数据流和控制流分析,得到相关项目的函数/方法信息(包括名称,个数,参数,方法间的相互调用关系等)和变量信息(包括变量名,使用变量的函数、函数/方法以及变量在不同位置的值等)以及函数/方法间的控制依赖关系。S3.调用源代码规则数据库,根据所述的规则,对所述的AST树进行解析分析,获取分析数据;在数据流和控制流分析的结果基础上,系统根据定义的安全规则调用不同的解析器,解析器根据规则的类型可分为SQL注入解析器,密码检验解析器等等。在调用解析器时,系统根据规则的内容自动调用相应类型的解析器,当解析器分析完毕后,将结果存在结果缓冲池中,等待所有的解析器都工作完毕后,系统将分析结果统一输出给用户。S4.输出所述的分析数据。报告生成器是对代码分析的结果进行分析并提交给用户,并生成相应的审核报告,用户接口模块负责与用户进行交互,一方面可以接受用户扫描源代码的请求,另一方面则将扫描分析的结果输出给用户。结果包括问题类型,问题所处的位置,以及问题的具体跟踪信息等。同时该系统还根据不同的问题类型给出了具体的参考解决方案。进一步地,所述的步骤S3中对所述的解析分析包括对所述的AST树进行数据流分析,具体是:通过遍历所述的AST树,提本文档来自技高网
...

【技术保护点】
一种检测移动智能终端的源代码安全的方法,其特征在于,包括:S1.抓取移动智能终端的源代码;S2.对所述的源代码进行语法和词法解析,将所述的源代码转化为标准的AST树;S3.调用源代码规则数据库,根据所述的规则,对所述的AST树进行解析分析,获取分析数据;S4.输出所述的分析数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:王甜魏理豪朱奕崔磊邹洪艾解清周开东张超粱哲恒
申请(专利权)人:广东电网公司信息中心
类型:发明
国别省市:广东;44

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

1