掌桥专利:专业的专利平台
掌桥专利
首页

一种漏洞处理方法及相关设备

文献发布时间:2023-06-19 11:52:33


一种漏洞处理方法及相关设备

技术领域

本申请实施例涉及计算机网络技术领域,特别涉及一种漏洞处理方法及相关设备。

背景技术

漏洞,也被称为脆弱性(Vulnerability)是指在计算机系统安全方面的缺陷,使得计算机系统或其应用数据的保密性、完整性、可用性、访问控制等面临威胁。漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷。漏洞可能来自应用软件或操作系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。这些缺陷、错误或不合理之处可能被有意或无意地利用,从而对一个组织的资产或运行造成不利影响,因此需要对漏洞的风险进行判断。

现有获取主机漏洞信息的方式是获取主机上已安装的应用软件的版本,然后在漏洞库中查询已安装的应用软件的版本对应的漏洞信息,从而得到主机的漏洞信息,其中漏洞库是应用软件提供商或者第三方机构发布的,漏洞信息包括漏洞标识和相关漏洞描述信息。

但是,上述获取主机的漏洞信息的方案可能存在误报,即生成的主机的漏洞信息中包括一些实际上无法被攻击者利用的漏洞信息。较高的误报率或误报数量会造成一系列不利影响,例如网络管理员的精力被分散在大量的误报中,而无法及时消除真正具有威胁的漏洞。

发明内容

本申请实施例提供了一种漏洞处理方法及相关设备,能够提升漏洞风险分析的准确性。

本申请实施例第一方面提供了一种漏洞处理方法,该方法包括:主机设备获取第一漏洞标识,该第一漏洞标识用于指示主机设备上安装的第一应用软件中存在第一漏洞。然后主机设备根据第一漏洞标识获取第一漏洞的补丁描述信息,该补丁描述信息用于描述补丁程序被计算机安装后计算机软件运行环境的特点。主机设备根据第一漏洞的补丁描述信息以及第一主机设备当前的软件运行环境,确定主机设备是否已安装第一漏洞对应的补丁程序。主机设备根据主机设备是否已安装补丁程序的确定结果,确定第一漏洞的风险。

本申请实施例中,主机设备根据第一漏洞的补丁描述信息,确定主机设备是否已安装第一漏洞对应的补丁程序,再根据主机设备是否已安装第一漏洞对应的补丁程序的确定结果,确定第一漏洞的风险。可以准确分析漏洞是否有风险,避免已经打过补丁的漏洞被认为有风险,提升漏洞风险分析的准确性。

可选地,在第一方面的一种可能的实现方式中,上述步骤:主机设备根据主机设备是否已安装补丁程序的确定结果,确定第一漏洞的风险,包括:如果确定结果为主机设备已安装补丁程序,则主机设备确定第一漏洞对应低风险值,该低风险值指示风险低于警示阈值。

该种可能的实现方式中,如果主机设备已安装补丁程序,主机设备确定第一漏洞属于低风险的漏洞。从而向用户提示第一漏洞被利用的风险低,从而向用户提供关于漏洞风险的有区分度的信息,或者省略向用户提示低风险的漏洞,便于降低用户对低风险的漏洞的关注度。

可选地,在第一方面的一种可能的实现方式中,上述步骤:主机设备根据主机设备是否已安装补丁程序的确定结果,确定第一漏洞的风险,包括:如果确定结果为主机设备未安装补丁程序,则主机设备确定第一漏洞对应高风险值,该高风险值指示风险高于警示阈值。

该种可能的实现方式中,如果主机设备未安装补丁程序,主机设备确定第一漏洞属于高风险的漏洞,从而向用户提示第一漏洞被利用的风险高,从而向用户提供关于漏洞风险的有区分度的信息。或者省略向用户提示低风险的漏洞,而仅向用户提示高风险的漏洞,这样,使得用户集中关注高风险的漏洞,如仅针对高风险的漏洞下载对应补丁程序,减少了用户的工作量。

可选地,在第一方面的一种可能的实现方式中,上述步骤:主机设备根据主机设备是否已安装补丁程序的确定结果,确定第一漏洞的风险之后,方法还包括:主机设备向管理设备发送确定结果。

该种可能的实现方式中,主机设备根据主机设备是否已安装补丁程序的确定结果,确定第一漏洞的风险之后,主机设备向管理设备发送确定结果。这样管理设备能够根据确定结果标记主机设备上第一漏洞的风险高低。为管理设备进一步分析提供依据,例如管理设备根据主机设备上高风险漏洞和低风险漏洞的分析情况,分析主机设备的整体风险,或者管理设备根据确定结果有针对性地向主机推送高风险漏洞需要的补丁程序。

可选地,在第一方面的一种可能的实现方式中,上述步骤:主机设备根据第一漏洞的补丁描述信息以及所述主机设备当前的软件运行环境,确定主机设备是否已安装补丁程序,包括:如果所述主机设备当前的软件运行环境具有第一漏洞的补丁描述信息所描述的特点,则主机设备确定主机设备已安装补丁程序。如果主机设备当前的软件运行环境不具有第一漏洞的补丁描述信息所描述的特点,则主机设备确定主机设备未安装补丁程序。

该种可能的实现方式中,根据主机设备当前的软件运行环境是否具有第一漏洞的补丁描述信息所描述的特点来判断主机设备是否安装补丁程序。避免补丁程序的重复安装,提升后期漏洞分析的准确性。

可选地,在第一方面的一种可能的实现方式中,上述步骤:主机设备根据主机设备是否已安装补丁程序的确定结果,确定第一漏洞的风险之后,还包括:主机设备标记第一漏洞对应的风值险。

