一种引擎漏洞检测的方法以及检测装置制造方法及图纸

技术编号:14337316 阅读:97 留言:0更新日期:2017-01-04 10:34
本发明专利技术实施例公开了一种引擎漏洞检测的方法,包括:获取待检测应用程序;获取第一应用开发引擎的应用程序编程接口API经验库,所述第一应用开发引擎用于开发所述待检测应用程序,所述API经验库中包含至少一项存在安全漏洞的API信息;提取所述待检测应用程序的API;根据所述API经验库,判断所述待检测应用程序的API是否存在安全漏洞,若是,则从所述待检测应用程序的API中确定存在安全漏洞的目标API。本发明专利技术实施例还提供一种检测装置。本发明专利技术实施例无需为每个应用开发引擎编写测试用例,而是根据安全漏洞的API信息建立起应用开发引擎的API经验库,通过该API经验库扫描出待检测应用程序中存在的API漏洞,从而降低了API漏洞的检测成本。

【技术实现步骤摘要】

本专利技术涉及计算机
以及信息安全
,尤其涉及一种引擎漏洞检测的方法以及检测装置
技术介绍
如今,随着信息技术的不断发展,应用程序也日益普及化。为了丰富人们的日常生活,开发人员开发了多种多样的应用程序,例如社交类应用、游戏类应用、电商类应用、搜索类应用以及论坛类应用等。然而,在开发应用程序的过程中应用程序编程接口(英文全称:ApplicationProgrammingInterface,英文缩写:API)可能会出现漏洞,从而导致该应用程序在运行过程中发生宕机的情况。为了降低应用程序在运行过程中出现宕机的频率,目前可以采用一种手段对API是否存在漏洞进行检测。具体如图1所示,图1为现有技术中检测应用程序编程接口漏洞的流程示意图。步骤101中开发人员需要先熟悉应用程序核心功能和架构,然后设计可能存在性能问题的场景。步骤102中,开发人员可以为开发引擎中的每条API编写接口测试用例,使得在步骤103中能够采用每条接口测试用例对相应的每个API进行接口测试。由于修改开发引擎底层API风险较高,且不利于更新和维护引擎代码,一般需要通过步骤104来调用接口的上层逻辑代码。最后,在步骤105中,将输出步骤104中定位得到的高危API代码行,开发人员可以根据输出的高危API代码行进行及时修复。然而,由于开发引擎的API有很多,且存在较多的开发引擎版本,每个版本的API又存在着一定的差异,因此需要为每个开发版本编写大量的测试用例,从而耗费巨大的API漏洞检测成本。
技术实现思路
本专利技术实施例提供了一种引擎漏洞检测的方法以及检测装置,可以不用为每个应用开发引擎编写测试用例,而是根据应用开发引擎中存在安全漏洞的API信息建立起API经验库,通过该API经验库扫描出待检测应用程序中存在的API漏洞,从而降低了API漏洞的检测成本。有鉴于此,本专利技术第一方面提供一种引擎漏洞检测的方法,包括:获取待检测应用程序;获取第一应用开发引擎的API经验库,所述第一应用开发引擎用于开发所述待检测应用程序,所述API经验库中包含至少一项存在安全漏洞的API信息;提取所述待检测应用程序的应用程序编程接口API;根据所述API经验库,判断所述待检测应用程序的API是否存在安全漏洞,若是,则从所述待检测应用程序的API中确定存在安全漏洞的目标API。第二方面,本方面实施例还提供一种检测装置,包括:第一获取模块,用于获取待检测应用程序;第二获取模块,用于获取第一应用开发引擎的API经验库,所述第一应用开发引擎用于开发所述第一获取模块获取的所述待检测应用程序,所述API经验库中包含至少一项存在安全漏洞的API信息;提取模块,用于提取所述第一获取模块获取的所述待检测应用程序的应用程序编程接口API;确定模块,用于根据所述第二获取模块获取的所述API经验库,判断所述提取模块提取的所述待检测应用程序的API是否存在安全漏洞,若是,则从所述待检测应用程序的API中确定存在安全漏洞的目标API。从以上技术方案可以看出,本专利技术实施例具有以下优点:本专利技术实施例中,提供了一种检测应用程序中API漏洞的方法,检测装置先获取待检测应用程序以及第一应用开发引擎的API经验库,其中,第一应用开发引擎用于开发待检测应用程序,该API经验库中包含至少一项存在安全漏洞的API信息,然后检测装置提取待检测应用程序的API,最后根据API经验库,判断待检测应用程序的API是否存在安全漏洞,若是,则从待检测应用程序的API中确定存在安全漏洞的目标API。采用上述方式,无需为每个应用开发引擎编写测试用例,而是根据安全漏洞的API信息建立起应用开发引擎的API经验库,通过该API经验库扫描出待检测应用程序中存在的API漏洞,从而降低了API漏洞的检测成本。附图说明图1为现有技术中检测应用程序编程接口漏洞的流程示意图;图2为本专利技术实施例中引擎漏洞检测的方法一个实施例示意图;图3为本专利技术实施例中检测应用程序中API漏洞的流程示意图;图4为本专利技术实施例中建立API经验库的流程示意图;图5为本专利技术实施例中实现应用开发引擎检测项的流程示意图;图6为应用场景中CocosCheck工具检测前的界面显示图;图7为应用场景中CocosCheck工具检测时的界面显示图;图8为应用场景中CocosCheck工具检测后的界面显示图;图9为本专利技术实施例中检测装置一个实施例示意图;图10为本专利技术实施例中检测装置另一个实施例示意图;图11为本专利技术实施例中检测装置另一个实施例示意图;图12为本专利技术实施例中检测装置另一个实施例示意图;图13为本专利技术实施例中检测装置另一个实施例示意图;图14为本专利技术实施例中检测装置另一个实施例示意图;图15为本专利技术实施例中检测装置另一个实施例示意图;图16为本专利技术实施例中检测装置一个结构示意图。具体实施方式本专利技术实施例提供了一种引擎漏洞检测的方法以及检测装置,无需为每个应用开发引擎编写测试用例,而是根据应用开发引擎中存在安全漏洞的API信息建立起API经验库,通过该API经验库扫描出待检测应用程序中存在的API漏洞,从而降低了API漏洞的检测成本。本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。应理解,本专利技术实施例中的应用开发引擎主要是一种基于开源软件许可协议(英文全称:MassachusettsInstituteofTechnology,英文缩写:MIT)的开源框架,具体可以为Cocos的开源框架。Cocos提供了全套的引擎和开发工具,涵盖从前期设计、资源制作、开发调试和打包上线全套的解决方案。Cocos用于构建游戏、应用程序和其他图形界面交互应用,可以重点优化工作流,规范了整个开发流程,降低沟通成本,提高开发效率。Cocos的开源框架的功能主要有流程控制,流程控制可以非常容易地管理不同场景之间的流程控制。除了流程控制的功能,还具有以下功能,例如:(1)动作(英文全称:Sprites)功能,可组合的动作如移动、旋转和缩放等;(2)特效(英文全称:Effects)功能,包括波浪、旋转和透镜等;(3)平面地图(英文全称:TiledMaps)功能,支持包括矩形和六边形平面地图;(4)转换(英文全称:Transitions)功能,从一个场景移动到另外一个不同风格的场景;(5)菜单(英文全称:Menus)功能,创建内部菜单;(6)文本渲染(英文全称:TextRendering)功能,支持标签和超级文本标记语言(英文全称:HyperTextMarkupLanguage,英文缩写:HTML);(7)文档(英文全称:Documents功能,编程指南、API参考、视频教学以及很多教用户如何使用的简单测试例子。在实际应用本文档来自技高网...
一种引擎漏洞检测的方法以及检测装置

【技术保护点】
一种引擎漏洞检测的方法,其特征在于,包括:获取待检测应用程序;获取第一应用开发引擎的应用程序编程接口经验库,所述第一应用开发引擎用于开发所述待检测应用程序,所述应用程序编程接口经验库中包含至少一项存在安全漏洞的应用程序编程接口信息;提取所述待检测应用程序的应用程序编程接口;根据所述应用程序编程接口经验库,判断所述待检测应用程序的应用程序编程接口是否存在安全漏洞,若是,则从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口。

【技术特征摘要】
1.一种引擎漏洞检测的方法,其特征在于,包括:获取待检测应用程序;获取第一应用开发引擎的应用程序编程接口经验库,所述第一应用开发引擎用于开发所述待检测应用程序,所述应用程序编程接口经验库中包含至少一项存在安全漏洞的应用程序编程接口信息;提取所述待检测应用程序的应用程序编程接口;根据所述应用程序编程接口经验库,判断所述待检测应用程序的应用程序编程接口是否存在安全漏洞,若是,则从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口。2.根据权利要求1所述的方法,其特征在于,所述获取第一应用开发引擎的应用程序编程接口经验库之前,所述方法还包括:获取所述第一应用开发引擎的源代码;查找所述第一应用开发引擎的源代码中存在安全漏洞的应用程序编程接口;根据所述存在安全漏洞的应用程序编程接口,建立所述应用程序编程接口经验库。3.根据权利要求1或2所述的方法,其特征在于,所述查找所述第一应用开发引擎的源代码中存在安全漏洞的应用程序编程接口,包括:检测所述第一应用开发引擎的源代码中存在空指针的应用程序编程接口;获取所述存在空指针的应用程序编程接口所对应的应用程序编程接口名称和参数位置。4.根据权利要求3所述的方法,其特征在于,所述根据所述存在安全漏洞的应用程序编程接口,建立所述应用程序编程接口经验库,包括:根据所述存在空指针的应用程序编程接口所对应的应用程序编程接口名称和参数位置,建立所述第一应用开发引擎的应用程序编程接口经验库。5.根据权利要求2至4中任一项所述的方法,其特征在于,所述获取第一应用开发引擎的应用程序编程接口经验库之后,所述方法还包括:当所述第一应用开发引擎更新为第二应用开发引擎时,获取所述第二应用开发引擎的源代码;查找所述第二应用开发引擎的源代码中存在安全漏洞的应用程序编程接口;根据所述存在安全漏洞的应用程序编程接口,将所述第一应用开发引擎的应用程序编程接口经验库更新为所述第二应用开发引擎的应用程序编程接口经验库。6.根据权利要求4所述的方法,其特征在于,所述根据所述应用程序编程接口经验库,判断所述待检测应用程序的应用程序编程接口是否存在安全漏洞,包括:遍历所述待检测应用程序的应用程序编程接口名称;判断所述待检测应用程序的应用程序编程接口名称是否与所述应用程序编程接口经验库中包含的应用程序编程接口名称一致,若是,则根据所述应用程序编程接口经验库获取所述待检测应用程序中所述应用程序编程接口名称对应的参数位置;若所述参数位置上对应的参数为空指针,则确定所述待检测应用程序的应用程序编程接口存在安全漏洞。7.根据权利要求1所述的方法,其特征在于,所述从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口之后,所述方法还包括:输出所述待检测应用程序中的风险信息,所述风险信息包括存在所述目标应用程序编程接口的待检测应用程序的文件名、代码位置、调用的应用程序编程接口名称以及报错信息中的至少一项。8.一种检测装置,其特征在于,包括:第一获取模块,用于获取待检测应用程序;第二获取模块,用于获取第一应用开发引擎的应用程序编程接口经验库,所述第一应用开发引擎用于开发所述第一获取模块获取的所述待检测应用程序,所...

【专利技术属性】
技术研发人员:张蓓邹越袁明凯严明魏学峰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1