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

配置漏洞补丁包的方法、服务器、终端设备及介质

文献发布时间:2023-06-19 13:49:36


配置漏洞补丁包的方法、服务器、终端设备及介质

技术领域

本公开涉及计算机技术领域,更具体地,涉及一种配置漏洞补丁包的方法、服务器、终端设备及介质。

背景技术

漏洞(vulnerabilities)是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷(flaw),从而可以使攻击者能够在未授权的情况下访问或破坏系统。

在实现本公开构思的过程中,发明人发现现有技术中至少存在如下问题:为了避免系统漏洞或软件漏洞等对于设备引起的危害,通常操作系统厂商会发布程序包以克服系统或应用软件存在的缺陷,将针对漏洞的程序包称为漏洞补丁包(vulnerabilitypatches)。然而现有的系统/软件漏洞补丁包的配置过程非常繁琐,需要设备定期检测漏洞,然后针对设备存在的漏洞从漏洞补丁数据库中获取对应的漏洞补丁包,自动化程度不高,并且还可能由于检测漏洞时存在漏检的情况导致未能安装合适的漏洞补丁包,从而导致出现信息安全风险。

发明内容

有鉴于此,本公开提供了一种配置漏洞补丁包的方法、服务器、终端设备及介质。

本公开的第一个方面提供了一种由服务器执行的配置漏洞补丁包的方法。上述方法可以包括:接收终端设备的待配置对象的属性信息,该待配置对象包括操作系统和/或应用软件。上述方法还可以包括:确定服务器的补丁数据库中是否存在针对待配置对象的漏洞补丁包集合,补丁数据库存储有实时发布的漏洞补丁包。上述方法还可以包括:响应于确定补丁数据库中存在针对待配置对象的漏洞补丁包集合,根据漏洞补丁包集合中每个漏洞补丁包的属性信息和待配置对象的属性信息确定漏洞补丁包集合中是否存在最新版漏洞补丁包。上述方法还可以包括:响应于确定漏洞补丁包集合中存在最新版漏洞补丁包,将最新版漏洞补丁包发送至终端设备。

根据本公开的实施例,上述由服务器执行的方法还可以包括以下至少一种:在确定补丁数据库中不存在针对待配置对象的漏洞补丁包集合的情况下,向终端设备发送不存在漏洞补丁包的通知;在确定漏洞补丁包集合中不存在最新版漏洞补丁包的情况下,向终端设备发送不存在漏洞补丁包的通知。

根据本公开的实施例,补丁数据库包括M个漏洞补丁包,M≥2;M个漏洞补丁包包括系统漏洞补丁包和软件漏洞补丁包。确定服务器的补丁数据库中是否存在针对待配置对象的漏洞补丁包集合,包括:根据M个漏洞补丁包的属性信息确定服务器的补丁数据库中是否存在针对待配置对象的漏洞补丁包集合。

根据本公开的实施例,根据漏洞补丁包集合中每个漏洞补丁包的属性信息和待配置对象的属性信息确定漏洞补丁包集合中是否存在最新版漏洞补丁包,可以包括:将漏洞补丁包集合中每个漏洞补丁包的属性信息与待配置对象的属性信息进行比对,确定漏洞补丁包集合中是否存在与待配置对象匹配的匹配漏洞补丁包。根据漏洞补丁包集合中每个漏洞补丁包的属性信息和待配置对象的属性信息确定漏洞补丁包集合中是否存在最新版漏洞补丁包,还可以包括:如果漏洞补丁包集合中存在与待配置对象匹配的匹配漏洞补丁包,则确定漏洞补丁包集合中存在最新版漏洞补丁包,并且匹配漏洞补丁包中发布时间最新的漏洞补丁包为最新版漏洞补丁包。根据漏洞补丁包集合中每个漏洞补丁包的属性信息和待配置对象的属性信息确定漏洞补丁包集合中是否存在最新版漏洞补丁包,还可以包括:如果漏洞补丁包集合中不存在与待配置对象匹配的匹配漏洞补丁包,则确定漏洞补丁包集合中不存在最新版漏洞补丁包。

根据本公开的实施例,操作系统的属性信息包括:系统名称、系统版本以及内核版本。应用软件的属性信息包括:系统名称、系统版本、内核版本、软件名称以及软件版本号。补丁数据库包括M个漏洞补丁包,M≥2;M个漏洞补丁包包括系统漏洞补丁包和软件漏洞补丁包。系统漏洞补丁包的属性信息包括:漏洞编号、补丁编号、漏洞补丁包名称、操作系统名称和系列、内核版本以及发布时间。软件漏洞补丁包的属性信息包括:漏洞编号、补丁编号、漏洞补丁包名称、操作系统名称和系列、内核版本、软件名称、软件版本号以及发布时间。

