一种漏洞扫描引擎的拉黑状态识别方法、装置及设备与流程

文档序号:25991977发布日期:2021-07-23 21:04阅读:104来源:国知局
一种漏洞扫描引擎的拉黑状态识别方法、装置及设备与流程

本发明涉及网络安全技术领域,特别是涉及一种漏洞扫描引擎的拉黑状态识别方法、装置、设备及计算机可读存储介质。



背景技术:

网络安全工作是防守和进攻的博弈,是保证信息安全,工作顺利开展的奠基石。漏洞扫描则是安全防护体系中必不可少的“安全体检”手段和常规性安全监测手段。漏洞扫描的本质是基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测(渗透攻击)行为。

但是由于用户安全防护的多样性,许多提供漏洞扫描服务的ip地址往往会被用户安全防护体系的中一些其他设备或者服务拦截,并且拦截之后不能及时的、明确的告知用户或者漏洞扫描服务商,并且漏洞扫描服务不能成功扫描时,扫描状态是按照成功进行提示,但漏洞扫描结果是按照0计算。这样的情况下,用户和服务商并不知道漏扫结果是0是因为被扫对象真的不存在漏洞还是其他原因导致漏扫失败,导致漏扫服务不能起到漏扫作用,只有当发生基于安全漏洞的安全威胁事件后,排查结果时才能发现是因为漏洞扫描没有执行到位。因此,即使某系统存在漏洞,如果没有发现漏洞扫描引擎被拉黑的情况,漏洞会依然存在,并且不会产生告警,一旦发生安全事件,给用户带来不必要的损失。

综上所述,如何有效地解决不能及时发现漏洞扫描引擎被拉黑的情况,导致漏洞会依然存在,并且不会产生告警,发生安全事件,给用户带来不必要的损失等问题,是目前本领域技术人员急需解决的问题。



技术实现要素:

本发明的目的是提供一种漏洞扫描引擎的拉黑状态识别方法,该方法避免因为漏洞扫描引擎被拉黑导致的安全事件,提高了漏洞扫描服务的可靠性和稳定性;本发明的另一目的是提供一种漏洞扫描引擎的拉黑状态识别装置、设备及计算机可读存储介质。

为解决上述技术问题,本发明提供如下技术方案:

一种漏洞扫描引擎的拉黑状态识别方法,包括:

利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描;

判断所述漏洞扫描引擎是否收到回包;

若否,则分别利用所述漏洞扫描引擎和可用性探测引擎对所述扫描对象进行可用性探测,得到可用性探测结果;

根据所述可用性探测结果对所述漏洞扫描引擎进行拉黑状态识别。

在本发明的一种具体实施方式中,当确定所述漏洞扫描引擎未收到回包时,在分别利用所述漏洞扫描引擎和可用性探测引擎对所述扫描对象进行可用性探测之前,还包括:

重复执行所述利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描的步骤;

当重复次数达到预设值且各次扫描结果均为未收到回包时,执行所述分别利用所述漏洞扫描引擎和可用性探测引擎对所述扫描对象进行可用性探测的步骤。

在本发明的一种具体实施方式中,根据所述可用性探测结果对所述漏洞扫描引擎进行拉黑状态识别,包括:

当所述可用性探测结果中所述漏洞扫描引擎对应的第一探测结果为不可用,且所述可用性探测引擎对应的第二探测结果为可用时,确定所述漏洞扫描引擎已被拉黑。

在本发明的一种具体实施方式中,分别利用所述漏洞扫描引擎和可用性探测引擎对所述扫描对象进行可用性探测,得到可用性探测结果,包括:

利用漏洞扫描引擎向所述扫描对象发送第一get请求,并获取所述扫描对象的第一http响应码;

利用所述可用性探测引擎向所述扫描对象发送第二get请求,并获取所述扫描对象的第二http响应码;

当所述可用性探测结果中所述漏洞扫描引擎对应的第一探测结果为不可用,且所述可用性探测引擎对应的第二探测结果为可用时,确定所述漏洞扫描引擎已被拉黑,包括:

当所述第一http响应码为空且所述第二http响应码为非空时,确定所述漏洞扫描引擎已被拉黑。

在本发明的一种具体实施方式中,在确定所述漏洞扫描引擎已被拉黑之后,还包括:

利用告警服务器进行告警通知操作。

在本发明的一种具体实施方式中,在利用告警服务器进行告警通知操作之后,还包括:

检测所述漏洞扫描引擎是否已解除拉黑;

若是,则执行所述利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描的步骤。

在本发明的一种具体实施方式中,在利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描之前,还包括:

利用所述可用性探测引擎探测所述扫描对象是否可用;

若否,则确定所述扫描对象不可用;