该种可能的实现方式中,主机设备根据主机设备是否已安装补丁程序的确定结果,确定第一漏洞的风险之后,标记第一漏洞对应的风险值。一方面识别出实际上无风险的漏洞,从而降低误报。另一方面识别出高风险的漏洞,从而及时向用户提示风险。

可选地,在第一方面的一种可能的实现方式中,上述步骤:补丁描述信息包括注册表信息、文件系统目录信息、配置文件信息和应用软件哈希值中的至少一种。

该种可能的实现方式提升了方案的可实现性。

本申请实施例第二方面提供一种漏洞处理方法,该方法包括:管理设备接收主机设备发送的确定结果,该确定结果用于表示主机设备是否已安装第一漏洞对应的补丁程序,第一漏洞为主机设备上安装的第一应用软件中存在的漏洞。管理设备根据确定结果,标记主机设备上第一漏洞的风险。

本申请实施例中,管理设备接收主机设备发送的确定结果,根据主机设备是否已安装第一漏洞对应的补丁程序的确定结果,标记主机设备上第一漏洞的风险。上述确定结果为管理设备进一步分析提供依据,例如管理设备根据主机设备上高风险漏洞和低风险漏洞的分析情况,分析主机设备的整体风险,或者管理设备根据确定结果有针对性地向主机推送高风险漏洞需要的补丁程序。

可选地,在第二方面的一种可能的实现方式中,上述步骤:管理设备根据确定结果,标记主机设备上第一漏洞的风险,包括:如果确定结果表示主机设备已安装补丁程序,则管理设备标记主机设备上第一漏洞对应低风险值,低风险值指示风险低于警示阈值。

该种可能的实现方式中,管理设备如果确定结果表示主机设备已安装补丁程序,则标记主机设备上第一漏洞对应低风险值。提升了管理设备对于主机设备管理的精细度。

可选地,在第二方面的一种可能的实现方式中,上述步骤:管理设备根据确定结果,标记主机设备上第一漏洞的风险,包括:如果确定结果表示主机设备未安装补丁程序,则管理设备标记主机设备上第一漏洞对应高风险值,高风险值指示风险高于警示阈值。

该种可能的实现方式中,管理设备如果确定结果表示主机设备未安装补丁程序,则标记主机设备上第一漏洞对应高风险值。这样,管理设备能够仅关注高风险的漏洞,如仅针对高风险的漏洞下载对应补丁程序,减少了管理设备对低风险漏洞下载补丁程序的工作量。

可选地,在第二方面的一种可能的实现方式中,上述步骤:管理设备接收主机设备发送的确定结果之前,还包括:管理设备接收主机设备发送的第一应用软件信息,第一应用软件信息包括第一应用软件的标识或第一应用软件的版本号。管理设备根据第一应用软件信息,在漏洞库中查询第一应用软件信息对应的至少一个漏洞标识,漏洞库中保存有第一应用软件信息和至少一个漏洞标识的对应关系。管理设备向主机设备发送至少一个漏洞标识。

该种可能的实现方式中,管理设备可以根据接收到主机设备发送的第一应用软件信息,向主机设备发送第一应用软件信息对应的漏洞标识。方便管理设备统一管理主机设备。

本申请第三方面提供一种主机设备,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的模块或单元。

本申请第四方面提供一种管理设备,用于执行上述第二方面或第二方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行上述第二方面或第二方面的任意可能的实现方式中的方法的模块或单元。

本申请第五方面提供一种主机设备,该主机设备包括至少一个处理器、存储器和通信接口。处理器与存储器和通信接口耦合。存储器用于存储指令,处理器用于执行该指令,通信接口用于在处理器的控制下与管理设备进行通信。该指令在被处理器执行时,使处理器执行第一方面或第一方面的任意可能的实现方式中的方法。

本申请第六方面提供一种管理设备,该管理设备包括至少一个处理器、存储器和通信接口。处理器与存储器和通信接口耦合。存储器用于存储指令,处理器用于执行该指令,通信接口用于在处理器的控制下与主机设备进行通信。该指令在被处理器执行时,使处理器执行第二方面或第二方面的任意可能的实现方式中的方法。

本申请第七方面提供了一种计算机存储介质,该计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式、第二方面或第二方面的任意可能的实现方式中的方法。

本申请第八方面提供了一种计算机程序产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式、第二方面或第二方面的任意可能的实现方式中的方法。

本申请第九面提供一种漏洞的处理系统,包括管理设备和至少一个主机设备;管理设备用于接收主机设备发送的第一应用软件信息,第一应用软件信息包括第一应用软件的标识或第一应用软件的版本号;管理设备还用于根据第一应用软件信息,在漏洞库中查询第一应用软件信息对应的至少一个漏洞标识,漏洞库中保存有第一应用软件信息和至少一个漏洞标识的对应关系。管理设备还用于向主机设备发送至少一个漏洞标识。主机设备用于向管理设备发送第一应用软件信息,主机设备还用于接收管理设备发送的至少一个漏洞标识,主机设备还用于向管理设备发送确定结果,确定结果用于表示主机设备是否已安装第一漏洞对应的补丁程序,第一漏洞为主机设备上安装的第一应用软件中存在的漏洞。

其中,第三、第五、第七、第八方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。

其中,第四、第六、第八、第八方面或者其中任一种可能实现方式所带来的技术效果可参见第二方面或第二方面不同可能实现方式所带来的技术效果,此处不再赘述。

附图说明

图1为本申请实施例中的漏洞处理系统的应用场景示意图;

图2为本申请实施例中漏洞处理方法一个流程示意图;

图3为本申请实施例中差异文件的创建过程示意图;

图4为本申请实施例中漏洞处理方法另一流程示意图;

图5为本申请实施例中主机设备一个结构示意图;

图6为本申请实施例中主机设备另一结构示意图;

图7为本申请实施例中管理设备一个结构示意图;

