一种引擎漏洞检测的方法以及检测装置与流程

文档序号:12365227阅读:来源:国知局

技术特征:

1.一种引擎漏洞检测的方法,其特征在于,包括:

获取待检测应用程序;

获取第一应用开发引擎的应用程序编程接口经验库,所述第一应用开发引擎用于开发所述待检测应用程序,所述应用程序编程接口经验库中包含至少一项存在安全漏洞的应用程序编程接口信息;

提取所述待检测应用程序的应用程序编程接口;

根据所述应用程序编程接口经验库,判断所述待检测应用程序的应用程序编程接口是否存在安全漏洞,若是,则从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口。

2.根据权利要求1所述的方法,其特征在于,所述获取第一应用开发引擎的应用程序编程接口经验库之前,所述方法还包括:

获取所述第一应用开发引擎的源代码;

查找所述第一应用开发引擎的源代码中存在安全漏洞的应用程序编程接口;

根据所述存在安全漏洞的应用程序编程接口,建立所述应用程序编程接口经验库。

3.根据权利要求1或2所述的方法,其特征在于,所述查找所述第一应用开发引擎的源代码中存在安全漏洞的应用程序编程接口,包括:

检测所述第一应用开发引擎的源代码中存在空指针的应用程序编程接口;

获取所述存在空指针的应用程序编程接口所对应的应用程序编程接口名称和参数位置。

4.根据权利要求3所述的方法,其特征在于,所述根据所述存在安全漏洞的应用程序编程接口,建立所述应用程序编程接口经验库,包括:

根据所述存在空指针的应用程序编程接口所对应的应用程序编程接口名称和参数位置,建立所述第一应用开发引擎的应用程序编程接口经验库。

5.根据权利要求2至4中任一项所述的方法,其特征在于,所述获取第一应用开发引擎的应用程序编程接口经验库之后,所述方法还包括:

当所述第一应用开发引擎更新为第二应用开发引擎时,获取所述第二应用开发引擎的源代码;

查找所述第二应用开发引擎的源代码中存在安全漏洞的应用程序编程接口;

根据所述存在安全漏洞的应用程序编程接口,将所述第一应用开发引擎的应用程序编程接口经验库更新为所述第二应用开发引擎的应用程序编程接口经验库。

6.根据权利要求4所述的方法,其特征在于,所述根据所述应用程序编程接口经验库,判断所述待检测应用程序的应用程序编程接口是否存在安全漏洞,包括:

遍历所述待检测应用程序的应用程序编程接口名称;

判断所述待检测应用程序的应用程序编程接口名称是否与所述应用程序编程接口经验库中包含的应用程序编程接口名称一致,若是,则根据所述应用程序编程接口经验库获取所述待检测应用程序中所述应用程序编程接口名称对应的参数位置;

若所述参数位置上对应的参数为空指针,则确定所述待检测应用程序的应用程序编程接口存在安全漏洞。

7.根据权利要求1所述的方法,其特征在于,所述从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口之后,所述方法还包括:

输出所述待检测应用程序中的风险信息,所述风险信息包括存在所述目标应用程序编程接口的待检测应用程序的文件名、代码位置、调用的应用程序编程接口名称以及报错信息中的至少一项。

8.一种检测装置,其特征在于,包括:

第一获取模块,用于获取待检测应用程序;

第二获取模块,用于获取第一应用开发引擎的应用程序编程接口经验库,所述第一应用开发引擎用于开发所述第一获取模块获取的所述待检测应用程序,所述应用程序编程接口经验库中包含至少一项存在安全漏洞的应用程序编程接口信息;

提取模块,用于提取所述第一获取模块获取的所述待检测应用程序的应用程序编程接口应用程序编程接口;

确定模块,用于根据所述第二获取模块获取的所述应用程序编程接口经验库,判断所述提取模块提取的所述待检测应用程序的应用程序编程接口是否存在安全漏洞,若是,则从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口。

9.根据权利要求8所述的检测装置,其特征在于,所述检测装置还包括:

第三获取模块,用于所述第二获取模块获取第一应用开发引擎的应用程序编程接口经验库之前,获取所述第一应用开发引擎的源代码;

第一查找模块,用于查找所述第三获取模块获取的所述第一应用开发引擎的源代码中存在安全漏洞的应用程序编程接口;

第一建立模块,用于根据所述第一查找模块查找的所述存在安全漏洞的应用程序编程接口,建立所述应用程序编程接口经验库。

10.根据权利要求9所述的检测装置,其特征在于,所述第一查找模块包括:

检测单元,用于检测所述第一应用开发引擎的源代码中存在空指针的应用程序编程接口;

第一获取单元,用于获取所述检测单元检测的所述存在空指针的应用程序编程接口所对应的应用程序编程接口名称和参数位置。

11.根据权利要求10所述的检测装置,其特征在于,所述第一建立模块包括:

建立单元,用于根据所述第一获取单元获取的所述存在空指针的应用程序编程接口所对应的应用程序编程接口名称和参数位置,建立所述第一应用开发引擎的应用程序编程接口经验库。

12.根据权利要求9至11中任一项所述的检测装置,其特征在于,所述检测装置还包括:

第四获取模块,用于所述第二获取模块获取第一应用开发引擎的应用程序编程接口经验库之后,当所述第一应用开发引擎更新为第二应用开发引擎时,获取所述第二应用开发引擎的源代码;

第二查找模块,用于查找所述第四获取模块获取的所述第二应用开发引擎的源代码中存在安全漏洞的应用程序编程接口;

更新模块,用于根据所述第二查找模块查找的所述存在安全漏洞的应用程序编程接口,将所述第一应用开发引擎的应用程序编程接口经验库更新为所述第二应用开发引擎的应用程序编程接口经验库。

13.根据权利要求11所述的检测装置,其特征在于,所述确定模块包括:

遍历单元,用于遍历所述待检测应用程序的应用程序编程接口名称;

第二获取单元,用于判断所述遍历单元遍历得到的所述待检测应用程序的应用程序编程接口名称,是否与所述应用程序编程接口经验库中包含的应用程序编程接口名称一致,若是,则根据所述应用程序编程接口经验库获取所述待检测应用程序中所述应用程序编程接口名称对应的参数位置;

确定单元,用于若所述第二获取单元获取的所述参数位置上对应的参数为空指针,则确定所述待检测应用程序的应用程序编程接口存在安全漏洞。

14.根据权利要求8所述的检测装置,其特征在于,所述检测装置还包括:

输出模块,用于所述确定模块从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口之后,输出所述待检测应用程序中的风险信息,所述风险信息包括存在所述目标应用程序编程接口的待检测应用程序的文件名、代码位置、调用的应用程序编程接口名称以及报错信息中的至少一项。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1