若是,则执行所述利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描的步骤。

一种漏洞扫描引擎的拉黑状态识别装置,包括:

发包扫描模块,用于利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描;

判断模块,用于判断所述漏洞扫描引擎是否收到回包;

探测结果获得模块,用于当确定所述漏洞扫描引擎未收到回包时,分别利用所述漏洞扫描引擎和可用性探测引擎对所述扫描对象进行可用性探测,得到可用性探测结果;

状态识别模块,用于根据所述可用性探测结果对所述漏洞扫描引擎进行拉黑状态识别。

一种漏洞扫描引擎的拉黑状态识别设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如前所述漏洞扫描引擎的拉黑状态识别方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述漏洞扫描引擎的拉黑状态识别方法的步骤。

本发明所提供的漏洞扫描引擎的拉黑状态识别方法,利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描;判断漏洞扫描引擎是否收到回包;若否,则分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,得到可用性探测结果;根据可用性探测结果对漏洞扫描引擎进行拉黑状态识别。

由上述技术方案可知,预先部署漏洞扫描引擎和可用性探测引擎,在确定漏洞扫描引擎向扫描对象发包不能收到回包时,分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,根据可用性探测结果识别得到漏洞扫描引擎是否处于被拉黑状态。从而及时对处于拉黑状态的漏洞扫描引擎进行识别,避免因为漏洞扫描引擎被拉黑导致的安全事件,提高了漏洞扫描服务的可靠性和稳定性。

相应的,本发明还提供了与上述漏洞扫描引擎的拉黑状态识别方法相对应的漏洞扫描引擎的拉黑状态识别装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中漏洞扫描引擎的拉黑状态识别方法的一种实施流程图;

图2为本发明实施例中漏洞扫描引擎的拉黑状态识别方法的另一种实施流程图;

图3为本发明实施例中一种漏洞扫描引擎的拉黑状态识别装置的结构框图;

图4为本发明实施例中一种漏洞扫描引擎的拉黑状态识别设备的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

参见图1,图1为本发明实施例中漏洞扫描引擎的拉黑状态识别方法的一种实施流程图,该方法可以包括以下步骤:

s101:利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描。

预先建立web系统的漏洞扫描引擎,配置待扫的扫描对象入口,并设置扫描参数。可以预先设置漏洞库,漏洞库中存储有各漏洞扫描包,并预先设置利用各漏洞扫描包对扫描对象进行发包扫描的各种策略,如可以是响应码扫描或响应体扫描。利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描。

扫描对象可以为任一个预先订阅有漏洞扫描服务的扫描对象。

漏洞扫描引擎是指用于对扫描对象(url)进行漏洞扫描的程序,程序部署在独立的服务器上,通过服务器的出口ip,结合程序自带的漏洞库,对扫描对象可能存在的漏洞隐患进行扫描。

s102:判断漏洞扫描引擎是否收到回包,若是,则重复执行步骤s101,若否,则执行步骤s103。

在利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描之后,判断漏洞扫描引擎是否收到回包,如漏洞扫描引擎根据不同的漏洞策略提取回包的结果,判断是否收到与漏洞扫描策略对应的响应码或响应体,若是,则说明漏洞扫描引擎发包扫描正常,重复执行步骤s101,若否,则说明漏洞扫描引擎发包扫描异常,执行步骤s103。

s103:分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,得到可用性探测结果。

预先建立web系统的可用性探测引擎,配置待扫的扫描对象入口,并设置扫描参数。当确定漏洞扫描引擎未收到回包时,分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,得到可用性探测结果,即分别得到漏洞扫描引擎对应的可用性探测结果和可用性探测引擎对应的可用性探测结果。

可用性探测引擎是指用于对扫描对象(url)进行可用性探测的程序,程序部署在独立的服务器上,通过服务器的出口ip,对扫描对象发起get请求,根据扫描对象的响应结果判断扫描对象是否可用。

需要说明的是,为了避免漏洞扫描引擎的探测结果与可用性探测引擎的探测结果之间的干扰,将漏洞扫描引擎与可用性探测引擎分别设置于不同的服务器中。

s104:根据可用性探测结果对漏洞扫描引擎进行拉黑状态识别。

在分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,得到可用性探测结果之后,根据可用性探测结果对漏洞扫描引擎进行拉黑状态识别。即,当漏洞扫描引擎对应的可用性探测结果为不可用,可用性探测引擎对应的可用性探测结果为可用时,说明扫描对象当前可用,漏洞扫描引擎处于被扫描对象拉黑的状态;当漏洞扫描引擎对应的可用性探测结果和可用性探测引擎对应的可用性探测结果均为可用时,说明扫描对象当前可用,漏洞扫描引擎处于未被扫描对象拉黑的状态,先前发包扫描失败可能是由于网络原因导致的发包失败。