图8为本申请实施例中管理设备另一结构示意图;

图9为本申请实施例中管理设备另一结构示意图;

图10为本申请实施例中主机设备另一结构示意图。

具体实施方式

本申请实施例提供了一种漏洞处理方法及相关设备。基于该方法,主机设备获得漏洞标识(该漏洞标识用于指示本主机设备上所安装的应用软件中存在的漏洞)后,根据漏洞标识获取对应的补丁描述信息,从而确定本主机设备是否已安装用于修补该漏洞的补丁程序,根据确定结果进一步确定漏洞的风险,从而提升了漏洞风险分析的准确性。根据场景的不同,在主机设备执行上述方法的过程中可能需要一个或多个其他设备的配合。

下面将结合各个附图对本申请技术方案的实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。

附图1为本申请实施例提供的漏洞处理系统的应用场景示意图。请参阅图1,本申请实施例中的漏洞处理系统中包括:管理设备101,以及至少一个主机设备。为简明起见,仅以一个管理设备101以及三个主机设备102至104为例进行示意性说明。在实际应用中,本申请实施例的应用场景中有更多的管理设备或者没有管理设备,或本申请实施例的应用场景中至少有一个主机设备。本申请实施例对主机设备的数目不进行限定。其中,管理设备101通过网络与主机设备102至104连接。

可选地,管理设备101通过局域网与主机设备102至104连接,或管理设备101通过因特网与主机设备102至104连接。可选地,用于连接管理设备101与主机设备102至104的网络为因特网(internet)、物联网或无线热点(wireless fidelity,WiFi)网络等网络,具体此处不做限定。

管理设备101以及主机设备102至104之间可以通过有线网络连接,也可以通过无线网络连接。如果是通过有线网络连接,一般的连接方式为光纤网络;如果是通过无线网络连接,一般的连接方式为WiFi网路,或者为蜂窝状无线网络,或者是其他类型的无线网络。

可选地,主机设备102至104是个人计算机、服务器、笔记本电脑、虚拟机、可穿戴设备、手机、智慧屏电视、扫地机器人、投影仪、平板电脑、交换机、无线接入点(access point,AP)设备、智能摄像头、婴儿监视器、家庭路由器等等具备计算能力和网络连接能力的设备。主机设备中安装有代理程序(agent)。代理程序是指用于实现预定功能的小程序。代理程序通常支持与指定网际互联协议(Internet Protocol,IP)地址的通信对端设备上安装的管理程序(master)进行交互,例如接收管理程序发送的指令、根据指令执行对应功能、以及向管理程序发送数据等等。

管理设备101是个人计算机、服务器等具备一定计算能力、存储能力和网络连接能力的设备。管理设备安装有管理程序(master)。

管理设备101的主要功能是管理主机设备102至104,向主机设备102至104下发指令以及接收主机设备102至104上报的数据等。

主机设备102至104的主要功能是安全检测以及响应管理设备101。

下面结合图1所示的应用场景,对本申请实施例提供的漏洞处理方法进行描述。

本申请实施例中提供了多种漏洞处理方法,例如主机设备与管理设备交互实现的漏洞处理方法、或主要由主机设备执行的漏洞处理方法等等,下面分别描述。

一、主机设备与管理设备交互实现的漏洞处理方法。

图2是本申请实施例提供的漏洞处理方法的流程示意图。在本实施例中,管理设备通过以局域网为例的网络与主机设备连接。

200,主机设备向管理设备发送的第一应用软件信息。

第一软件信息用于描述主机设备上安装的第一应用软件。本申请实施例中出现的“第一”、“第二”仅是为了区分不同对象,而不表示顺序关系。例如“第一应用软件”中的“第一”是为了与其他应用软件相区分。

可选地,第一应用软件信息包括第一应用软件的标识,和/或第一应用软件的版本号。

201、管理设备获取第一应用软件信息对应的漏洞标识。

本实施例中,管理设备获取第一应用软件信息对应的漏洞标识的方式有很多种,下面分别描述。

方式1、管理设备从第一云设备上获取第一应用软件信息对应的漏洞标识。具体地,管理设备向主机设备发送软件信息获取指令。主机设备根据该获取指令向管理设备发送第一应用软件信息。管理设备获得第一应用软件信息后,从第一云设备上获取第一应用软件信息对应的漏洞标识。

本申请实施例中,第一应用软件为主机设备上安装的应用软件。示例性的,第一应用软件为奥多比阅读器(adobe reader),第一应用软件的版本号为11.0.0.379。可以理解的是此处是举例,第一应用软件还可以是其他应用软件,具体此处不做限定。

可选地,第一应用软件信息包括第一应用软件的标识(identity document,ID)、第一应用软件的版本号、第一应用软件的厂商名称等其他与第一应用软件相关的参数中的至少一种,具体此处不做限定。

管理设备接收主机设备发送的第一应用软件信息。管理设备向第一云设备发送第一应用软件信息。第一云设备中保存有第一漏洞库,第一漏洞库包括第一应用软件信息与漏洞标识的关联关系。

示例性的,第一漏洞库中的一个表项中包括第一应用软件的名称、第一应用软件的版本号、第一应用软件对应的漏洞列表之间的对应关系。这种对应关系可以表示为:

|adobe reader|11.0.0.379|CVE XXXXX、CVE MMMMM。

其中,CVE XXXXX、CVE MMMMM为漏洞标识。该表项用于表示名称为adobe reader的版本号为11.0.0.379的应用软件中存在两个漏洞,分别为CVE XXXXX和CVE MMMMM。