根据本公开的实施例,响应于确定漏洞补丁包集合中存在最新版漏洞补丁包,将最新版漏洞补丁包发送至终端设备,包括:在确定漏洞补丁包集合中存在最新版漏洞补丁包的情况下,根据最新版漏洞补丁包的补丁编号查找到最新版漏洞补丁包,并将最新版漏洞补丁包发送至终端设备。

本公开的第二个方面提供了一种由终端设备执行的漏洞补丁包配置的方法。上述方法可以包括:获取终端设备的待配置对象的属性信息,该待配置对象包括操作系统和/或应用软件。上述方法还可以包括:将获取的终端设备的待配置对象的属性信息发送给服务器。上述方法还可以包括:接收来自服务器的补丁数据库中的最新版漏洞补丁包或者来自服务器的不存在漏洞补丁包的通知。

根据本公开的实施例,上述由终端设备执行的方法还可以包括:对接收的最新版漏洞补丁包进行完整性校验。上述方法还可以包括:响应于最新版漏洞补丁包通过完整性校验,对最新版漏洞补丁包进行安全性校验。上述方法还可以包括:响应于最新版漏洞补丁包通过安全性校验,安装最新版漏洞补丁包,并将安装结果上报给服务器。

本公开的第三个方面提供了一种服务器。上述服务器包括:属性信息接收模块、漏洞补丁包集合确定模块、最新版漏洞补丁包确定模块以及漏洞补丁包发送模块。属性信息接收模块用于接收终端设备的待配置对象的属性信息,待配置对象包括操作系统和/或应用软件。漏洞补丁包集合确定模块用于确定服务器的补丁数据库中是否存在针对待配置对象的漏洞补丁包集合。最新版漏洞补丁包确定模块用于在确定补丁数据库中存在针对待配置对象的漏洞补丁包集合的情况下,根据漏洞补丁包集合中每个漏洞补丁包的属性信息和待配置对象的属性信息确定漏洞补丁包集合中是否存在最新版漏洞补丁包。漏洞补丁包发送模块用于在确定漏洞补丁包集合中存在最新版漏洞补丁包的情况下,将最新版漏洞补丁包发送至终端设备。

根据本公开的实施例,漏洞补丁包发送模块还用于在确定补丁数据库中不存在针对待配置对象的漏洞补丁包集合的情况下,向终端设备发送不存在漏洞补丁包的通知;和/或,在确定漏洞补丁包集合中不存在最新版漏洞补丁包的情况下,向终端设备发送不存在漏洞补丁包的通知。

本公开的第四个方面提供了一种终端设备。上述终端设备包括:属性信息获取模块、属性信息发送模块以及漏洞补丁包接收模块。属性信息获取模块用于获取终端设备的待配置对象的属性信息,待配置对象包括操作系统和/或应用软件。属性信息发送模块用于将获取的终端设备的待配置对象的属性信息发送给服务器。漏洞补丁包接收模块用于接收来自服务器的最新版漏洞补丁包或者不存在漏洞补丁包的通知。

根据本公开的实施例,上述终端设备还包括:完整性校验模块、安全性校验模块、漏洞补丁包安装模块以及结果上报模块。完整性校验模块用于对接收的最新版漏洞补丁包进行完整性校验。安全性校验模块用于在最新版漏洞补丁包通过完整性校验的情况下,对最新版漏洞补丁包进行安全性校验。漏洞补丁包安装模块用于在最新版漏洞补丁包通过安全性校验的情况下,安装最新版漏洞补丁包。结果上报模块用于将安装最新版漏洞补丁包的安装结果上报服务器。

本公开的第五个方面提供了一种电子设备。上述电子设备包括:一个或多个处理器;以及用于存储一个或多个程序的存储装置。其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现本公开提及的任一种方法。

本公开的第六个方面提供了一种计算机可读存储介质。该计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器实现本公开提及的任一种方法。

本公开的第七个方面提供了一种计算机程序产品。该计算机程序产品包括计算机可读指令,其中计算机可读指令被执行时用于实现本公开提及的任一种方法。

根据本公开的实施例,通过利用待配置对象的属性信息在补丁数据库中进行匹配查询,得到针对待配置对象的最新版漏洞补丁包,从而无需检测终端设备中是否存在漏洞,可以利用补丁数据库中实时发布的漏洞补丁包的信息,在检测到与待配置对象匹配的最新版漏洞补丁的情况下进行安装,实现漏洞补丁的自动化配置,可以至少部分地解决漏洞补丁配置繁琐的技术问题,并且避免了由于检测漏洞时存在漏检的情况未能安装合适的漏洞补丁包导致出现的信息安全问题,或者由于漏洞补丁包安装不及时导致的信息安全问题。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的配置漏洞补丁包的方法、服务器、终端设备及介质的应用场景;