由上述技术方案可知,预先部署漏洞扫描引擎和可用性探测引擎,在确定漏洞扫描引擎向扫描对象发包不能收到回包时,分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,根据可用性探测结果识别得到漏洞扫描引擎是否处于被拉黑状态。从而及时对处于拉黑状态的漏洞扫描引擎进行识别,避免因为漏洞扫描引擎被拉黑导致的安全事件,提高了漏洞扫描服务的可靠性和稳定性。

需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。

实施例二:

参见图2,图2为本发明实施例中漏洞扫描引擎的拉黑状态识别方法的另一种实施流程图,该方法可以包括以下步骤:

s201:利用可用性探测引擎探测扫描对象是否可用,若是,则执行步骤s203,若否,则执行步骤s202。

启动可用性探测引擎探测扫描对象的可用性,若可用,则执行步骤s203,若不可用,则执行步骤s202。如可用通过记录扫描对象的http响应码,根据http响应码是否为空来判断扫描对象是否可用。

远程漏洞扫描的本质则是基于http方式的安全检测(渗透攻击)行为,基于http安全检测就一定会产生http状态码,http状态码(httpstatuscode)是用以表示网页服务器超文本传输协议响应状态的3位数字代码,它由rfc2616规范定义,并得到rfc2518、rfc2817、rfc2295、rfc2774与rfc4918等规范扩展,所有状态码的第一个数字代表了响应的五种状态之一。

s202:确定扫描对象不可用。

当利用可用性探测引擎探测扫描对象不可用时,漏洞扫描结束。

s203:利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描。

s204:判断漏洞扫描引擎是否收到回包,若是,则重复执行步骤s203,若否,则执行步骤s205。

s205:重复执行步骤s203,判断重复次数是否达到预设值且各次扫描结果均为未收到回包,若是,则执行步骤s206,若否,则执行步骤s203。

当确定漏洞扫描引擎未收到回包时,重复利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描,判断重复次数是否达到预设值且各次扫描结果均为未收到回包,若是,则说明扫描对象当前可能已对漏洞扫描引擎进行拉黑,执行步骤s206,若否,则说明可能是由于当前网络状态不佳,导致发包扫描失败,执行步骤s203。

需要说明的是,重复发包的预设次数可以根据实际情况进行设定和调整,本发明实施例对此不做限定,如可以设置为10次。

s206:分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,得到可用性探测结果。

在本发明的一种具体实施方式中,步骤s206可以包括以下步骤:

步骤一:利用漏洞扫描引擎向扫描对象发送第一get请求,并获取扫描对象的第一http响应码;

步骤二:利用可用性探测引擎向扫描对象发送第二get请求,并获取扫描对象的第二http响应码。

为方便描述,可以将上述两个步骤结合起来进行说明。

当确定重复次数达到预设值且各次扫描结果均为未收到回包时,利用漏洞扫描引擎向扫描对象发送第一get请求,并获取扫描对象的第一http响应码,对第一http响应码进行记录,并利用可用性探测引擎向扫描对象发送第二get请求,并获取扫描对象的第二http响应码,对第二http响应码进行记录。

需要说明的是,第一get请求与第二get请求,以及第一http响应码与第二http响应码之间的“第一”、“第二”并不存在先后顺序或大小之分,仅是为了对漏洞扫描引擎和可用性探测引擎之间的请求与响应码的区分。

s207:当可用性探测结果中漏洞扫描引擎对应的第一探测结果为不可用,且可用性探测引擎对应的第二探测结果为可用时,确定漏洞扫描引擎已被拉黑。

当确定可用性探测结果中漏洞扫描引擎对应的第一探测结果为不可用,且可用性探测引擎对应的第二探测结果为可用时,说明扫描对象当前可用,确定漏洞扫描引擎已被拉黑。

在本发明的一种具体实施方式中,步骤s207可以包括以下步骤:

当第一http响应码为空且第二http响应码为非空时,确定漏洞扫描引擎已被拉黑。

当预先记录的第一http响应码为空且第二http响应码为非空时,说明扫描对象当前可用,确定漏洞扫描引擎已被拉黑。

s208:利用告警服务器进行告警通知操作。

告警服务器是指用于根据告警联系人提前设置好的告警方式对告警联系人进行告警的平台。

当确定漏洞扫描引擎已被拉黑时,利用告警服务器进行告警通知操作。如可以调用系统中相关的负责人联系电话,通过告警服务器发送短信告知用户,或者通过发送邮件告知用户,说明需要解除漏洞扫描引擎的ip拉黑状态。

