应用程序的漏洞检测方法及装置与流程

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

技术特征:

1.一种应用程序的漏洞检测方法,其特征在于,包括:

将待检测应用程序的安装文件转换为代码文件;

获取指定函数的描述信息,其中,所述指定函数为用于反映指定行为的函数;

依据所述描述信息,在所述代码文件中确定与指定描述信息匹配的第一类函数,并依据所述第一类函数对所述应用程序的漏洞进行检测。

2.根据权利要求1所述的方法,其特征在于,依据所述第一类函数对所述应用程序的漏洞进行检测,包括:

构建所述第一类函数所在分支的第一控制流图CFG,并统计所有所述第一类函数中具有指定特征值的第二类函数;

在所述第一CFG中查找所述第二类函数所在的分支,并判断所述第二类函数所在的分支是否进行了异常处理,在判断结果为是时,则确定所述应用程序不存在漏洞;在所述判断结果为否时,则确定所述应用程序存在漏洞。

3.根据权利要求2所述的方法,其特征在于,所述异常处理包括:

设置用于指示在当前指令异常时,跳转至其他指令的跳转指令或者调用指令。

4.根据权利要求2所述的方法,其特征在于,在所述第一CFG中查找所述第二类函数所在的分支,包括:

按照预设规则对所述第一CFG中的分支进行过滤,得到第二CFG;

在所述第二CFG中查找所述第二类函数所在的分支。

5.根据权利要求4所述的方法,其特征在于,按照预设规则对所述第一CFG中的分支进行过滤,包括:

删除所述第一CFG中的指定节点以及仅能被该指定节点连通的节点,其中,该指定节点所对应的函数为仅有出度且没有入度的函数。

6.根据权利要求2所述的方法,其特征在于,所述指定特征值包括:所述第一类函数的返回值。

7.根据权利要求1所述的方法,其特征在于,获取指定函数的描述信息,包括:

从网络侧的开源文档中获取所述指定函数的描述信息。

8.根据权利要求7所述的方法,其特征在于,从网络侧的开源文档中获取所述指定函数的描述信息,包括:

通过网络爬虫的方式从所述开源文档中获取所述描述信息。

9.根据权利要求1至8中任一项所述的方法,其特征在于,所述用于反映指定行为的函数为API函数,和/或所述漏洞为拒绝服务DOS漏洞。

10.一种应用程序的漏洞检测装置,其特征在于,包括:

转换模块,用于将待检测应用程序的安装文件转换为代码文件;

获取模块,用于获取指定函数的描述信息,其中,所述指定函数为用于反映指定行为的函数;

检测模块,用于依据所述描述信息,在所述代码文件中确定与指定描述信息匹配的第一类函数,并依据所述第一类函数对所述应用程序的漏洞进行检测。

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

构建单元,构建所述第一类函数所在分支的第一控制流图CFG;

统计单元,用于统计所有所述第一类函数中具有指定特征值的第二类函数;

检测单元,用于在所述第一CFG中查找所述第二类函数所在的分支,并判断所述第二类函数所在的分支是否进行了异常处理,在判断结果为是时,则确定所述应用程序不存在漏洞;在所述判断结果为否时,则确定所述应用程序存在漏洞。

12.根据权利要求11所述的装置,其特征在于,所述异常处理包括:设置用于指示在当前指令异常时,跳转至其他指令的跳转指令或者调用指令。

13.根据权利要求11所述的装置,其特征在于,所述检测单元,还用于按照预设规则对所述第一CFG中的分支进行过滤,得到第二CFG;以及在所述第二CFG中查找所述第二类函数所在的分支。

14.根据权利要求13所述的装置,其特征在于,所述检测单元,用于删除所述第一CFG中的指定节点以及仅能被该指定节点连通的节点,其中,该指定节点所对应的函数为仅有出度且没有入度的函数。

15.根据权利要求10所述的装置,其特征在于,所述获取模块,还用于从网络侧的开源文档中获取指定函数的描述信息。

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