本申请实施例是以通用漏洞披露(Common Vulnerabilities and Exposures,CVE)为例对漏洞标识进行举例说明的。CVE是一个与资讯安全有关的数据库,收集各种资安弱点及漏洞并给予编号以便于公众查阅,该数据库现由美国非营利组织MITRE所属的国家网络安全联邦基金研发中心(National Cybersecurity FFRDC)所营运维护。漏洞标识也可以是中国国家信息安全漏洞库(china national vulnerability database ofinformation security,CNNVD)等漏洞库发布的漏洞标识。第一云设备根据管理设备发送的第一应用软件信息,从第一漏洞库中查找到包含第一应用软件信息对应的漏洞标识的表项。可选地,该表项中包括第一应用软件信息与漏洞标识的关联关系。第一应用软件信息与漏洞标识的关联关系为第一应用软件的ID与漏洞标识的关联关系或第一应用软件的版本号与漏洞标识的关联关系。此后,第一云设备向管理设备发送查找到的表项中包括的漏洞标识。正如前面所描述的,第一漏洞库是CVE,或CNNVD。

可选地,管理设备为了便于后续管理所需,基于第一软件信息与主机设备的标识,生成第一软件资产标识。主机设备的标识包括主机设备的IP地址、或者主机设备的媒体访问控制(Media Access Control,MAC)地址等等。第一软件资产标识与第一软件信息与主机的标识的组合相对应。这种对应关系可以表示为:

|12345|adobe reader|11.0.0.379|IP:10.0.0.123。

软件资产标识指示了一个特定主机上的第一应用软件,在上面的例子中软件资产标识为12345。该第一软件资产标识对应的是IP地址10.0.0.123上的adobe reader,且软件adobe reader的版本号为11.0.0.379。

第一软件资产标识在管理设备管理的范围内是唯一的。换句话说,当应用软件信息中包括应用软件名称和应用软件版本号时,如果主机设备的IP地址、应用软件名称和应用软件版本号三者中有一个不同,就需要使用两个不同的软件资产标识来分别表示。例如,需要使用两个不同的软件资产标识来表示同一主机设备上的两个不同的应用软件信息。

如:

|12345|adobe reader|11.0.0.379|IP:10.0.0.123。

|12346|adobe reader|11.0.0.380|IP:10.0.0.123。

例如,需要使用两个不同的软件资产标识来表示不同主机设备上的两个相同的应用软件信息。如:

|12345|adobe reader|11.0.0.379|IP:10.0.0.123。

|12347|adobe reader|11.0.0.380|IP:10.0.0.124。

管理设备基于第一云设备返回的漏洞标识在本地保存第一软件资产标识对应的漏洞标识,以便于后续资产管理所需,第一软件资产标识对应的漏洞标识表示为:

|12345|CVE XXXXX、CVE MMMMM。

管理设备在接收到主机设备发送的第一应用软件信息后,从第一云设备中查询到对应的漏洞标识,这样管理设备本地不需要保存第一漏洞库,从而节省管理设备的存储空间。

可选地,管理设备预先从第一云设备中整体下载第一漏洞库,并在本地保存下载的第一漏洞库。管理设备在接收到主机发送的第一应用软件信息后,在本地保存的第一漏洞库中查询第一应用软件信息对应的漏洞标识。换句话说,管理设备在接收主机设备发送的第一应用软件信息之前,管理设备从第一云设备获取第一漏洞库。主机设备向管理设备发送第一应用软件信息后,管理设备根据接收到的第一应用软件信息,进行本地数据库查询。这种方式与管理设备每次从主机设备上获得第一应用软件信息后,都需要从第一云设备中查询对应的漏洞标识的方式相比,可以减少管理设备与第一云设备的交互次数,从而缩短网络传输造成的时延,提高管理设备获得漏洞标识的速度。

方式2、管理设备通过扫描工具获取第一软件资产标识对应的漏洞标识。

管理设备通过扫描工具向主机设备发送探测报文,管理设备获取主机设备针对探测报文返回的应答报文,应答报文的内容能反映出漏洞信息。

管理设备在获得主机设备的应答报文后,管理设备根据应答报文从第二漏洞库中查询应答报文对应的漏洞标识,从而确定第一软件资产标识对应的漏洞标识。第二漏洞库中包括应答报文(或者说应答报文中特定字段的内容)与漏洞标识的对应关系。第二漏洞库由管理设备中的扫描工具所提供。第二漏洞库是安全专家根据网络系统安全漏洞、黑客攻击案例的分析和系统管理员关于网络系统安全配置的实际经验以及其他的内容,具体此处不做限定,综合形成的一个系统漏洞库。可选地,管理设备基于查询第二漏洞库得到漏洞标识在本地保存第一软件资产标识对应的漏洞信息,以便于后续资产管理所需,第一软件资产标识对应的漏洞标识表示为:

|12345|CVE XXXXX、CVE MMMMM。

202、管理设备向主机设备发送漏洞标识。

管理设备确定第一应用软件信息对应的漏洞标识后,管理设备向主机设备发送该漏洞标识。

可选地,当第一应用软件信息对应多个漏洞标识时,管理设备向主机设备逐个发送第一应用软件信息对应的漏洞标识,或者向主机设备逐个发送第一应用软件信息对应的所有漏洞标识。以前面实例中第一应用软件信息对应两个漏洞标识CVE XXXXX、CVE MMMMM为例:

|adobe reader|11.0.0.379|CVE XXXXX、CVE MMMMM。

管理设备向主机设备逐个发送CVE XXXXX、CVE MMMMM,或者一并发送CVE XXXXX和CVE MMMMM。

需要说明的是,图2中步骤200-步骤202是主机设备获得以CVE XXXXX或CVE MMMMM为例的第一漏洞标识的一种可能的实现方式。主机设备也可以采用其他方式获得第一漏洞标识,例如根据本地保存的第一漏洞库,或者漏洞扫描工具来确定第一漏洞标识。所述第一漏洞标识用于指示所述主机设备上安装的第一应用软件中存在第一漏洞。本申请实施例不限定主机设备获得第一漏洞标识的具体方式。

