基于CPE的漏洞检测方法、设备和计算机可读存储介质与流程

文档序号:14736034发布日期:2018-06-19 20:30阅读:2395来源:国知局
基于CPE的漏洞检测方法、设备和计算机可读存储介质与流程

本发明涉及漏洞检测技术领域,尤其涉及一种基于CPE的漏洞检测方法、设备和计算机可读存储介质。



背景技术:

当对系统的安全状态进行评估时,静态风险是其中的一个重要子项。在静态风险计算时,漏洞检测是必不可少的环节。漏洞检测通常采用漏洞扫描方式,即通过模拟攻击的方式来判断漏洞是否存在。但是,对用户网络进行全网漏洞扫描存在效率低、时间长的问题。漏洞扫描涉及的漏洞范围较广,在漏洞扫描时,需要按照固定的扫描策略遍历所有的漏洞扫描脚本,从而导致漏洞扫描的时间较长、用户体验度较差。



技术实现要素:

本发明要解决的技术问题是,提供一种基于CPE的漏洞检测方法、设备和计算机可读存储介质,可以提高漏洞检测的效率,提高用户体验度。

本发明采用的技术方案是,所述基于CPE的漏洞检测方法,包括:

获取待检测目标的资源信息,并将所述资源信息中的每个资源项转换为CPE格式的资源项;

判断每个CEP格式的资源项是否与预设的漏洞库中的任一漏洞的受影响资源列表中的任一CEP格式的受影响资源项相匹配,若是,则将相匹配的CEP格式的受影响资源项所归属的漏洞存储到预设的关联漏洞表中;

通过与所述关联漏洞列表中的漏洞相对应的漏洞扫描脚本对所述待检测目标进行漏洞扫描。

可选的,所述将所述资源信息中的每个资源项转换为CPE格式的资源项,包括:

判断在预设的CPE库中是否存储有与所述资源信息中的资源项相对应的CPE格式的资源项;

若是,则根据所述CPE库将资源项转换为CPE格式的资源项;

若否,则按照CPE规范,将资源项转换为CPE格式的资源项,并将转换后的CPE格式的资源项存储到所述CPE库中。

可选的,在获取待检测目标的资源信息之前,所述方法还包括:

将预设的漏洞库中的每个漏洞的受影响资源列表中的每个受影响资源项转换为CPE格式的受影响资源项。

可选的,所述将预设的漏洞库中的每个漏洞的受影响资源列表中的每个受影响资源项转换为CPE格式的受影响资源项,包括:

判断在预设的CPE库中是否存储有与所述漏洞库中的受影响资源项相对应的CPE格式的受影响资源项;

若是,则根据所述CPE库将受影响资源项转换为CPE格式的受影响资源项;

若否,则按照CPE规范,将受影响资源项转换为CPE格式的受影响资源项,并将转换后的CPE格式的受影响资源项存储到所述CPE库中。

可选的,所述资源信息至少包括以下资源项中的一种:应用程序信息、操作系统信息、硬件设备信息、版本信息。

本发明还提供一种基于CPE的漏洞检测设备,所述设备包括:处理器、存储器及通信总线;

所述通信总线用于实现所述处理器和所述存储器之间的连接通信;

所述处理器用于执行所述存储器中存储的基于CPE的漏洞检测程序,以实现以下步骤:

获取待检测目标的资源信息,并将所述资源信息中的每个资源项转换为CPE格式的资源项;

判断每个CEP格式的资源项是否与预设的漏洞库中的任一漏洞的受影响资源列表中的任一CEP格式的受影响资源项相匹配,若是,则将相匹配的CEP格式的受影响资源项所归属的漏洞存储到预设的关联漏洞表中;

通过与所述关联漏洞列表中的漏洞相对应的漏洞扫描脚本对所述待检测目标进行漏洞扫描。

可选的,所述处理器在执行所述将所述资源信息中的每个资源项转换为CPE格式的资源项的步骤时,具体包括:

判断在预设的CPE库中是否存储有与所述资源信息中的资源项相对应的CPE格式的资源项;

若是,则根据所述CPE库将资源项转换为CPE格式的资源项;

若否,则按照CPE规范,将资源项转换为CPE格式的资源项,并将转换后的CPE格式的资源项存储到所述CPE库中。