图2示意性示出了根据本公开实施例的配置漏洞补丁包的方法中终端设备与服务器之间的通信过程示意图;

图3示意性示出了根据本公开实施例的由服务器执行的配置漏洞补丁包的方法的流程图;

图4示意性示出了根据本公开实施例的确定是否存在漏洞补丁包集合以及确定是否存在最新版漏洞补丁包的过程示意图;

图5示意性示出了根据本公开实施例的在补丁数据库中确定是否存在漏洞补丁数据包集合的示例性结果;

图6示意性示出了根据本公开实施例的在漏洞补丁数据包集合中确定是否存在匹配漏洞补丁包的示例性结果;

图7示意性示出了根据本公开实施例的在匹配漏洞补丁包中确定最新版漏洞补丁包的示例性结果;

图8示意性示出了根据本公开实施例的操作S23a的详细操作流程图;

图9示意性示出了根据本公开实施例的由终端设备执行的配置漏洞补丁包的方法的流程图;

图10示意性示出了根据本公开实施例的服务器的结构框图;

图11示意性示出了根据本公开实施例的终端设备的结构框图;以及

图12示意性示出了根据本公开实施例的电子设备的结构框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。术语“A和/或B”的含义表示只包括A,只包括B,或者同时包括A和B。

本公开的实施例提供了一种配置漏洞补丁包的方法、服务器、终端设备及计算机可读存储介质。通过利用待配置对象的属性信息在补丁数据库中进行匹配查询,得到针对待配置对象的最新版漏洞补丁包,从而无需检测终端设备中是否存在漏洞,可以利用补丁数据库中实时发布的漏洞补丁包的信息,在检测到与待配置对象匹配的最新版漏洞补丁的情况下进行安装,实现漏洞补丁的自动化配置。

本公开的第一个示例性实施例提供了一种由服务器执行的配置漏洞补丁包的方法。

图1示意性示出了根据本公开实施例的配置漏洞补丁包的方法、服务器、终端设备及介质的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

参照图1所示,本公开实施例的终端设备100可以是具有操作系统和应用软件的各种电子设备,包括但不限于智能手机、平板电脑、笔记本电脑和台式计算机等。例如为智能手机101、平板电脑102、或者笔记本电脑103等。

服务器200可以是提供各种服务的服务器,该服务器可以包括补丁数据库201或者可以从补丁数据库201中获取数据。服务器200例如是对用户利用终端设备10的系统更新和软件更新提供支持的服务器(仅为示例)。

参照图1所示,终端设备100与服务器200之间可以相互通信,以接收或发送消息、通知以及程序包等。可以通过有线、无线通信链路或者光纤电缆等方式实现通信。终端设备100上可以安装有各种应用软件(app),例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

相关技术中,终端设备上的操作系统或者应用软件中会存在缺陷,业内将这种缺陷称之为漏洞(vulnerabilities),操作系统或者应用软件中的漏洞会对终端设备产生信息安全威胁。为了克服上述缺陷,终端设备100通常需要定期进行漏洞扫描,以便检测出操作系统或应用软件中的漏洞。为了避免操作系统漏洞或应用软件漏洞等对于设备引起的危害,通常操作系统厂商会发布漏洞补丁包(vulnerability patches),以克服操作系统或应用软件存在的缺陷。一般而言,漏洞补丁包存储于补丁数据库中,用户可以通过特定的访问地址进行获取。当终端设备100进行漏洞扫描发现系统存在某个或某些漏洞时,该终端设备100会将有关漏洞的信息上报给服务器200,服务器200将漏洞补丁包下发给终端设备100。

然而,上述方式存在以下技术问题:(1)在终端设备100检测漏洞时,有时候存在漏检的情况导致未能安装合适的漏洞补丁包,从而导致出现信息安全风险;(2)终端设备定期检测漏洞,在检测出漏洞后才向服务器请求漏洞补丁包,这种情况可能导致漏洞补丁包安装不及时导致的信息安全问题。

有鉴于此,本公开的实施例提供了一种配置漏洞补丁包的方法,该方法涉及到服务器和终端设备两侧,单独一侧可以直接实施上述方法,下文的描述中结合图2及图3~图8来描述由服务器执行的配置漏洞补丁的方法,结合图2和图9来描述由终端设备执行的配置漏洞补丁的方法。

本公开的第一个示例性实施例提供了一种由服务器执行的配置漏洞补丁包的方法。

图2示意性示出了根据本公开实施例的配置漏洞补丁包的方法中终端设备与服务器之间的通信过程示意图。图3示意性示出了根据本公开实施例的由服务器执行的配置漏洞补丁包的方法的流程图。

参照图3中实线部分所示,本实施例的由服务器执行的配置漏洞补丁包的方法,包括操作:S21、S22、S23a以及S24a。