203、主机设备根据第一漏洞标识获取第一漏洞的补丁描述信息。

可选地,主机设备在获取第一漏洞标识后,主机设备向管理设备发送第一漏洞标识。在上面的例子中第一漏洞标识为CVE XXXXX、CVE MMMMM二者之一。管理设备向第二云设备发送第一漏洞标识。第二云设备保存有第一补丁描述信息库,第一补丁描述信息库中的表项中包括漏洞标识与补丁描述信息的关联关系。可选地,第二云设备与第一云设备为同一设备或不同设备。

可选地,管理设备在步骤201获取至少一个漏洞标识后,管理设备无需等待接收主机设备发送的漏洞标识,而是直接向第二云设备发送至少一个漏洞标识中的第一漏洞标识,以获取第一漏洞标识对应的补丁描述信息。管理设备根据第一软件资产标识,将获取的补丁描述信息推送给主机。

其中,补丁描述信息是第二云设备提前创建的。补丁描述信息用于描述补丁程序被计算机安装后计算机软件运行环境的特点。示例性的,计算机存在补丁(patch)日志文件:|adobe reader|11.0.0.379|CVE XXXXX|add/root/config/adobe/patchXXXXX.log。

可选地,补丁描述信息为差异(difference,DIFF)文件。DIFF文件的创建过程如图3所示,在一个隔离专用主机上的第一应用软件打补丁之前保留第一快照,在一个隔离专用主机上安装第一应用软件的补丁之后保留第二快照。第二云设备根据第一快照和第二快照生成DIFF文件。DIFF文件用于描述补丁程序被计算机安装前后计算机中第一应用软件的运行环境特点。其中,DIFF文件包括一个描述信息或多个描述信息。描述信息的具体情况由创建DIFF文件当时的需要所设置。可选地,DIFF文件中包括注册表变化、系统目录文件变化、配置文件变化、应用软件哈希变化等至少一种可以体现差异的特点。

计算机是指有计算能力的设备,主机设备为计算机中的一种。在某些场景下,计算机和主机指代同一概念。

第二云设备接收到管理设备发送的第一漏洞标识后,第二云设备根据第一漏洞标识,从第一补丁描述信息库中查询到包含接收到的漏洞标识对应的补丁描述信息的表项。第二云设备向管理设备发送该表项中包含的补丁描述信息。管理设备接收到补丁描述信息后,向主机设备发送该补丁描述信息。

可选地,管理设备预先从第二云设备中整体下载第一补丁描述信息库,并在本地保存下载的第一补丁描述信息库。管理设备获得漏洞标识后,在本地保存的第一补丁描述信息库中查询该漏洞标识对应的补丁描述信息(即第一漏洞的补丁描述信息)。换句话说,管理设备向主机设备发送第一漏洞的补丁描述信息之前,管理设备从第二云设备获取第一补丁描述信息库。管理设备在步骤201中获取第一软件资产标识对应的漏洞标识之后,进行本地数据库查询从而得到漏洞标识对应的补丁描述信息。这种方式与管理设备每次得到漏洞标识后,都需要从第二云设备中查询对应的补丁描述信息的方式相比,可以减少管理设备与第二云设备的交互次数,从而缩短网络传输造成的时延,提高管理设备获得补丁描述信息的速度。

204、主机设备根据第一漏洞的补丁描述信息,确定主机设备是否已安装第一漏洞对应的补丁程序。

主机设备获取到第一漏洞的补丁描述信息后,主机设备通过主机代理程序扫描主机设备当前的软件运行环境,从而确定主机设备当前的软件运行环境是否具有第一漏洞的补丁描述信息所描述的特点。其中,软件运行环境包括但不限于注册表、文件系统、操作系统进程列表、逻辑端口开启列表等等。

示例性的,步骤204中获取到第一漏洞的补丁描述信息有十项特点,主机设备通过主机代理程序扫描主机设备当前的软件运行环境,发现主机设备具有第一漏洞的补丁描述信息所描述的九项特点。这表明该主机设备的第一应用软件运行环境不具有第一漏洞的补丁描述信息所描述的特点,即主机设备未安装第一漏洞对应的补丁程序。

可选地,第一漏洞的补丁描述信息所描述的特点包括注册表的键值中存在一个预定键值对、或者预定子键值对。这个预定键值对、或者预定子键值对是因安装补丁程序而增加的、或者因安装补丁程序而置位的。

可选地,第一漏洞的补丁描述信息所描述的特点包括操作系统日志(log)文件中存在一个预定记录。该预定记录是因安装补丁程序而增加的。

可选地,第一漏洞的补丁描述信息所描述的特点包括一个预定文件系统路径中存在一个预定文件,该预定文件包括可执行文件或日志文件(如步骤203举例的patch日志文件)。这个预定文件系统路径中的预定文件是因安装补丁程序而增加的。类似地,第一漏洞的补丁描述信息所描述的特点包括一个预定文件系统路径中不存在一个预定文件,该预定文件是因安装补丁程序而被删除的。

示例性的,预定文件为patch日志文件,主机设备通过主机代理程序扫描主机设备当前的文件系统。如果扫描后发现主机设备当前的文件系统中存在patchXXXXX.log,则该主机设备当前的软件运行环境具有第一漏洞的补丁描述信息所描述的特点,即主机设备已安装第一漏洞对应的补丁程序。

本申请实施例中,如果主机设备含有补丁描述信息中所有的特点,则该主机设备当前的软件运行环境具有第一漏洞的补丁描述信息所描述的特点,即主机设备已安装第一漏洞对应的补丁程序。

205、主机设备根据主机设备是否已安装第一漏洞对应的补丁程序的确定结果,确定第一漏洞的风险。