可选的,所述处理器还用于执行所述存储器中存储的基于CPE的漏洞检测程序,以实现以下步骤:

将预设的漏洞库中的每个漏洞的受影响资源列表中的每个受影响资源项转换为CPE格式的受影响资源项。

可选的,所述处理器在执行所述将预设的漏洞库中的每个漏洞的受影响资源列表中的每个受影响资源项转换为CPE格式的受影响资源项的步骤时,具体包括:

判断在预设的CPE库中是否存储有与所述漏洞库中的受影响资源项相对应的CPE格式的受影响资源项;

若是,则根据所述CPE库将受影响资源项转换为CPE格式的受影响资源项;

若否,则按照CPE规范,将受影响资源项转换为CPE格式的受影响资源项,并将转换后的CPE格式的受影响资源项存储到所述CPE库中。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于CPE的漏洞检测程序;

当所述基于CPE的漏洞检测程序被至少一个处理器执行时,导致所述至少一个处理器执行上述介绍的的基于CPE的漏洞检测方法的步骤。

采用上述技术方案,本发明至少具有下列优点:

本发明所述的基于CPE的漏洞检测方法、设备和计算机可读存储介质,将识别到的待检测目标的资源信息,与漏洞库中的漏洞进行匹配,确定出与待检测目标关联的漏洞,从而利用与确定出的漏洞相对应的漏洞扫描脚本对待检测目标进行漏洞扫描。本发明借助CPE(Common Platform Enumeration,通用平台枚举)规范实现待检测目标的资源信息与漏洞的匹配操作,相对于单纯的字符串的匹配方式,可信度更高。本发明可以缩小漏洞扫描范围,从而提高漏洞检测的效率,提高用户体验度。

附图说明

图1为本发明第一实施例的基于CPE的漏洞检测方法的流程图;

图2为本发明第二实施例的基于CPE的漏洞检测方法的流程图;

图3为本发明第三实施例的基于CPE的漏洞检测设备的组成结构示意图。

具体实施方式

为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。

本发明第一实施例,一种基于CPE的漏洞检测方法,如图1所示,所述方法具体包括以下步骤:

步骤S101:获取待检测目标的资源信息,并将所述资源信息中的每个资源项转换为CPE(Common Platform Enumeration,-通用平台枚举)格式的资源项。

为了准确、高效的实现待检测目标的资源信息与漏洞库中的漏洞的匹配操作,需要统一待检测目标的资源信息中的资源项与漏洞库中的漏洞的受影响资源列表中的受影响资源项的格式。由于漏洞库中的漏洞的受影响资源列表通常采用CPE格式,所以在本发明实施例中,将资源信息中的每个资源项转换为CPE格式的资源项。

其中,CPE是由NVD(National Vulnerability Database,国家漏洞数据库)提出的一种针对信息技术系统、软件、包的结构化命名方案。CPE定义了11个属性,分别为:Part(类型)、Vendor(厂商)、Product(产品)、Version(产品发行版本)、Update(更新版本,如产品的更新补丁版本)、SW_Edition(产品针对于特定的市场或者某类用户,如professional、standard)、Target_SW(产品运行的软件环境,如Android)、Target_HW(字节码中间语言,如x64)、Language(语言,如en\-us、ja\-jp)、Other(其他属性)。

具体的,所述资源信息至少包括以下资源项中的一种:应用程序信息、操作系统信息、硬件设备信息、版本信息。

进一步的,所述将所述资源信息中的每个资源项转换为CPE格式的资源项,包括:

判断在预设的CPE库中是否存储有与所述资源信息中的资源项相对应的CPE格式的资源项;

若是,则根据所述CPE库将资源项转换为CPE格式的资源项;

若否,则将资源项转换为CPE格式的资源项,并将转换后的CPE格式的资源项存储到所述CPE库中。

目前,在NVD官网提供的CPE库中存储有12多万条数据,通过CPE库对资源项进行格式转换会提高效率。但是,很多国内的产品、设备、组件的资源信息未包含在CPE库中。因此,会出现获取到的待检测目标的资源信息中的资源项不包含在CPE库中的情况;这种情况下,需要按照CPE规范,将资源项自动转换为CPE格式。