在操作S21,接收终端设备的待配置对象的属性信息,该待配置对象包括操作系统和/或应用软件。

在操作S22,确定服务器的补丁数据库中是否存在针对待配置对象的漏洞补丁包集合,补丁数据库存储有实时发布的漏洞补丁包。

在操作S23a,响应于确定补丁数据库中存在针对待配置对象的漏洞补丁包集合,根据漏洞补丁包集合中每个漏洞补丁包的属性信息和待配置对象的属性信息确定漏洞补丁包集合中是否存在最新版漏洞补丁包。

在操作S24a,响应于确定漏洞补丁包集合中存在最新版漏洞补丁包,将最新版漏洞补丁包发送至终端设备。

参照图2所示,根据本公开的实施例,在操作S21中,服务器200接收终端设备100的待配置对象的属性信息。终端设备100中包括操作系统100a和应用软件100b,应用软件100b的个数不进行限制,可以是1个、2个以及大于2个,在图2中以应用软件1、应用软件2来描述不同的应用软件。待配置对象可以包括操作系统100a,也可以包括应用软件100b,还可以是同时包括操作系统100a和应用软件100b。

根据本公开的实施例,补丁数据库201包括M个漏洞补丁包,M≥2;M个漏洞补丁包包括系统漏洞补丁包和软件漏洞补丁包。例如参照图2所示,为了可以同时对操作系统和应用软件配置漏洞补丁包,补丁数据库中的漏洞补丁包具有系统漏洞补丁包和软件漏洞补丁包两大类,系统漏洞补丁包的个数至少为1个,软件漏洞补丁包的个数至少为1个,在图2中分别以系统漏洞补丁包st1、系统漏洞补丁包st2示意不同的系统漏洞补丁包,以软件漏洞补丁包sf1、软件漏洞补丁包sf2示意不同的软件漏洞补丁包。

上述补丁数据库201存储有实时发布的漏洞补丁包,如此可以保证针对现有的终端设备中操作系统和/或应用软件中的存在的最新漏洞进行漏洞补丁包的自动化配置。另外,由于补丁数据库中的漏洞补丁包是实时发布的,除了可以保证漏洞补丁包的有效性之外,还能够基于上述操作S21、S22、S23a和S24a实现漏洞补丁包的实时更新,无需终端设备100进行漏洞检测,实现了漏洞安装包的及时安装和漏洞全面覆盖。

在操作S22中,服务器200的补丁数据库201的含义为:服务器200可以包括补丁数据库201,或者服务器200与补丁数据库201是相互独立且相互关联的,服务器200可以从补丁数据库201中获取信息。在图2中以服务器200包括补丁数据库201作为示例。

图4示意性示出了根据本公开实施例的确定是否存在漏洞补丁包集合以及确定是否存在最新版漏洞补丁包的过程示意图。图4中以大括号的形式表示针对某一个待配置对象或针对某一个漏洞补丁包的属性信息。

参照图4所示,根据本公开的实施例,确定服务器200的补丁数据库201中是否存在针对待配置对象的漏洞补丁包集合操作S22可以包括:根据M个漏洞补丁包的属性信息确定服务器的补丁数据库中是否存在针对待配置对象的漏洞补丁包集合。

根据本公开的实施例,待配置对象的属性信息用于描述待配置对象,是个多维度的参量,利用待配置对象的属性信息可以辨识出不同的待配置对象。

参照图4所示,操作系统100a的属性信息包括:系统名称、系统版本以及内核版本。针对某一个操作系统,该操作系统的属性信息可以表示为:{系统名称,系统版本,内核版本}。

应用软件100b的属性信息包括:系统名称、系统版本、内核版本、软件名称以及软件版本号。针对某一个应用软件,该应用软件的属性信息可以表示为:{系统名称,系统版本,内核版本,软件名称,软件版本号}。

系统漏洞补丁包的属性信息包括:漏洞编号、补丁编号、漏洞补丁包名称、操作系统名称和系列、内核版本以及发布时间。针对某一个系统漏洞补丁包,该系统漏洞补丁包的属性信息可以表示为:{漏洞编号,补丁编号,漏洞补丁包名称,操作系统名称和系列,内核版本,发布时间}。

软件漏洞补丁包的属性信息包括:漏洞编号、补丁编号、漏洞补丁包名称、操作系统名称和系列、内核版本、软件名称、软件版本号以及发布时间。针对某一个软件漏洞补丁包,该软件漏洞补丁包的属性信息可以表示为:{漏洞编号,补丁编号,漏洞补丁包名称,操作系统名称和系列,内核版本,软件名称,软件版本号以及发布时间}。

示例性的,例如,操作系统100a1的属性信息为:{linux,2.0,core1.0},操作系统100a2的属性信息为:{linux,3.0,core2.0},操作系统100a3的属性信息为:{windows(后续简称为win),10,core1.0},操作系统100a4的属性信息为:{ios,2.0,core3.0}。