s209:检测漏洞扫描引擎是否已解除拉黑,若是,则执行步骤s203,若否,则执行步骤s210。

在利用告警服务器进行告警通知操作之后,检测漏洞扫描引擎是否已解除拉黑,若是,则说明当前漏洞扫描引擎已能够对扫描对象进行正常的漏洞扫描,执行步骤s203,若否,则说明漏洞扫描引擎仍处于被扫描对象拉黑的状态,执行步骤s210。从而及时解除拉黑状态,防止客户购买了漏洞扫描服务却没有获得相应的服务内容,避免因为漏洞扫描服务ip被拉黑没有及时发现漏洞隐患,确保提供稳定的漏洞扫描服务。

s210:等待漏洞扫描引擎解除拉黑。

当确定检测漏洞扫描引擎未解除拉黑时,等待漏洞扫描引擎解除拉黑。

实施例三:

相应于上面的方法实施例,本发明还提供了一种漏洞扫描引擎的拉黑状态识别装置,下文描述的漏洞扫描引擎的拉黑状态识别装置与上文描述的漏洞扫描引擎的拉黑状态识别方法可相互对应参照。

参见图3,图3为本发明实施例中一种漏洞扫描引擎的拉黑状态识别装置的结构框图,该装置可以包括:

发包扫描模块31,用于利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描;

判断模块32,用于判断漏洞扫描引擎是否收到回包;

探测结果获得模块33,用于当确定漏洞扫描引擎未收到回包时,分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,得到可用性探测结果;

状态识别模块34,用于根据可用性探测结果对漏洞扫描引擎进行拉黑状态识别。

由上述技术方案可知,预先部署漏洞扫描引擎和可用性探测引擎,在确定漏洞扫描引擎向扫描对象发包不能收到回包时,分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,根据可用性探测结果识别得到漏洞扫描引擎是否处于被拉黑状态。从而及时对处于拉黑状态的漏洞扫描引擎进行识别,避免因为漏洞扫描引擎被拉黑导致的安全事件,提高了漏洞扫描服务的可靠性和稳定性。

在本发明的一种具体实施方式中,该装置还可以包括:

重复执行模块,用于当确定漏洞扫描引擎未收到回包时,重复执行利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描的步骤;

探测结果获得模块33具体为当重复次数达到预设值且各次扫描结果均为未收到回包时,分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测的模块。

在本发明的一种具体实施方式中,状态识别模块34具体为当可用性探测结果中漏洞扫描引擎对应的第一探测结果为不可用,且可用性探测引擎对应的第二探测结果为可用时,确定漏洞扫描引擎已被拉黑的模块。

在本发明的一种具体实施方式中,探测结果获得模块33包括:

第一响应码获得子模块,用于利用漏洞扫描引擎向扫描对象发送第一get请求,并获取扫描对象的第一http响应码;

第二响应码获得子模块,用于利用可用性探测引擎向扫描对象发送第二get请求,并获取扫描对象的第二http响应码;

状态识别模块34具体为当第一http响应码为空且第二http响应码为非空时,确定漏洞扫描引擎已被拉黑的模块。

在本发明的一种具体实施方式中,该装置还可以包括:

告警模块,用于在确定漏洞扫描引擎已被拉黑之后,利用告警服务器进行告警通知操作。

在本发明的一种具体实施方式中,该装置还可以包括:

检测模块,用于在利用告警服务器进行告警通知操作之后,检测漏洞扫描引擎是否已解除拉黑;

发包扫描模块31,还用于当检测到漏洞扫描引擎已解除拉黑时,利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描。

在本发明的一种具体实施方式中,该装置还可以包括:

可用性探测模块,用于在利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描之前,利用可用性探测引擎探测扫描对象是否可用;

可用状态确定模块,用于当确定扫描对象不可用时,确定扫描对象不可用;

发包扫描模块31具体为当确定扫描对象可用时,利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描的模块。

相应于上面的方法实施例,参见图4,图4为本发明所提供的漏洞扫描引擎的拉黑状态识别设备的示意图,该设备可以包括:

存储器41,用于存储计算机程序;

处理器42,用于执行上述存储器41存储的计算机程序时可实现如下步骤:

利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描;判断漏洞扫描引擎是否收到回包;若否,则分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,得到可用性探测结果;根据可用性探测结果对漏洞扫描引擎进行拉黑状态识别。

对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。

相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:

利用漏洞扫描引擎按照预置漏洞扫描策略对扫描对象进行发包扫描;判断漏洞扫描引擎是否收到回包;若否,则分别利用漏洞扫描引擎和可用性探测引擎对扫描对象进行可用性探测,得到可用性探测结果;根据可用性探测结果对漏洞扫描引擎进行拉黑状态识别。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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