需要说明的是,在实际应用中,也可以不通过CPE库进行资源项的格式转换。当获取到待检测目标的资源信息时,按照CPE规范自动将资源信息中的每个资源项转换为CPE格式的资源项。

步骤S102:判断每个CEP格式的资源项是否与预设的漏洞库中的任一漏洞的受影响资源列表中的任一CEP格式的受影响资源项相匹配,若是,则将相匹配的CEP格式的受影响资源项所归属的漏洞存储到预设的关联漏洞表中。

具体的,在获取待检测目标的资源信息之前,所述方法还包括:

将预设的漏洞库中的每个漏洞的受影响资源列表中的每个受影响资源项转换为CPE格式的受影响资源项。

虽然漏洞库中的漏洞的受影响资源列表通常采用CPE格式,但也有一些漏洞的受影响资源列表不是采用CPE格式。因此,为了准确、高效的实现待检测目标的资源信息与漏洞库中的漏洞的匹配操作,需要将漏洞库中的每个漏洞的受影响资源列表都转换为CPE格式。

进一步的,所述将预设的漏洞库中的每个漏洞的受影响资源列表中的每个受影响资源项转换为CPE格式的受影响资源项,包括:

判断在预设的CPE库中是否存储有与所述漏洞库中的受影响资源项相对应的CPE格式的受影响资源项;

若是,则根据所述CPE库将受影响资源项转换为CPE格式的受影响资源项;

若否,则将受影响资源项转换为CPE格式的受影响资源项,并将转换后的CPE格式的受影响资源项存储到所述CPE库中。

使用CPE库是为了提高转换效率,但是很多国内的产品、设备、组件的资源信息未包含在CPE库中。因此,会出现漏洞的受影响资源列表中的一些受影响资源项不包含在CPE库中的情况;这种情况下,需要按照CPE规范,将受影响资源项自动转换为CPE格式。

需要说明的是,在实际应用中,也可以不通过CPE库进行受影响资源项的格式转换。按照CPE规范,自动将漏洞库中的受影响资源项转换为CPE格式的受影响资源项。

针对漏洞库中的任一漏洞,该漏洞的受影响资源列表包括了该漏洞可影响到的全部资源项。若该漏洞的受影响资源列表中包含了获取到的待检测目标的任一资源项,则该漏洞与待检测目标相关联。当获取到的待检测目标的资源信息中的一个资源项与漏洞库中的一个漏洞匹配成功时,将该匹配成功的漏洞存储到预设的关联漏洞表中。

例如,获取到的待检测目标的已转换为CPE格式的资源信息为:“cpe:/a:apache:http_server:2.4.7”;其中,“a”表示该资源为应用程序信息;“apache”表示该资源的厂商;http_server表示该资源的程序名称;2.4.7表示该资源的版本号。将识别到的资源信息与漏洞库中的每个漏洞的受影响资源列表中的每个受影响资源-进行匹配,从而得到相匹配的漏洞有CVE-2013-6438、CVE-2014-0098、CVE-2014-0117、CVE-2014-0118、CVE-2014-0226、CVE-2014-0231、CVE-2014-3523、CVE-2014-8109、CVE-2015-3185。

更进一步的,判断资源项是否与受影响资源项匹配成功,包括:

若资源项与受影响资源项的字符串完成一致,则匹配成功;以及,

若资源项属于受影响资源项的一个子类,则匹配成功。

步骤S103:通过与所述关联漏洞列表中的漏洞相对应的漏洞扫描脚本对所述待检测目标进行漏洞扫描。

利用漏洞扫描脚本对待检测目标进行漏洞扫描是现有技术,故在此不再详述。本发明实施例是在漏洞扫描之前,缩小漏洞扫描范围,以提高漏洞扫描的效率和速度。

本发明第二实施例,一种基于CPE的漏洞检测方法,如图2所示,所述方法具体包括以下步骤:

步骤S201:创建关联漏洞列表。

所述关联漏洞列表用于储存匹配成功的漏洞。

步骤S202:获取待检测目标的资源信息,并将所述资源信息中的每个资源项转换为CPE格式的资源项。

具体的,述资源信息至少包括以下资源项中的一种:应用程序信息、操作系统信息、硬件设备信息、版本信息。

步骤S203:获取资源信息中的一个CPE格式的资源项。

步骤S204:获取漏洞库中的一个漏洞,并获取所述漏洞的受影响资源列表。