例如,应用软件100b1的属性信息为:{linux,2.0,core1.0,qq,13.0},应用软件100b2的属性信息为:{win,10,core2.0,qq,13.0},应用软件100b3的属性信息为:{ios,5,core1.0,qq,12.0}。

图5示意性示出了根据本公开实施例的在补丁数据库中确定是否存在漏洞补丁数据包集合的示例性结果。

结合图4和图5所示,根据M个漏洞补丁包的属性信息确定服务器的补丁数据库中是否存在针对待配置对象的漏洞补丁包集合的过程实际上是从M个漏洞补丁包的属性信息中查找是否存在与待配置对象的名称匹配的属性信息的过程。这一过程得到的漏洞补丁包集合只是与待配置对象的名称匹配,系统版本、内核版本等信息并不进行考量,后续操作S23a中才会进一步考量其他属性维度。

在操作S22先确定是否存在针对待配置对象的漏洞补丁包集合,有助于采用较少的维度(名称一个维度)进行初筛,将不符合条件的漏洞补丁包筛除出去且筛选的效率高,后续在漏洞补丁包集合这一缩小的范围内利用操作S23a确定漏洞补丁包集合中是否存在最新版漏洞补丁包,基于多个维度实现进一步的筛选,从而能够全面且高效率地确定补丁数据库中是否存在最新版漏洞补丁包。

如果在M个漏洞补丁包的属性信息中查找到某个或某些漏洞补丁包的属性信息与待配置对象的名称匹配,则确定服务器的补丁数据库中存在针对待配置对象的漏洞补丁包集合。例如参照图5的示例,待配置对象的属性信息为{linux,10,core1.0},则从M个漏洞补丁包的属性信息中查找是否存在与linux系统匹配的漏洞补丁包,例如存在某一个或多个漏洞补丁包的属性信息为:{漏洞编号,补丁编号,漏洞补丁包名称,linux和系列,内核版本,发布时间}、{……,linux和系列,……}、以此类推,则确定服务器的补丁数据库中存在针对待配置对象的漏洞补丁包集合,该漏洞补丁包集合包括至少一个漏洞补丁包,例如这里以漏洞补丁包集合包括s个漏洞补丁包进行示例,s≥1。

如果在M个漏洞补丁包的属性信息中查找到所有的漏洞补丁包的属性信息与待配置对象的名称均不匹配,则确定服务器的补丁数据库中不存在针对待配置对象的漏洞补丁包集合。例如参照图5的示例,待配置对象的属性信息为{linux,10,core1.0},所有漏洞补丁包的属性信息均与linux系统不匹配,则确定服务器的补丁数据库中不存在针对待配置对象的漏洞补丁包集合,例如不匹配的漏洞补丁包的形式为:{漏洞编号,补丁编号,漏洞补丁包名称,win和系列,内核版本,发布时间}。

图6示意性示出了根据本公开实施例的在漏洞补丁数据包集合中确定是否存在匹配漏洞补丁包的示例性结果;图7示意性示出了根据本公开实施例的在匹配漏洞补丁包中确定最新版漏洞补丁包的示例性结果;图8示意性示出了根据本公开实施例的操作S23a的详细操作流程图。

根据本公开的实施例,参照图6~图8所示,根据漏洞补丁包集合中每个漏洞补丁包的属性信息和待配置对象的属性信息确定漏洞补丁包集合中是否存在最新版漏洞补丁包的操作S23a可以包括以下子操作:S231~S233。

在子操作S231,将漏洞补丁包集合中每个漏洞补丁包的属性信息与待配置对象的属性信息进行比对,确定漏洞补丁包集合中是否存在与待配置对象匹配的匹配漏洞补丁包。

在子操作S232,如果漏洞补丁包集合中存在与待配置对象匹配的匹配漏洞补丁包,则确定漏洞补丁包集合中存在最新版漏洞补丁包,并且匹配漏洞补丁包中发布时间最新的漏洞补丁包为最新版漏洞补丁包。

在子操作S233,如果漏洞补丁包集合中不存在与待配置对象匹配的匹配漏洞补丁包,则确定漏洞补丁包集合中不存在最新版漏洞补丁包。

参照图4所示,以向右的实线箭头示意待配置对象的属性信息,为了针对操作系统和应用软件进行分别说明,采用向右的虚线单箭头示意操作系统的属性信息,采用向右的虚线双箭头示意应用软件的属性信息,相应地,采用向左的点划线单箭头示意系统漏洞补丁数据包的属性信息,采用向左的点划线双箭头示意软件漏洞补丁数据包的属性信息。

