本公开涉及网络信息安全技术领域,尤其涉及漏洞修复状态检测方法及系统。
背景技术:
网络安全领域中,漏洞从发现到解决有三个阶段:0day阶段、1day阶段和2day阶段。相关技术中,在1day阶段、2day阶段,一些黑客会基于漏洞来攻击待检测设备,漏洞检测服务器会对待检测设备进行漏洞检测、漏洞预警以及漏洞修复,以保证待检测设备能够抵御攻击并正常运行。
目前,对于一个漏洞而言,漏洞检测服务器对待检测设备进行漏洞修复之后,便认为待检测设备的漏洞修复成功,也即待检测设备能够抵御黑客针对该漏洞的攻击。但是实际上漏洞修复成功之后,待检测设备并不一定能够抵御黑客针对该漏洞的攻击。
相关技术中,漏洞检测服务器在理论上确认待检测设备漏洞修复成功,但是这并不能表明待检测设备的真实修复状态,即,现有技术中无法准确获取待检测设备的修复状态。
技术实现要素:
本公开提供漏洞修复状态检测方法及系统,以至少解决相关技术中无法准确获取待检测设备的修复状态的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种漏洞修复状态检测方法,包括:
对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,以及,对所述待检测设备执行与所述当前漏洞标识对应的漏洞修复;
监测漏洞利用程序公布平台,获取最新的漏洞利用程序信息;其中,所述最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识,其中,所述漏洞利用程序用于利用系统漏洞来攻击所述待检测设备;
判断所述多个漏洞标识中是否存在所述当前漏洞标识;
若存在,则从所述多个漏洞利用程序中确定与所述当前漏洞标识对应的漏洞利用程序,利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态。
其中,所述对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,包括:
监测漏洞公布平台并获取最新漏洞信息;其中,所述最新漏洞信息包括具有最新漏洞的组件对应的组件信息;
获取所述待检测设备的组件信息集;
若所述组件信息集与所述最新漏洞信息具有相同组件信息,则确定所述待检测设备具有漏洞;
确定所述相同组件信息对应漏洞的当前漏洞标识。
其中,所述利用该漏洞利用程序验证所述待检测设备并获得所述待检测设备的修复状态,包括:
发送所述待检测设备中所述相同组件信息对应的ip地址和端口号码至该漏洞利用程序;
在该漏洞利用程序向待检测设备的ip地址和端口号码发起攻击之后,接收所述待检测设备发送的反馈结果;
在所述反馈结果为第一反馈结果的情况下,则确定所述待检测设备的修复状态为未修复成功;
在所述反馈结果为第二反馈结果的情况下,则确定所述待检测设备的修复状态为修复成功。
其中,所述组件信息集包括:
多个非标准组件信息,多个标准组件信息以及多个服务组件信息;
其中,非标准组件为未安装于所述待检测设备指定安装路径下的组件;
标准组件为安装于所述待检测设备指定安装路径下的组件;
服务组件为部署于待检测设备相连的服务器并为待检测设备提供服务的服务组件。
其中,所述获取所述待检测设备的组件信息集包括:从数据库服务器获取待检测设备的组件信息集;
其中,所述数据库服务器用于:
接收第一服务器利用可执行命令获取待检测设备的多个标准组件信息,和,在非标准组件的安装目录下获取待检测设备的多个非标准组件信息;以及,
接收第二服务器通过外部程序扫描方式获取所述待检测设备对外开放的多个服务组件信息;
对多个服务组件信息、多个标准组件信息以及多个非标准组件信息进行去重操作,存储去重操作之后的多个服务组件信息、多个标准组件信息以及多个非标准组件信息。
根据本公开实施例的第二方面,提供一种漏洞修复状态检测系统,其特征在于,包括:一个或多个待检测设备,漏洞利用程序公布平台,以及,漏洞检测服务器;
漏洞利用程序公布平台,被配置为获取并存储最新的漏洞利用程序信息;其中,所述最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识,其中,所述漏洞利用程序用于利用系统漏洞来攻击所述待检测设备;
漏洞检测服务器,被配置为对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,以及,对所述待检测设备执行与所述当前漏洞标识对应的漏洞修复;监测漏洞利用程序公布平台,获取最新的漏洞利用程序信息;判断所述多个漏洞标识中是否存在所述当前漏洞标识;若存在,则从所述多个漏洞利用程序中确定与所述当前漏洞标识对应的漏洞利用程序,利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态。
其中所述系统还包括:
漏洞公布平台,用于获取并存储最新漏洞信息;其中,所述最新漏洞信息包括具有最新漏洞的组件对应的组件信息;
所述漏洞检测服务器对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,具体包括:
所述漏洞检测服务器被配置为监测漏洞公布平台并获取最新漏洞信息;获取所述待检测设备的组件信息集;若所述组件信息集与所述最新漏洞信息具有相同组件信息,则确定所述待检测设备具有漏洞;确定所述相同组件信息对应漏洞的当前漏洞标识。
其中所述漏洞检测服务器利用该漏洞利用程序验证所述待检测设备并获得所述待检测设备的修复状态,具体包括:
所述漏洞检测服务器发送所述待检测设备中所述相同组件信息对应的ip地址和端口号码至该漏洞利用程序;在该漏洞利用程序向待检测设备的ip地址和端口号码发起攻击之后,接收所述待检测设备发送的反馈结果;在所述反馈结果为第一反馈结果的情况下,则确定所述待检测设备的修复状态为未修复成功;在所述反馈结果为第二反馈结果的情况下,则确定所述待检测设备的修复状态为修复成功。
其中,所述组件信息集包括:
多个非标准组件信息,多个标准组件信息以及多个服务组件信息;
其中,非标准组件为未安装于所述待检测设备指定安装路径下的组件;
标准组件为安装于所述待检测设备指定安装路径下的组件;
服务组件为部署于待检测设备相连的服务器并为待检测设备提供服务的服务组件。
其中所述系统还包括:
与所述一个或多个待检测设备相连的第一服务器;
与所述一个或多个待检测设备相连的第二服务器;
与所述第一服务器和第二服务器相连的数据库服务器;
其中,一个或多个待检测设备中安装有客户端,第一服务器安装有服务端;
待检测设备的客户端,被配置为利用可执行命令获取的多个标准组件信息,以及,在非标准组件的安装目录下获取的多个非标准组件信息,发送多个标准组件信息以及多个非标准组件信息至第一服务器;
第一服务器,被配置为转发多个标准组件信息以及多个非标准组件信息至数据库服务器;
第二服务器,被配置为采用通过外部程序扫描方式获取所述待检测设备对外开放的多个服务组件信息,发送多个服务组件信息至数据库服务器;
数据库服务器,被配置为对多个服务组件信息、多个标准组件信息以及多个非标准组件信息进行去重操作,存储去重操作之后的多个服务组件信息、多个标准组件信息以及多个非标准组件信息;
漏洞检测服务器,被配置为从数据库服务器获取待检测设备的组件信息集。
根据本公开实施例的第三方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现第一方面所述的漏洞修复状态检测方法。
根据本公开实施例的第四方面,提供一种存储介质,包括:
当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行第一方面所述的漏洞修复状态检测方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,计算机程序产品的指令由服务器的处理器执行时,使得服务器能够执行第一方面所述的漏洞修复状态检测方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开可以对待检测设备进行漏洞检测,在待检测设备具有漏洞的情况下确定漏洞对应的当前漏洞标识,以及,对待检测设备执行与当前漏洞标识对应的漏洞修复。
漏洞检测服务器会监测漏洞利用程序公布平台,获取最新的漏洞利用程序信息;其中最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识。
漏洞检测服务器判断所述多个漏洞标识中是否存在所述当前漏洞标识;若存在,则表示已经出现利用待检测设备所具有漏洞的漏洞利用程序,所以从多个漏洞利用程序中确定与当前漏洞标识对应的漏洞利用程序。
然后,利用该漏洞利用程序真实检测所述待检测设备并获得所述待检测设备的修复状态。也即本公开在漏洞检测服务器在理论上确认待检测设备漏洞修复成功后,还会真实利用漏洞利用程序来攻击待检测设备,以验证待检测设备的真实修复状态。
因此本公开可以真实、准确地确定待检测设备的真实修复状态。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种漏洞修复状态检测方法实施例一的流程图;
图2是根据一示例性实施例示出的又一种漏洞修复状态检测方法实施例的流程图;
图3是根据一示例性实施例示出的一种漏洞修复状态检测系统的框图;
图4是根据一示例性实施例示出的一种漏洞修复状态检测方法实施例二的流程图;
图5是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种漏洞修复状态检测方法实施例一的流程图,漏洞修复状态检测方法应用于漏洞检测服务器中,包括以下步骤。
在步骤s101中,漏洞检测服务器对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,以及,对所述待检测设备执行与所述当前漏洞标识对应的漏洞修复。
参见图2,本步骤可以采用下述步骤实现:
在步骤s201中,监测漏洞公布平台获取最新漏洞信息;其中,所述最新漏洞信息包括多个最新漏洞标识以及多个最新漏洞标识对应的多个组件信息集,每个组件信息集包括存在漏洞标识对应漏洞的组件所属的组件信息。
漏洞公布平台为一个或多个专门收集漏洞的平台,互联网中会不定期出现一些漏洞,漏洞公布平台会收集漏洞。为了便于区分不同漏洞,漏洞公布平台为每个漏洞设置唯一标识。
组件可能会因为存在漏洞而被黑客攻击,导致组件瘫痪或出现异常,所以漏洞公布平台还会分析并确定每个漏洞对应的组件信息集,每个组件信息集包括存在漏洞标识对应漏洞的组件所具有的组件信息。
对于一个漏洞而言,漏洞公布平台会分析并且确定该漏洞所影响的多个组件,也即多个组件存在该漏洞,可能会被黑客所攻击。然后可以分别确定多个组件对应的多个组件信息,每个组件信息可以包括组件名称、组件标识和组件版本等信息,多个组件信息组成该漏洞的组件信息集。
从一个漏洞出现到漏洞公布平台收集到包含该漏洞的最新漏洞信息有一个时间差,所以漏洞检测服务器会不断监测漏洞公布平台并获取最新漏洞信息。这样可以保证漏洞检测服务器能够及时获取到最近的最新漏洞信息,提高实效性和准确性。
在步骤s202中,漏洞检测服务器获取所述待检测设备的组件信息集。
漏洞检测服务器可以获取待检测设备所有的组件信息集,待检测设备所有的组件信息集包括:
多个非标准组件信息,多个标准组件信息以及多个服务组件信息;
其中,标准组件为安装于所述待检测设备指定安装路径下的组件;所述标准组件信息包括组件标识、组件版本标识、组件地址信息和维护人员信息。
非标准组件为未安装于所述待检测设备指定安装路径下的组件;所述非标准组件信息包括组件标识、组件版本标识、组件地址信息和维护人员信息。
服务组件为部署于待检测设备相连的服务器并为待检测设备提供服务的服务组件,所述服务组件信息包括组件标识、组件版本标识、组件地址信息和维护人员信息。
在实际应用中,漏洞检测服务器从数据库服务器获取待检测设备的组件信息集;所述数据库服务器用于:
接收第一服务器利用可执行命令获取待检测设备的多个标准组件信息,和,在非标准组件的安装目录下获取待检测设备的多个非标准组件信息;以及,
接收第二服务器通过外部程序扫描方式获取所述待检测设备对外开放的多个服务组件信息;
对多个服务组件信息、多个标准组件信息以及多个非标准组件信息进行去重操作,存储去重操作之后的多个服务组件信息、多个标准组件信息以及多个非标准组件信息。
本公开中的组件信息集既有标准组件的组件信息又有非标准组件的组件信息,使得待检测设备的组件信息集更加全面,从而可以更加全面的对待检测设备进行漏洞监测,提升漏洞监测的全面性。另外,组件信息集又增加服务组件信息,又可以进一步提升漏洞检测的全面性。
本步骤将在图4所示的实施例进行详细描述,在此暂不赘述。
在步骤s203中,漏洞检测服务器判断所述最新漏洞信息与待检测设备的组件信息集是否具有相同组件信息。
最新漏洞信息为漏洞检测服务器从漏洞公布平台获取的,最新漏洞信息包括多个最新漏洞标识以及多个最新漏洞标识对应的多个组件信息集,每个组件信息集包括存在漏洞标识对应漏洞的组件所属的组件信息。待检测设备的组件信息集为待检测设备所具有的所有组件信息。漏洞检测服务器判断最新漏洞信息与待检测设备的组件信息集是否具有相同组件信息,也即判断判断最新漏洞信息与待检测设备的组件信息集是否有交集,若具有相同组件信息也即若有交集,则表示待检测设备具有漏洞,存在被最新漏洞攻击的可能性。
若所述组件信息集与所述最新漏洞信息具有相同组件信息,则确定所述待检测设备具有漏洞,进入步骤s204,否则确定所述待检测设备不具有漏洞,进入步骤s201。
在步骤s204中,漏洞检测服务器确定所述相同组件信息对应漏洞的当前漏洞标识。
一个漏洞对应一个漏洞标识,一个漏洞对应一个组件信息集。漏洞检测服务器确定相同组件信息对应漏洞的漏洞标识,并将其作为当前漏洞标识。
在步骤s205中,确定所述相同组件信息对应的维护人员信息,基于所述维护人员信息向维护人员发送提示消息。
若待检测设备中的组件具有漏洞,为了尽快对待检测设备中的组件进行修复,可以确定相同组件信息中的维护人员信息,基于所述维护人员信息向维护人员发送提示消息。
维护人员信息可以包括电话号码、即时通讯软件号码、邮箱等信息,以便将将受漏洞影响的组件信息同步至相应维护人员,同步方式包括不限于邮件、即时通讯软件、短信和电话等。步骤s206:漏洞检测服务器对所述待检测设备执行与所述当前漏洞标识对应的漏洞修复。
漏洞检测服务器可以在维护人员的操控下,或者,自动化执行已有修复程序,确定当前漏洞标识对应补丁程序,然后对待检测设备执行补丁程序,以便对待检测设备进行漏洞修复。
接步骤s101进入步骤s102,漏洞检测服务器监测漏洞利用程序公布平台,获取最新的漏洞利用程序信息;其中,所述最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识,其中,所述漏洞利用程序用于利用系统漏洞来攻击所述待检测设备。
漏洞利用程序公布平台为一个或多个专门用于收集漏洞利用程序的平台,在出现一个漏洞后,互联网中便会逐渐出现利用该漏洞的漏洞利用程序,漏洞利用程序用于利用系统漏洞来攻击所述待检测设备。
漏洞利用程序公布平台会收集漏洞利用程序,并将漏洞利用程序和漏洞对应的漏洞标识关联存储。也即一个漏洞对应一个漏洞标识,对应一个组件信息集,且,对应一个或多个漏洞利用程序。
漏洞利用程序公布平台会不断获取并存储最新的漏洞利用程序信息,其中,最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识。
在步骤s103中,漏洞检测服务器判断所述多个漏洞标识中是否存在所述当前漏洞标识。若存在,则进入步骤s104,若不存在则进入步骤s102。
由于互联网中是先出现漏洞,然后再逐步出现利用漏洞的漏洞利用程序,所以存在时间差,因此漏洞利用程序公布平台中最新的漏洞利用程序信息不一定具有当前漏洞标识对应的漏洞利用程序。
因此,漏洞检测服务器会判断最新的漏洞利用程序信息中多个漏洞标识中是否存在所述当前漏洞标识,若存在,则进入步骤s104;若不存在则进入步骤s102,持续从漏洞利用程序公布平台获取最新的漏洞利用程序信息。
在步骤s104中,若存在,则从所述多个漏洞利用程序中确定与所述当前漏洞标识对应的漏洞利用程序,利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态。
若最新的漏洞利用程序信息中多个漏洞标识中存在当前漏洞标识,则从最新的漏洞利用程序信息的多个漏洞利用程序中,确定与当前漏洞标识对应的漏洞利用程序。
待检测设备具有当前漏洞标识对应的漏洞,该漏洞利用程序为利用当前漏洞标识对应漏洞的漏洞利用程序,然后,利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态。
利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态,可以采用下述方式来实现:
漏洞检测服务器确定待检测设备中相同组件信息所需使用的ip地址和端口号码,然后发送所述待检测设备中所述相同组件信息对应的ip地址和端口号码至该漏洞利用程序。
然后漏洞利用程序会向待检测设备的ip地址和端口号码发起攻击,也即向待检测设备发送攻击,之后可以接收所述待检测设备发送的反馈结果。
在所述反馈结果为第一反馈结果的情况下,则确定所述待检测设备的修复状态为未修复成功。在所述反馈结果为第二反馈结果的情况下,则确定所述待检测设备的修复状态为修复成功。第一反馈结果为预先设定的用于表示待检测设备受到攻击的结果,第二反馈结果为预先设定的用于表示待检测设备未受到攻击的结果。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开可以对待检测设备进行漏洞检测,在待检测设备具有漏洞的情况下确定漏洞对应的当前漏洞标识,以及,对待检测设备执行与当前漏洞标识对应的漏洞修复。
为了真实获得利用待检测设备已有漏洞的漏洞利用程序,漏洞检测服务器会监测漏洞利用程序公布平台,获取最新的漏洞利用程序信息;其中最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识。
漏洞检测服务器判断所述多个漏洞标识中是否存在所述当前漏洞标识;若存在,则表示已经出现利用待检测设备已有漏洞的漏洞利用程序,所以从多个漏洞利用程序中确定与当前漏洞标识对应的漏洞利用程序,然后利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态。
漏洞利用程序可以利用系统漏洞来攻击待检测设备,以此来真实检测进行漏洞修复之后待检测设备。可以理解的是,待检测设备能够抵御漏洞利用程序的攻击,若能则表示修复状态较好,待检测设备不能够抵御漏洞利用程序的攻击,若能则表示修复状态不好。
本公开可以真实、准确地确定待检测设备的真实修复状态。
图3是根据一示例性实施例示出的一种漏洞修复状态检测系统的结构示意图。参见图3,漏洞修复状态检测系统包括:
一个或多个待检测设备100(图示中采用三个待检测设备作为示例);
与所述一个或多个待检测设备100相连的第一服务器200;
与所述一个或多个待检测设备100相连的第二服务器300;
与所述第一服务器和第二服务器相连的数据库服务器400。
其中,一个或多个待检测设备100中安装有客户端,第一服务器安装有服务端。
与所述数据库服务器400相连的漏洞检测服务器500;
与所述漏洞检测服务器500相连的漏洞公布平台600;
与所述漏洞检测服务器500相连的漏洞利用程序公布平台700。
其中,待检测设备100的客户端,被配置为利用可执行命令获取的多个标准组件信息,以及,在非标准组件的安装目录下获取的多个非标准组件信息,发送多个标准组件信息以及多个非标准组件信息至第一服务器;
第一服务器200,被配置为转发多个标准组件信息以及多个非标准组件信息至数据库服务器;
第二服务器300,被配置为采用通过外部程序扫描方式获取所述待检测设备对外开放的多个服务组件信息,发送多个服务组件信息至数据库服务器;
数据库服务器400,被配置为对多个服务组件信息、多个标准组件信息以及多个非标准组件信息进行去重操作,存储去重操作之后的多个服务组件信息、多个标准组件信息以及多个非标准组件信息;
漏洞检测服务器500,被配置为从数据库服务器获取待检测设备的组件信息集。
漏洞检测服务器500,还被配置为对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,以及,对所述待检测设备执行与所述当前漏洞标识对应的漏洞修复;监测漏洞利用程序公布平台,获取最新的漏洞利用程序信息;判断所述多个漏洞标识中是否存在所述当前漏洞标识;若存在,则从所述多个漏洞利用程序中确定与所述当前漏洞标识对应的漏洞利用程序,利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态。
其中,漏洞公布平台600为一个或多个专门收集漏洞的平台,互联网中会不定期出现一些漏洞,漏洞公布平台会收集漏洞。为了便于区分不同漏洞,漏洞公布平台为每个漏洞设置唯一标识。
组件可能会因为存在漏洞而被黑客攻击,导致组件瘫痪或出现异常,所以漏洞公布平台还会分析并确定每个漏洞对应的组件信息集,每个组件信息集包括存在漏洞标识对应漏洞的组件所具有的组件信息。
对于一个漏洞而言,漏洞公布平台会分析并且确定该漏洞所影响的多个组件,也即多个组件存在该漏洞,可能会被黑客所攻击。然后可以分别确定多个组件对应的多个组件信息,每个组件信息可以包括组件名称、组件标识和组件版本等信息,多个组件信息组成该漏洞的组件信息集。
其中,漏洞利用程序公布平台700,被配置为获取并存储最新的漏洞利用程序信息;其中,所述最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识,其中,所述漏洞利用程序用于利用系统漏洞来攻击所述待检测设备。
漏洞利用程序公布平台700为一个或多个专门用于收集漏洞利用程序的平台,在出现一个漏洞后,互联网中便会逐渐出现利用该漏洞的漏洞利用程序,漏洞利用程序用于利用系统漏洞来攻击所述待检测设备。
漏洞利用程序公布平台会收集漏洞利用程序,并将漏洞利用程序和漏洞对应的漏洞标识关联存储。也即一个漏洞对应一个漏洞标识,对应一个组件信息集,且,对应一个或多个漏洞利用程序。
漏洞利用程序公布平台会不断获取并存储最新的漏洞利用程序信息,其中,最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识。
关于漏洞修复状态检测系统的详细执行过程,在图4所示的实施例中进行详细描述。
图4是根据一示例性实施例示出的一种漏洞修复状态检测方法实施例二的流程图,包括以下步骤。
在步骤s401中,待检测设备的客户端利用可执行命令获取的多个标准组件信息,以及,在非标准组件的安装目录下获取的多个非标准组件信息。
客户端可以定时执行下面两个操作:
第一操作:客户端通过可执行命令可以获取待检测设备的多个标准组件信息,也即无需得知标准组件的安装目录,通过可执行命令可以一次获得多个标准组件信息,简单快捷。
第二操作:预先向客户端中存储有非标准组件的安装目录。为了更加全面的获得组件信息,还可以获取非标准组件信息。客户端可以直接在非标准组件的安装目录下获取多个非标准组件信息。非标准组件的安装目录可以有一个或多个,每个非标准组件的安装目录下,可以获取一个或多个非标准组件信息。
在步骤s402中,客户端发送多个标准组件信息以及多个非标准组件信息至第一服务器,第一服务器转发多个标准组件信息以及多个非标准组件信息至数据库服务器。
可以理解的是,不同组件由不同维护人员负责,所以在获取组件信息同时还可以一并获取维护人员信息。其中,所述标准组件信息包括组件标识、组件版本标识、组件地址信息和维护人员信息;所述非标准组件信息包括组件标识、组件版本标识、组件地址信息和维护人员信息。
客户端与第一服务器中的服务端通讯,以便发送多个标准组件信息以及多个非标准组件信息至第一服务器。
在步骤s403中,第二服务器采用通过外部程序扫描方式获取所述待检测设备对外开放的多个服务组件信息。
待检测设备中除了标准组件以及非标准组件之外,还具有对外开放的服务组件。例如,以服务组件为web应用为例,web应用以源码方式部署在待检测设备上,所以也无法通过可执行命令来获取,通过安装目录方式来获取不方便。
为此,对于待检测设备对外开放的服务组件,第二服务器可以开启外部程序扫描模式,对一个或多个待检测设备进行外部程序扫描,以便获得一个或多个待检测设备中对外开放的多个服务组件信息。
所述服务组件信息包括组件标识、组件版本标识、组件地址信息和维护人员信息。
在步骤s404中,第二服务器发送多个服务组件信息至数据库服务器。
在步骤s405中,数据库服务器对多个服务组件信息、多个标准组件信息以及多个非标准组件信息进行去重操作,存储去重操作之后的多个服务组件信息、多个标准组件信息以及多个非标准组件信息。
有一些服务组件也属于标准组件或非标准组件,所以服务组件与标准组件或非标准组件之间有重叠,为了避免重复,可以将主机信息、组件标识和组件版本标识三者作为主键,对多个服务组件信息、多个标准组件信息以及多个非标准组件信息进行去重操作。
本实施例中除了更加全面的获得待检测设备的组件信息、提升全面性之外,还可以对多种方式获取到的组件信息进行去重操作、避免冗余。
在步骤s406中,漏洞检测服务器从数据库服务器获取并存储待检测设备的组件信息集;其中,所述组件信息集包括利用可执行命令获取的多个标准组件信息,在非标准组件的安装目录下获取的多个非标准组件信息,以及,通过外部程序扫描方式获取所述待检测设备对外开放的多个服务组件信息。
在步骤s407中,漏洞检测服务器对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,以及,对所述待检测设备执行与所述当前漏洞标识对应的漏洞修复。
在步骤s408中,漏洞检测服务器监测漏洞利用程序公布平台,获取最新的漏洞利用程序信息;其中,所述最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识,其中,所述漏洞利用程序用于利用系统漏洞来攻击所述待检测设备。
在步骤s409中,漏洞检测服务器判断所述多个漏洞标识中是否存在所述当前漏洞标识。若存在,则进入步骤s410,若不存在则进入步骤s408。
在步骤s410中,若存在,则从所述多个漏洞利用程序中确定与所述当前漏洞标识对应的漏洞利用程序,利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态。
关于步骤s407~410可以参见步骤s101~104,在此不再赘述。
通过上述技术特征可知本申请具有以下有益效果:
本公开可以并存储待检测设备的组件信息集,组件信息集中不仅具有通过可执行命令方式获取的多个标准组件信息,还具有在非标准组件的安装目录下获取的多个非标准组件,以及,对外开放的服务组件。
本公开中的组件信息集既有标准组件的组件信息、非标准组件的组件信息又有对外开放的服务组件,使得待检测设备的组件信息集更加全面,从而可以更加全面的对待检测设备进行漏洞监测,提升漏洞监测的全面性。
此外,本公开可以对待检测设备进行漏洞检测,在待检测设备具有漏洞的情况下确定漏洞对应的当前漏洞标识,以及,对待检测设备执行与当前漏洞标识对应的漏洞修复。
为了真实获得利用待检测设备已有漏洞的漏洞利用程序,漏洞检测服务器会监测漏洞利用程序公布平台,获取最新的漏洞利用程序信息;其中最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识。
漏洞检测服务器判断所述多个漏洞标识中是否存在所述当前漏洞标识;若存在,则表示已经出现利用待检测设备已有漏洞的漏洞利用程序,所以从多个漏洞利用程序中确定与当前漏洞标识对应的漏洞利用程序,然后利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态。
漏洞利用程序可以利用系统漏洞来攻击待检测设备,以此来真实检测进行漏洞修复之后待检测设备。可以理解的是,待检测设备能够抵御漏洞利用程序的攻击,若能则表示修复状态较好,待检测设备不能够抵御漏洞利用程序的攻击,若能则表示修复状态不好。
本公开可以真实、准确地确定待检测设备的真实修复状态。
图5是根据一示例性实施例示出的一种用于漏洞修复状态检测方法的装置500的框图。例如,装置500可以被提供为一服务器。参照图5,装置500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述漏洞修复状态检测方法。装置500还可以包括一个电源组件526被配置为执行装置500的电源管理,一个有线或无线网络接口550被配置为将装置500连接到网络,和一个输入输出(i/o)接口558。装置500可以操作基于存储在存储器532的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。
关于漏洞修复状态检测方法可以详见图1和图4所示的实施例,在此不再赘述。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由装置500的处理组件522执行以完成上述漏洞修复状态检测方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
关于漏洞修复状态检测方法可以详见图1和图4所示的实施例,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
1.一种漏洞修复状态检测方法,其特征在于,包括:
对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,以及,对所述待检测设备执行与所述当前漏洞标识对应的漏洞修复;
监测漏洞利用程序公布平台,获取最新的漏洞利用程序信息;其中,所述最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识,其中,所述漏洞利用程序用于利用系统漏洞来攻击所述待检测设备;
判断所述多个漏洞标识中是否存在所述当前漏洞标识;
若存在,则从所述多个漏洞利用程序中确定与所述当前漏洞标识对应的漏洞利用程序,利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态。
2.如权利要求1所述的漏洞修复状态检测方法,其特征在于,所述对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,包括:
监测漏洞公布平台并获取最新漏洞信息;其中,所述最新漏洞信息包括多个最新漏洞标识以及多个最新漏洞标识对应的多个组件信息集,每个组件信息集包括存在漏洞标识对应漏洞的组件所属的组件信息;
获取所述待检测设备的组件信息集;
若所述待检测设备的组件信息集与所述最新漏洞信息具有相同组件信息,则确定所述待检测设备具有漏洞;
确定所述相同组件信息对应漏洞的当前漏洞标识。
3.如权利要求2所述的漏洞修复状态检测方法,其特征在于,所述利用该漏洞利用程序验证所述待检测设备并获得所述待检测设备的修复状态,包括:
发送所述待检测设备中所述相同组件信息对应的ip地址和端口号码至该漏洞利用程序;
在该漏洞利用程序向待检测设备的ip地址和端口号码发起攻击之后,接收所述待检测设备发送的反馈结果;
在所述反馈结果为第一反馈结果的情况下,则确定所述待检测设备的修复状态为未修复成功;
在所述反馈结果为第二反馈结果的情况下,则确定所述待检测设备的修复状态为修复成功。
4.如权利要求2所述的漏洞修复状态检测方法,其特征在于,所述待检测设备的组件信息集包括:
多个非标准组件信息,多个标准组件信息以及多个服务组件信息;
其中,非标准组件为未安装于所述待检测设备指定安装路径下的组件;
标准组件为安装于所述待检测设备指定安装路径下的组件;
服务组件为部署于待检测设备相连的服务器并为待检测设备提供服务的服务组件。
5.如权利要求4所述的漏洞修复状态检测方法,其特征在于,所述获取所述待检测设备的组件信息集包括:从数据库服务器获取待检测设备的组件信息集;
其中,所述数据库服务器用于:
接收第一服务器利用可执行命令获取待检测设备的多个标准组件信息,和,在非标准组件的安装目录下获取待检测设备的多个非标准组件信息;以及,
接收第二服务器通过外部程序扫描方式获取所述待检测设备对外开放的多个服务组件信息;
对多个服务组件信息、多个标准组件信息以及多个非标准组件信息进行去重操作,存储去重操作之后的多个服务组件信息、多个标准组件信息以及多个非标准组件信息。
6.一种漏洞修复状态检测系统,其特征在于,包括:一个或多个待检测设备,漏洞利用程序公布平台,以及,漏洞检测服务器;
漏洞利用程序公布平台,被配置为获取并存储最新的漏洞利用程序信息;其中,所述最新的漏洞利用程序信息包括多个漏洞利用程序以及对应的多个漏洞标识,其中,所述漏洞利用程序用于利用系统漏洞来攻击所述待检测设备;
漏洞检测服务器,被配置为对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,以及,对所述待检测设备执行与所述当前漏洞标识对应的漏洞修复;监测漏洞利用程序公布平台,获取最新的漏洞利用程序信息;判断所述多个漏洞标识中是否存在所述当前漏洞标识;若存在,则从所述多个漏洞利用程序中确定与所述当前漏洞标识对应的漏洞利用程序,利用该漏洞利用程序检测所述待检测设备并获得所述待检测设备的修复状态。
7.如权利要求6所述的漏洞修复状态检测系统,其特征在于,还包括:
漏洞公布平台,用于获取并存储最新漏洞信息;其中,所述最新漏洞信息包括具有最新漏洞的组件对应的组件信息;
所述漏洞检测服务器对待检测设备进行漏洞检测,在所述待检测设备具有漏洞的情况下确定所述漏洞对应的当前漏洞标识,具体包括:
所述漏洞检测服务器,被配置为监测漏洞公布平台并获取最新漏洞信息;获取所述待检测设备的组件信息集;若所述组件信息集与所述最新漏洞信息具有相同组件信息,则确定所述待检测设备具有漏洞;确定所述相同组件信息对应漏洞的当前漏洞标识。
8.如权利要求7所述的漏洞修复状态检测系统,其特征在于,所述漏洞检测服务器利用该漏洞利用程序验证所述待检测设备并获得所述待检测设备的修复状态,具体包括:
所述漏洞检测服务器,被配置为发送所述待检测设备中所述相同组件信息对应的ip地址和端口号码至该漏洞利用程序;在该漏洞利用程序向待检测设备的ip地址和端口号码发起攻击之后,接收所述待检测设备发送的反馈结果;在所述反馈结果为第一反馈结果的情况下,则确定所述待检测设备的修复状态为未修复成功;在所述反馈结果为第二反馈结果的情况下,则确定所述待检测设备的修复状态为修复成功。
9.如权利要求7所述的漏洞修复状态检测系统,其特征在于,所述待检测设备的组件信息集包括:
多个非标准组件信息,多个标准组件信息以及多个服务组件信息;
其中,非标准组件为未安装于所述待检测设备指定安装路径下的组件;
标准组件为安装于所述待检测设备指定安装路径下的组件;
服务组件为部署于待检测设备相连的服务器并为待检测设备提供服务的服务组件。
10.如权利要求9所述的漏洞修复状态检测系统,其特征在于,还包括:
与所述一个或多个待检测设备相连的第一服务器;
与所述一个或多个待检测设备相连的第二服务器;
与所述第一服务器和第二服务器相连的数据库服务器;
其中,一个或多个待检测设备中安装有客户端,第一服务器安装有服务端;
待检测设备的客户端,被配置为利用可执行命令获取的多个标准组件信息,以及,在非标准组件的安装目录下获取的多个非标准组件信息,发送多个标准组件信息以及多个非标准组件信息至第一服务器;
第一服务器,被配置为转发多个标准组件信息以及多个非标准组件信息至数据库服务器;
第二服务器,被配置为采用通过外部程序扫描方式获取所述待检测设备对外开放的多个服务组件信息,发送多个服务组件信息至数据库服务器;
数据库服务器,被配置为对多个服务组件信息、多个标准组件信息以及多个非标准组件信息进行去重操作,存储去重操作之后的多个服务组件信息、多个标准组件信息以及多个非标准组件信息;
漏洞检测服务器,被配置为从数据库服务器获取待检测设备的组件信息集。
技术总结