如果主机设备没有安装第一漏洞对应的补丁程序,那就意味着该第一漏洞有被攻击者利用的风险,则主机设备确定该第一漏洞对应低风险值,低风险值指示风险低于警示阈值。如果主机设备已安装第一漏洞对应的补丁程序,那就意味着该第一漏洞为无法被攻击者利用的漏洞,则主机设备确定该第一漏洞对应高风险值,高风险值指示风险高于警示阈值。

可选地,风险值用数值表示,不同数值表示不同风险。一种可能性是数值越高表示风险越高,例如1表示风险高于警示阈值,0表示风险低于警示阈值。另一种可能性是数值越高表示风险越低,例如1表示风险低于警示阈值,0表示风险高于警示阈值。

可选地,风险值也可以用字母或字符串表示,例如用字母D或者字符串“dangerous”表示风险高于警示阈值,用字母S或者字符串“safe”表示风险低于警示阈值。

假定在本实施例中,风险值用数值表示、且1表示风险高于警示阈值,0表示风险低于警示阈值。主机设备确定漏洞标识CVE XXXXX对应的漏洞已安装对应的补丁程序,因此CVE XXXXX对应的低风险值0;漏洞标识CVE MMMMM对应的漏洞未安装对应的补丁程序,因此CVE XXXXX对应的高风险值1。

206、主机设备向管理设备发送确定结果。

在主机设备确定第一漏洞的风险后,主机设备向管理设备发送确定结果。确定结果包括第一漏洞对应的风险值。可选地,确定结果中还包括主机设备是否已安装第一漏洞对应的补丁程序的文字说明或者指示。

207、管理设备根据确定结果标记主机设备上第一漏洞的风险。

管理设备接收到的确定结果后,则管理设备为第一软件资产标识标记对应的确定结果。

继续上面的例子,假定管理设备接收到的漏洞标识CVE XXXXX对应的确定结果是“0,patch is installed”,该确定结果表示漏洞标识CVE XXXXX对应低风险值0,以及文字说明指明主机设备已安装CVE XXXXX对应的补丁程序。假定管理设备接收到的漏洞标识CVEMMMMM对应的确定结果是“1,patch is not installed”,该确定结果表示漏洞标识CVEMMMMM对应的高风险值1,以及文字说明指明主机设备未安装CVE MMMMM对应的补丁程序。

管理设备接收到上述确认结果后,为第一软件资产标识标记对应的确定结果,例如:

12345|CVE XXXXX:0,patch is installed|CVE MMMMM:1,patch is notinstalled。

本申请实施例中,主机设备针对一个漏洞,根据该漏洞对应的补丁描述信息来评估漏洞的威胁,从而提升漏洞分析的准确性,一方面识别出实际上无风险的漏洞,即已经安装过对应补丁程序的漏洞,从而降低误报;另一方面识别出高风险的漏洞,即未安装过对应补丁程序的漏洞,从而及时向用户提示风险。这样,主机设备的用户能够仅关注高风险的漏洞,如仅针对高风险的漏洞下载对应补丁程序,减少了用户的工作量。

二、主机设备实现的漏洞处理方法。

图4是本申请实施例提供的漏洞处理方法的流程示意图。在本实施例中,主机设备连接网络。

401、主机设备获取漏洞标识。

可选地,主机设备通过与另一网络设备的交互获取漏洞标识。例如主机设备向第三云设备发送第一应用软件信息。第三云设备中保存有第三漏洞库,第三漏洞库包括第一应用软件信息与第一漏洞标识的关联关系。

示例性的,第三漏洞库中的一个表项中包括第一应用软件的名称、第一应用软件的版本号、第一应用软件对应的漏洞列表之间的对应关系。这种对应关系可以表示为:

|adobe reader|11.0.0.379|CVE XXXXX、CVE MMMMM。

其中,CVE XXXXX、CVE MMMMM为漏洞标识。该表项用于表示名称为adobe reader的版本号为11.0.0.379的应用软件中存在两个漏洞,分别为CVE XXXXX和CVE MMMMM。

第三云设备根据主机设备发送的第一应用软件信息,从第三漏洞库中查找到包含第一应用软件信息对应的漏洞标识的表项。

可选地,该表项中包括第一应用软件信息与第一漏洞标识的关联关系。第一应用软件信息与第一漏洞标识的关联关系为第一应用软件的ID与第一漏洞标识的关联关系或第一应用软件的版本号与第一漏洞标识的关联关系。此后,第三云设备向主机设备发送查找到的表项中包括的第一漏洞标识。第三漏洞库与前面图2对应的实施例所描述的第一漏洞库类似,第三漏洞库是CVE,或CNNVD。

可选地,主机设备预先从第三云设备中整体下载第三漏洞库,并在本地保存下载的第三漏洞库。在本地保存的第三漏洞库中查询第一应用软件信息对应的第一漏洞标识。换句话说,在主机设备向第三云设备发送的第一应用软件信息之前,主机设备从第三云设备获取第三漏洞库。主机设备根据第一应用软件信息,进行本地数据库查询。这种方式与主机设备每次都需要从第三云设备中查询对应的漏洞标识的方式相比,可以减少主机设备与第三云设备的交互次数,从而缩短网络传输造成的时延,提高主机设备获得漏洞标识的速度。

需要说明的是,图4中步骤401是主机设备获得以CVE XXXXX或CVE MMMMM为例的第一漏洞标识的一种可能的实现方式。主机设备也可以采用其他方式获得第一漏洞标识,例如主机设备也可以根据本地保存的第三漏洞库来确定第一漏洞标识,或者漏洞扫描工具来确定第一漏洞标识。所述第一漏洞标识用于指示所述主机设备上安装的第一应用软件中存在第一漏洞。本申请实施例不限定主机设备获得第一漏洞标识的具体方式。