根据本公开的实施例,在子操作S231中,将漏洞补丁包集合的s个漏洞补丁包中每个漏洞补丁包的属性信息与待配置对象的属性信息进行比对,确定漏洞补丁包集合中是否存在与待配置对象匹配的匹配漏洞补丁包的过程,实际上是将待配置对象的属性信息的全部维度与漏洞补丁包集合中每个漏洞补丁包的属性信息进行匹配,在漏洞补丁包集合中确定是否存在与所述待配置对象的属性信息的全部维度匹配的漏洞补丁包的过程。

结合图4、图6和图7所示,示例性的,在子操作S232,如果确定漏洞补丁包集合中存在某个或某些漏洞补丁包的属性信息与待配置对象的属性信息的全部维度都匹配,则上述某个或某些漏洞补丁包为与待配置对象匹配的匹配漏洞补丁包。进一步确定匹配漏洞补丁包中发布时间最新的漏洞补丁包为最新版漏洞补丁包。

例如参照图6的示例,待配置对象的属性信息为:{linux,10,core1.0},漏洞补丁包集合中某个漏洞补丁包的属性信息为:{漏洞编号1,补丁编号1,漏洞补丁包名称1,win10,core1.0,发布时间1},该漏洞补丁包为匹配漏洞补丁包。

进一步确定所有的匹配漏洞补丁包中发布时间最新的漏洞补丁包为最新包漏洞补丁包,例如参照图7的示例,确定漏洞补丁包集合中一共存在三个匹配漏洞补丁包,这三个匹配漏洞补丁包分别对应的属性信息为:{漏洞编号1,补丁编号1,漏洞补丁包名称1,win10,core1.0,2019年5月19日}、{漏洞编号3,补丁编号3,漏洞补丁包名称3,win10,core1.0,2020年4月1日}、{漏洞编号4,补丁编号4,漏洞补丁包名称4,win10,core1.0,2020年6月1日},发布时间最新的漏洞补丁包为属性信息为{漏洞编号4,补丁编号4,漏洞补丁包名称4,win10,core1.0,2020年6月1日}的漏洞补丁包,该属性信息对应的漏洞补丁包为最新版漏洞补丁包。

特殊的,当所有的匹配漏洞补丁包的个数只有一个时,该匹配漏洞补丁包即为最新版漏洞补丁包。

参照图4和图6所示,在子操作S233,如果确定漏洞补丁包集合中所有的漏洞补丁包的属性信息与待配置对象的属性信息的全部维度都不匹配,则确定漏洞补丁包集合中不存在最新版漏洞补丁包,不匹配的情况例如为:待配置对象的属性信息为:{linux,10,core1.0},漏洞补丁包的属性信息为:{漏洞编号2,补丁编号2,漏洞补丁包名称2,win7,core1.0,发布时间2}。

在操作S24a中服务器200将最新版漏洞补丁包发送至终端设备100。

上述操作S23a只需要用到漏洞补丁包的属性信息即可,不需要调用漏洞补丁包的数据,例如参照图4中虚线箭头示意的情况,在补丁数据库中,漏洞补丁包的属性信息作为调用各个漏洞补丁包的索引,例如可以基于漏洞补丁包的属性信息中的补丁编号来调用各个漏洞补丁包。补丁编号可以唯一定位至特定的漏洞补丁包。

根据本公开的实施例,响应于确定漏洞补丁包集合中存在最新版漏洞补丁包,将最新版漏洞补丁包发送至终端设备的操作S24a包括:在确定漏洞补丁包集合中存在最新版漏洞补丁包的情况下,根据最新版漏洞补丁包的补丁编号查找到最新版漏洞补丁包,并将最新版漏洞补丁包发送至终端设备。

该操作S24a利用补丁编号调用补丁数据库中的漏洞补丁包,方便快捷且高效率,进而解决了最新漏洞补丁包确定后到发送漏洞补丁包过程中效率低下的技术问题。

需要说明的是,上述实施例中,确定漏洞补丁包集合中漏洞补丁包的属性信息与待配置对象的属性信息的全部维度是否匹配的情况是以漏洞补丁包的属性信息与待配置对象的属性信息的全部维度均相同作为示意,以操作系统为例,漏洞补丁包的属性信息{漏洞编号,补丁编号,漏洞补丁包名称,操作系统名称和系列,内核版本,发布时间}中的操作系统名称和系列、内核版本均与待配置对象的系统名称、系统版本和内核版本相同,在其它实施例中,可能与待配置对象的属性信息的全部维度是否匹配是以高于待配置对象的版本号作为匹配的情形,例如满足以下至少一种条件即为匹配的情形:漏洞补丁包的属性信息中的操作系统和系列高于待配置对象的系统版本号的情况视为匹配,漏洞补丁包的属性信息中的内核版本高于内核版本号的情况视为匹配。这里不以实施例为限,各种匹配的情形均在本公开的保护范围之内。