具体的,所述受影响资源列表包括了所述漏洞可影响到的全部资源项,且所述受影响资源列表中的每个受影响资源项均采用CPE格式。

步骤S205:获取所述受影响资源列表中的一个受影响资源项,并判断所述受影响资源项是否与所述资源项相匹配;

若是,则将所述漏洞存储到所述关联漏洞列表中;

若否,则执行步骤S206。

步骤S206:判断所述受影响资源列表中是否还有其他受影响资源项;

若是,则执行步骤S205;

若否,则执行步骤S207。

步骤S207:判断所述漏洞库中是否还有其他漏洞;

若是,则执行步骤S204;

若否,则执行步骤S208。

步骤S208:判断所述获取到的资源信息中是否还有其他资源项;

若是,则执行步骤S203;

若否,则流程结束。

本发明第三实施例,一种基于CPE的漏洞检测设备,如图3所示,所述设备包括:处理器301、存储器302及通信总线;

通信总线用于实现处理器301和存储器302之间的连接通信;

处理器301用于执行存储器302中存储的基于CPE的漏洞检测程序,以实现以下步骤:

获取待检测目标的资源信息,并将所述资源信息中的每个资源项转换为CPE格式的资源项;

判断每个CEP格式的资源项是否与预设的漏洞库中的任一漏洞的受影响资源列表中的任一CEP格式的受影响资源项相匹配,若是,则将相匹配的CEP格式的受影响资源项所归属的漏洞存储到预设的关联漏洞表中;

通过与所述关联漏洞列表中的漏洞相对应的漏洞扫描脚本对所述待检测目标进行漏洞扫描。

具体的,处理器301在执行所述将所述资源信息中的每个资源项转换为CPE格式的资源项的步骤时,具体包括:

判断在预设的CPE库中是否存储有与所述资源信息中的资源项相对应的CPE格式的资源项;

若是,则根据所述CPE库将资源项转换为CPE格式的资源项;

若否,则按照CPE规则,将资源项转换为CPE格式的资源项,并将所述CPE格式的资源项存储到所述CPE库中。

进一步的,处理器301还用于执行所述存储器中存储的基于CPE的漏洞检测程序,以实现以下步骤:

将预设的漏洞库中的每个漏洞的受影响资源列表中的每个受影响资源项转换为CPE格式的受影响资源项。

进一步的,处理器301在执行所述将预设的漏洞库中的每个漏洞的受影响资源列表中的每个受影响资源项转换为CPE格式的受影响资源项的步骤时,具体包括:

判断在预设的CPE库中是否存储有与所述漏洞库中的受影响资源项相对应的CPE格式的受影响资源项;

若是,则根据所述CPE库将受影响资源项转换为CPE格式的受影响资源项;

若否,则按照CPE规则,将受影响资源项转换为CPE格式的受影响资源项,并将所述CPE格式的受影响资源项存储到所述CPE库中。

本发明第四实施例,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有基于CPE的漏洞检测程序;

当所述基于CPE的漏洞检测程序被至少一个处理器执行时,导致所述至少一个处理器执行以下步骤操作:

获取待检测目标的资源信息,并将所述资源信息中的每个资源项转换为CPE格式的资源项;

判断每个CEP格式的资源项是否与预设的漏洞库中的任一漏洞的受影响资源列表中的任一CEP格式的受影响资源项相匹配,若是,则将相匹配的CEP格式的受影响资源项所归属的漏洞存储到预设的关联漏洞表中;

通过与所述关联漏洞列表中的漏洞相对应的漏洞扫描脚本对所述待检测目标进行漏洞扫描。

本发明实施例中介绍的基于CPE的漏洞检测方法、设备和计算机可读存储介质,将识别到的待检测目标的资源信息,与漏洞库中的漏洞进行匹配,确定出与待检测目标关联的漏洞,从而利用与确定出的漏洞相对应的漏洞扫描脚本对待检测目标进行漏洞扫描。本发明借助CPE(Common Platform Enumeration,通用平台枚举)规范实现待检测目标的资源信息与漏洞的匹配操作,相对于单纯的字符串的匹配方式,可信度更高。本发明可以缩小漏洞扫描范围,从而提高漏洞检测的效率,提高用户体验度。

通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

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