402、主机设备根据第一漏洞标识获取第一漏洞的补丁描述信息。

可选地,主机设备在获取第一漏洞标识后,主机设备向第四云设备发送第一漏洞标识。在上面的例子中第一漏洞标识为CVE XXXXX、CVE MMMMM二者之一。第四云设备保存有第二补丁描述信息库,第二补丁描述信息库中的表项中包括漏洞标识与补丁描述信息的关联关系。可选地,第四云设备与第三云设备为同一设备或不同设备。

其中,补丁描述信息是第四云设备提前创建的。补丁描述信息用于描述补丁程序被计算机安装后计算机软件运行环境的特点。示例性的,计算机存在补丁(patch)日志文件:|adobe reader|11.0.0.379|CVE XXXXX|add/root/config/adobe/patchXXXXX.log。

可选地,补丁描述信息为差异(difference,DIFF)文件。DIFF文件的创建过程如前述图3对应的描述类似,此处不再赘述。

第四云设备接收到主机设备发送的第一漏洞标识后,第四云设备根据第一漏洞标识,从第二补丁描述信息库中查询到包含接收到的漏洞标识对应的补丁描述信息的表项。第四云设备向主机设备发送该表项中包含的补丁描述信息。

可选地,主机设备预先从第四云设备中整体下载第二补丁描述信息库,并在本地保存下载的第二补丁描述信息库。在本地保存的第二补丁描述信息库中查询该漏洞标识对应的补丁描述信息(即第一漏洞的补丁描述信息)。

可选地,第二补丁描述信息库与第一补丁描述信息库为同一数据库或不同数据库。

403、主机设备根据第一漏洞的补丁描述信息,确定主机设备是否已安装第一漏洞对应的补丁程序。

404、主机设备根据主机设备是否已安装第一漏洞对应的补丁程序的确定结果,确定第一漏洞的风险。

本实施例中的步骤403和步骤404与前述图2所对应的步骤204和步骤205类似,此处不再赘述。

405、主机设备根据确定结果标记主机设备上第一漏洞的风险。

主机设备确定第一漏洞的风险后,则主机设备为第一软件资产标识标记对应的风险。例如:12345|CVE XXXXX:0,patch is installed|CVE MMMMM:1,patch is notinstalled。其中,“0,patch is installed”表示漏洞标识CVE XXXXX对应低风险值0,以及文字说明指明主机设备已安装CVE XXXXX对应的补丁程序。“1,patch is not installed”表示漏洞标识CVE MMMMM对应的高风险值1,以及文字说明指明主机设备未安装CVE MMMMM对应的补丁程序。

本申请实施例中,主机设备不依赖于管理设备完成漏洞处理,减少与管理设备之间交互所产生的数据传输,节省时间,从而更加有效率的进行上述漏洞处理流程。且主机设备针对一个漏洞,根据该漏洞对应的补丁描述信息来评估漏洞的威胁,从而提升漏洞分析的准确性,一方面识别出实际上无风险的漏洞,即已经安装过对应补丁程序的漏洞,从而降低误报;另一方面识别出高风险的漏洞,即未安装过对应补丁程序的漏洞,从而及时向用户提示风险。这样,主机设备的用户能够仅关注高风险的漏洞,如仅针对高风险的漏洞下载对应补丁程序,减少了用户的工作量。

上面对本申请实施例提供的漏洞处理方法进行了描述,下面对本申请实施例中的主机设备进行描述。图5是本申请实施例提供的主机设备的结构示意图,本申请实施例中主机设备包括获取单元501和确定单元502。可选地,图5所示的主机设备是图1、图2以及图4所描述的实施例中的主机设备。

获取单元501,用于获取第一漏洞标识,第一漏洞标识用于指示主机设备上安装的第一应用软件中存在第一漏洞。

获取单元501,还用于根据第一漏洞标识获取第一漏洞的补丁描述信息,补丁描述信息用于描述补丁程序被计算机安装后计算机软件运行环境的特点。

确定单元502,用于根据第一漏洞的补丁描述信息以及所述主机设备当前的软件运行环境,确定主机设备是否已安装第一漏洞对应的补丁程序。

确定单元502,还用于根据主机设备是否已安装补丁程序的确定结果,确定第一漏洞的风险。

本实施例中,主机设备中各单元所执行操作的详细过程与前述图2和图4所示实施例中描述的类似,此处不再赘述。

本实施例中,确定单元502根据第一漏洞的补丁描述信息,确定主机设备是否已安装第一漏洞对应的补丁程序,确定单元502再根据主机设备是否已安装第一漏洞对应的补丁程序的确定结果,确定第一漏洞的风险。可以准确分析漏洞是否有风险,避免已经打过补丁的漏洞被认为有风险,提升漏洞风险分析的准确性。

请参阅图6,本申请实施例中主机设备另一实施例包括:

获取单元601,用于获取第一漏洞标识,第一漏洞标识用于指示主机设备上安装的第一应用软件中存在第一漏洞。

获取单元601,还用于根据第一漏洞标识获取第一漏洞的补丁描述信息,补丁描述信息用于描述补丁程序被计算机安装后计算机软件运行环境的特点。

确定单元602,用于根据第一漏洞的补丁描述信息以及第一主机设备当前的软件运行环境,确定主机设备是否已安装第一漏洞对应的补丁程序。

确定单元602,还用于根据主机设备是否已安装补丁程序的确定结果,确定第一漏洞的风险。

本实施例中的主机设备还包括发送单元603。

发送单元603,用于向管理设备发送第一应用软件信息,第一应用软件信息包括第一应用软件的标识或第一应用软件的版本号。