根据本公开的实施例,参照图3中虚线部分所示,上述由服务器执行的方法还可以包括以下操作S23和S24b中至少一种。

在操作S23b,在确定补丁数据库中不存在针对待配置对象的漏洞补丁包集合的情况下,向终端设备发送不存在漏洞补丁包的通知。

在操作S24b,在确定漏洞补丁包集合中不存在最新版漏洞补丁包的情况下,向终端设备发送不存在漏洞补丁包的通知。

综上所述,本实施例提供了一种由服务器执行的配置漏洞补丁包的方法,通过利用待配置对象的属性信息在补丁数据库中进行匹配查询,得到针对待配置对象的最新版漏洞补丁包,从而无需检测终端设备中是否存在漏洞,可以利用补丁数据库中实时发布的漏洞补丁包的信息,在检测到与待配置对象匹配的最新版漏洞补丁的情况下进行安装,实现漏洞补丁的自动化配置,可以至少部分地解决漏洞补丁配置繁琐的技术问题,并且避免了由于检测漏洞时存在漏检的情况未能安装合适的漏洞补丁包导致出现的信息安全问题,或者由于漏洞补丁包安装不及时导致的信息安全问题。

本公开的第二个示例性实施例提供了一种由终端设备执行的漏洞补丁包配置的方法。

图9示意性示出了根据本公开实施例的由终端设备执行的配置漏洞补丁包的方法的流程图。

参照图2和图9中实线部分所示,本实施例由终端设备100执行的漏洞补丁包配置的方法可以包括操作:S11~S13。

在操作S11,获取终端设备的待配置对象的属性信息,该待配置对象包括操作系统和/或应用软件。

在操作S12,将获取的终端设备的待配置对象的属性信息发送给服务器。

在操作S13,接收来自服务器的补丁数据库中的最新版漏洞补丁包或者来自服务器的不存在漏洞补丁包的通知。

在图2中,以向左的单箭头示意最新版漏洞补丁包,向左的双箭头示意不存在漏洞补丁包的通知。接收到不存在漏洞补丁包的通知对应两种情况,一种情况为:补丁数据库中不存在针对待配置对象的漏洞补丁包集合,另一种情况为:漏洞补丁包集合中不存在最新版漏洞补丁包。

根据本公开的实施例,上述方法可以包括:操作S11~S13,还包括操作:S14、S15a、S15b、S16a、S16b中至少一种操作。

根据本公开的实施例,参照图9中虚线部分所示,上述由终端设备100执行的方法还可以包括操作S14,对接收的最新版漏洞补丁包进行完整性校验。

参照图9中虚线部分所示,上述方法还可以包括操作S15a,响应于最新版漏洞补丁包通过完整性校验,对最新版漏洞补丁包进行安全性校验。

参照图9中虚线部分所示,上述方法还可以包括操作S16a,响应于最新版漏洞补丁包通过安全性校验,安装最新版漏洞补丁包,并将安装结果上报给服务器。

参照图9中虚线部分所示,上述方法还可以包括操作S15b,响应于最新版漏洞补丁包未通过完整性校验,将最新版漏洞补丁包校验失败的结果上报给服务器。

参照图2和图9中虚线部分所示,上述方法还可以包括操作S16b,响应于最新版漏洞补丁包未通过安全性校验,将最新版漏洞补丁包校验失败的结果上报给服务器。

服务器200接收到安装结果后,在安装结果为安装失败的前提下再次向终端设备100发送最新版漏洞补丁包,以避免由于数据传输错误导致的安装失败。

本公开的第三个示例性实施例提供了一种服务器。

图10示意性示出了根据本公开实施例的服务器的结构框图。

参照图10所示,本实施例的服务器200包括:属性信息接收模块21、漏洞补丁包集合确定模块22、最新版漏洞补丁包确定模块23以及漏洞补丁包发送模块24。

属性信息接收模块21用于接收终端设备100的待配置对象的属性信息,待配置对象包括操作系统100a和/或应用软件100b。

漏洞补丁包集合确定模块22用于确定服务器200的补丁数据库201中是否存在针对待配置对象的漏洞补丁包集合。

最新版漏洞补丁包确定模块23用于在确定补丁数据库201中存在针对待配置对象的漏洞补丁包集合的情况下,根据漏洞补丁包集合中每个漏洞补丁包的属性信息和待配置对象的属性信息确定漏洞补丁包集合中是否存在最新版漏洞补丁包。

漏洞补丁包发送模块24用于在确定漏洞补丁包集合中存在最新版漏洞补丁包的情况下,将最新版漏洞补丁包发送至终端设备100。

根据本公开的实施例,漏洞补丁包发送模块24还用于在确定补丁数据库中不存在针对待配置对象的漏洞补丁包集合的情况下,向终端设备发送不存在漏洞补丁包的通知;和/或,漏洞补丁包发送模块24还用于在确定漏洞补丁包集合中不存在最新版漏洞补丁包的情况下,向终端设备发送不存在漏洞补丁包的通知。