发送单元603,还用于向管理设备发送确定结果,确定结果用于表示主机设备是否已安装第一漏洞对应的补丁程序,第一漏洞为主机设备上安装的第一应用软件中存在的漏洞。

确定单元602,具体用于如果主机设备当前的软件运行环境具有第一漏洞的补丁描述信息所描述的特点,则确定主机设备已安装补丁程序;如果主机设备当前的软件运行环境不具有第一漏洞的补丁描述信息所描述的特点,确定主机设备未安装补丁程序。

确定单元602,具体用于如果确定结果为主机设备已安装补丁程序,确定第一漏洞对应低风险值,低风险值指示风险低于警示阈值。如果确定结果为主机设备未安装补丁程序,确定第一漏洞对应高风险值,高风险值指示风险高于警示阈值。

补丁描述信息包括注册表信息、文件系统目录信息、配置文件信息和应用软件哈希值中的至少一种。

本实施例中,主机设备中各单元所执行操作的详细过程与前述图2和图4所示实施例中描述的类似,此处不再赘述。

图7是本申请实施例提供的管理设备的结构示意图。可选地,图7所示的管理设备为图1、图2所描述的实施例中的管理设备。图7所示的管理设备包括接收单元701和标记单元702。

接收单元701,用于接收主机设备发送的确定结果,确定结果用于表示主机设备是否已安装第一漏洞对应的补丁程序,第一漏洞为主机设备上安装的第一应用软件中存在的漏洞。

标记单元702,用于根据确定结果,标记主机设备上第一漏洞的风险。

本实施例中,管理设备中各单元所执行操作的详细过程与前述图2所示实施例中描述的类似,此处不再赘述。

本实施例中,接收单元701接收主机设备发送的确定结果,标记单元702根据主机设备是否已安装第一漏洞对应的补丁程序的确定结果,标记主机设备上第一漏洞的风险。可以准确分析漏洞是否有风险,避免已经打过补丁的漏洞被认为有风险,提升漏洞风险分析的准确性。

图8是本申请实施例提供的管理设备的另一结构示意图。

接收单元801,用于接收主机设备发送的确定结果,确定结果用于表示主机设备是否已安装第一漏洞对应的补丁程序,第一漏洞为主机设备上安装的第一应用软件中存在的漏洞。

标记单元802,用于根据确定结果,标记主机设备上第一漏洞的风险。

接收单元801,还用于接收主机设备发送的第一应用软件信息,第一应用软件信息包括第一应用软件的标识或第一应用软件的版本号。

接收单元801,还用于接收主机设备发送的确定结果。

本实施例中的管理设备还包括查询单元803。

查询单元803,用于根据第一应用软件信息,在漏洞库中查询第一应用软件信息对应的至少一个漏洞标识,漏洞库中保存有第一应用软件信息和至少一个漏洞标识的对应关系。

发送单元804,用于向主机设备发送至少一个漏洞标识。

本实施例中,管理设备中各单元所执行操作的详细过程与前述图2所示实施例中描述的类似,此处不再赘述。

如图9所示,为本申请实施例的又一种设备的结构示意图,该设备为管理设备。

图9是本申请实施例提供的一种管理设备结构示意图,该管理设备900可以包括一个或一个以上处理器(central processing units,CPU)901和存储器902,该存储器902中存储有一个或一个以上的操作系统和/或程序代码。

其中,存储器902可以是易失性存储或持久存储。存储在存储器902的程序可以包括一个或一个以上模块,每个模块可以包括对管理设备中的一系列指令操作。更进一步地,处理器901可以设置为与存储器902耦合,读取存储器902中的一系列指令后使得管理设备900执行上述实施例中描述的步骤和功能。

管理设备900还可以包括一个或一个以上电源,一个或一个以上有线或无线网络接口903,一个或一个以上输入输出接口904,输入输出接口904与以显示器905为例的输出设备连接,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。

该处理器901可以执行前述图7和图8所示实施例中管理设备所执行的操作,具体此处不再赘述。

在一些实施例中,管理设备的处理器901可以执行图7中标记单元702执行的动作,管理设备中的网络接口903可以执行图7中接收单元701执行的动作,其实现原理和技术效果类似,在此不再赘述。

在一些实施例中,管理设备的处理器901可以执行图8中标记单元802以及查询单元803执行的动作,管理设备中的网络接口903可以执行图8中接收单元801以及发送单元804执行的动作,其实现原理和技术效果类似,在此不再赘述。

如图10所示,为本申请实施例的又一种设备的结构示意图,该设备为主机设备。该主机设备1000可以包括一个或一个以上中央处理器(central processing units,CPU)1001和存储器1005,该存储器1005中存储有一个或一个以上的应用程序或数据。

其中,存储器1005可以是易失性存储或持久存储。存储在存储器1005的程序可以包括一个或一个以上模块,每个模块可以包括对网关设备中的一系列指令操作。更进一步地,中央处理器1001可以设置为与存储器1005耦合,读取存储器1005中的一系列指令后使得主机设备1000执行上述实施例中描述的步骤和功能。

主机设备1000还可以包括一个或一个以上电源1002,一个或一个以上有线或无线网络接口1003,一个或一个以上输入输出接口1004,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。

在一些实施例中,主机设备的中央处理器1001可以执行图5中确定单元502执行的动作,主机设备中的有线或无线网络接口1003或者输入输出接口1004可以执行图5中获取单元501执行的动作,其实现原理和技术效果类似,在此不再赘述。

在一些实施例中,主机设备的中央处理器1001可以执行图6中确定单元602执行的动作,主机设备中的有线或无线网络接口1003或者输入输出接口1004可以执行图6中获取单元601以及发送单元603执行的动作,其实现原理和技术效果类似,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种漏洞处理方法及相关设备
  • 一种与任务相关联的应用漏洞的处理方法、装置及系统
技术分类

06120113083626