在一实施例中,服务器200可以包括补丁数据库201,如图10中的虚线框所示意。在另一实施例中,服务器200与补丁数据库201是相互独立且相互关联的,服务器200可以从补丁数据库201中获取信息。

根据本公开的实施例,可以基于Lua、JAVA、python、C、C++等语言实现上述服务器200中各个功能模块的指令编写。

本公开的第四个示例性实施例提供了一种终端设备。

图11示意性示出了根据本公开实施例的终端设备的结构框图。

参照图11中实线框所示,本实施例的终端设备100包括:属性信息获取模块11、属性信息发送模块12以及漏洞补丁包接收模块13。

属性信息获取模块11用于获取终端设备100的待配置对象的属性信息,待配置对象包括操作系统100a和/或应用软件100b。

属性信息发送模块12用于将获取的终端设备100的待配置对象的属性信息发送给服务器200。

漏洞补丁包接收模块13用于接收来自服务器200的最新版漏洞补丁包或者不存在漏洞补丁包的通知。

根据本公开的实施例,参照图11中虚线框所示,上述终端设备100还可以包括:完整性校验模块14、安全性校验模块15、漏洞补丁包安装模块16以及结果上报模块17。

完整性校验模块14用于对接收的最新版漏洞补丁包进行完整性校验。

安全性校验模块15用于在最新版漏洞补丁包通过完整性校验的情况下,对最新版漏洞补丁包进行安全性校验。

漏洞补丁包安装模块16用于在最新版漏洞补丁包通过安全性校验的情况下,安装最新版漏洞补丁包。

结果上报模块17用于将安装最新版漏洞补丁包的安装结果上报服务器。

根据本公开的实施例,结果上报模块17还用于在最新版漏洞补丁包未通过完整性校验的情况下,和/或,在最新版漏洞补丁包未通过安全性校验的情况下,将最新版漏洞补丁包校验失败的结果上报给服务器。

根据本公开的实施例,可以基于Lua、JAVA、python、C、C++等语言实现上述终端设备100中各个功能模块的指令编写。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,属性信息接收模块21、漏洞补丁包集合确定模块22、最新版漏洞补丁包确定模块23和漏洞补丁包发送模块24的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。属性信息获取模块11、属性信息发送模块12、漏洞补丁包接收模块13、完整性校验模块14、安全性校验模块15、漏洞补丁包安装模块16以及结果上报模块17其中的任意一个模块可以被拆分成多个模块,或者任意多个可以合并在一个模块中实现。或者,上述这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,属性信息获取模块11、属性信息发送模块12、漏洞补丁包接收模块13、属性信息接收模块21、漏洞补丁包集合确定模块22、最新版漏洞补丁包确定模块23以及漏洞补丁包发送模块24中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,属性信息获取模块11、属性信息发送模块12、漏洞补丁包接收模块13、属性信息接收模块21、漏洞补丁包集合确定模块22、最新版漏洞补丁包确定模块23以及漏洞补丁包发送模块24中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

本公开的第五个示例性实施例提供了一种电子设备。该电子设备包括:一个或多个处理器;以及用于存储一个或多个程序的存储装置。其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现本公开提及的任一种方法。

图12示意性示出了根据本公开实施例的电子设备的结构框图。

参照图12所示,根据本公开实施例的电子设备300包括处理器301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。处理器301例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器301还可以包括用于缓存用途的板载存储器。处理器301可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 303中,存储有电子设备300操作所需的各种程序和数据。处理器301、ROM302以及RAM 303通过总线304彼此相连。处理器301通过执行ROM 302和/或RAM 303中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM302和RAM 303以外的一个或多个存储器中。处理器301也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备300还可以包括输入/输出(I/O)接口305,输入/输出(I/O)接口305也连接至总线304。电子设备300还可以包括连接至I/O接口305的以下部件中的一项或多项:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如局域网(LAN)卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。

本公开的第六个示例性实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器实现本公开提及的任一种方法。

该计算机可读存储介质可以是上述实施例中描述的电子设备/终端设备/服务器中所包含的;也可以是单独存在,而未装配入该电子设备/终端设备/服务器中。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 302和/或RAM 303和/或ROM 302和RAM 303以外的一个或多个存储器。

本公开的第七个示例性实施例提供了一种计算机程序产品。该计算机程序产品包括计算机可读指令,其中计算机可读指令被执行时用于实现本公开提及的任一种方法。

根据本公开的实施例,上述方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。在该计算机程序被处理器301执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

根据本公开的实施例,可以基于Lua、JAVA、python、C、C++等语言实现上述计算机软件程序的指令编写。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

技术分类

06120113822153