(12)发明专利申请
(10)申请公布号 CN 111949291 A(43)申请公布日 2020.11.17
(21)申请号 202010739807.2(22)申请日 2020.07.28
(71)申请人 北京升鑫网络科技有限公司
地址 100000 北京市海淀区创业路8号1号
楼5层1-2(72)发明人 邹明 程度 张福 胡俊 (74)专利代理机构 北京沁优知识产权代理有限
公司 11684
代理人 郭峰(51)Int.Cl.
G06F 8/65(2018.01)G06F 8/71(2018.01)G06F 21/57(2013.01)H04L 12/803(2013.01)
权利要求书2页 说明书18页 附图5页
(54)发明名称
一种补丁检测方法、存储介质及计算机设备(57)摘要
本发明涉及计算机网络安全技术领域,具体地,提供了一种补丁检测方法、存储介质及计算机设备。其中,所述补丁检测方法包括步骤:建立补丁库,连接补丁更新数据库以获取补丁数据,利用获取的补丁数据建立补丁库;采集信息,接收主机上传的程序信息;生成检测结果,将所述程序信息与补丁库进行比对,生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。采用上述技术方案,补丁库建立在服务端而非主机端,避免了补丁库下发带来的流量与存储问题;此外,补丁检测在服务端进行,也可有效减小主机的计算负载。CN 111949291 ACN 111949291 A
权 利 要 求 书
1/2页
1.一种补丁检测方法,包括步骤:建立补丁库,连接补丁更新数据库以获取补丁数据,利用获取的补丁数据建立补丁库;采集信息,接收主机上传的程序信息;生成检测结果,将所述程序信息与补丁库进行比对,生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。
2.根据权利要求1所述的补丁检测方法,其特征在于:所述生成检测结果步骤,包括:按第一比对规则对所述程序信息与补丁库进行比对;获得第一补丁列表并发送至主机端;
接收经主机端验证后发送的第二补丁列表,根据第二补丁列表生成补丁检测结果。3.根据权利要求2所述的补丁检测方法,其特征在于:所述接收经主机端验证后发送的第二补丁列表步骤中包括,主机端按照第二比对规则将程序信息与第一补丁列表进行比对。
4.根据权利要求3所述的补丁检测方法,其特征在于:所述补丁检测方法,还包括步骤:根据补丁检测结果与主机端ID,生成第一对应关系;在后一次补丁检测中,根据补丁检测结果与主机端ID,生成第二对应关系;将第一对应关系与第二对应关系进行比对,判断是否存在相同的待更新补丁,若存在,发送警示信息至主机端。
5.根据权利要求1-4任一项所述的补丁检测方法,其特征在于:所述补丁检测方法,还包括步骤:
设置预警时间阈值,
根据补丁检测结果与主机端ID,生成第一对应关系;在后一次补丁检测中,根据补丁列表与主机端ID,生成第二对应关系;判断第一对应关系与第二对应关系的生成时间差,是否大于预警时间阈值,若大于预警时间阈值,将第一对应关系与第二对应关系进行比对,判断是否存在相同的待更新补丁,
若存在,发送警示信息至主机端。6.一种补丁检测方法,包括步骤:上传程序信息,将程序信息上传至服务端;接收补丁检测结果,接收经服务端生成的补丁检测结果,所述补丁检测结果为所述程序信息与服务端补丁库比对获得。
7.根据权利要求6所述的补丁检测方法,其特征在于:所述接收补丁检测结果步骤,包括:
接收服务端生成的第一补丁列表,所述第一补丁列表为服务端按第一比对规则对所述程序信息与补丁库进行比对获得;
验证第一补丁列表,并将获得的第二补丁列表发送至服务端;接收经服务端生成的补丁检测结果,所述补丁检测结果为根据第二补丁列表生成。8.一种补丁检测装置,包括:补丁库建立模块,用于利用获取的补丁数据建立补丁库,所述补丁数据通过连接补丁更新数据库获取;
2
CN 111949291 A
权 利 要 求 书
2/2页
信息采集模块,用于接收主机上传的程序信息;检测结果生成模块,用于将所述程序信息与补丁库进行比对,生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-7任一项所述方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1-7任一项所述方法的步骤。
3
CN 111949291 A
说 明 书
一种补丁检测方法、存储介质及计算机设备
1/18页
技术领域
[0001]本发明涉及计算机网络安全技术领域,具体地,涉及一种补丁检测方法、存储介质及计算机设备。
背景技术
[0002]现有技术中,Windows和Linux系统一般自带补丁检测功能,但需要连接外网且只能检测系统组件的漏洞。Nessus等一些第三方的漏洞分析软件,一般需要每个主机从服务端上获取补丁库或检测脚本,并需要在主机端进行后续的补丁库或检测脚本更新维护,然后在主机端进行补丁检测。
[0003]但是补丁库占用的空间比较大,主机数量较多时下发和更新补丁库会占用较大的网络流量和存储空间,影响主机的运行效率。因此,本领域亟需一种补丁检测方法、存储介质及计算机设备,以解决上述至少一个技术问题。[0004]有鉴于此,提出本发明。发明内容
[0005]本发明的目的在于提供一种补丁检测方法、存储介质及计算机设备,以解决背景技术中所述的至少一个技术问题。[0006]本发明的第一方面,提供了一种补丁检测方法,包括步骤:[0007]建立补丁库,连接补丁更新数据库以获取补丁数据,利用获取的补丁数据建立补丁库;
[0008]采集信息,接收主机上传的程序信息;[0009]生成检测结果,将所述程序信息与补丁库进行比对,生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。[0010]采用上述技术方案,补丁库建立在服务端而非主机端,避免了补丁库下发带来的流量与存储问题;此外,补丁检测在服务端进行,可有效减小主机的计算负载。[0011]优选地,所述程序信息包括组件信息、安装包信息中的至少一种。[0012]优选地,所述生成检测结果步骤,包括:
[0013]按第一比对规则对所述程序信息与补丁库进行比对;[0014]获得第一补丁列表并发送至主机端;
[0015]接收经主机端验证后发送的第二补丁列表,根据第二补丁列表生成补丁检测结果。
[0016]优选地,所述接收经主机端验证后发送的第二补丁列表步骤中包括,主机端按照第二比对规则将程序信息与第一补丁列表进行比对。[0017]优选地,所述补丁检测方法,还包括步骤:[0018]根据补丁检测结果与主机端ID,生成第一对应关系;[0019]在后一次补丁检测中,根据补丁检测结果与主机端ID,生成第二对应关系;
4
CN 111949291 A[0020]
说 明 书
2/18页
将第一对应关系与第二对应关系进行比对,判断是否存在相同的待更新补丁,
[0021]若存在,发送警示信息至主机端。[0022]采用上述技术方案,可以验证主机是否全部完成上一次补丁的更新任务,如果上一次检测出的待更新补丁,本次还存在,说明该主机端并未及时进行补丁更新处理,此时对该主机端进行提示,防止风险累积。[0023]优选地,所述补丁检测方法,还包括步骤:[0024]设置预警时间阈值,
[0025]根据补丁检测结果与主机端ID,生成第一对应关系;[0026]在后一次补丁检测中,根据补丁列表与主机端ID,生成第二对应关系;[0027]判断第一对应关系与第二对应关系的生成时间差,是否大于预警时间阈值,[0028]若大于预警时间阈值,将第一对应关系与第二对应关系进行比对,判断是否存在相同的待更新补丁,[0029]若存在,发送警示信息至主机端。[0030]本发明的第二方面,提供了一种补丁检测方法,包括步骤:[0031]上传程序信息,将程序信息上传至服务端;[0032]接收补丁检测结果,接收经服务端生成的补丁检测结果,所述补丁检测结果为所述程序信息与服务端补丁库比对获得。[0033]采用上述技术方案,补丁库建立在服务端而非主机端,避免了补丁库下发带来的流量与存储问题;此外,补丁检测在服务端进行,可有效减小主机的计算负载。[0034]优选地,所述程序信息包括组件信息、安装包信息中的至少一种。[0035]优选地,所述接收补丁检测结果步骤,包括:[0036]接收服务端生成的第一补丁列表,所述第一补丁列表为服务端按第一比对规则对所述程序信息与补丁库进行比对获得;[0037]验证第一补丁列表,并将获得的第二补丁列表发送至服务端;[0038]接收经服务端生成的补丁检测结果,所述补丁检测结果为根据第二补丁列表生成。
[0039]优选地,所述验证第一补丁列表步骤中包括,根据第二比对规则将程序信息与第一补丁列表进行比对。
[0040]本发明的第三方面,提供了一种补丁检测装置,包括:[0041]补丁库建立模块,用于利用获取的补丁数据建立补丁库,所述补丁数据通过连接补丁更新数据库获取;[0042]信息采集模块,用于接收主机上传的程序信息;[0043]检测结果生成模块,用于将所述程序信息与补丁库进行比对,生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。[0044]采用上述技术方案,补丁库建立在服务端而非主机端,避免了补丁库下发带来的流量与存储问题;此外,补丁检测在服务端进行,可有效减小主机的计算负载。[0045]优选地,所述程序信息包括组件信息、安装包信息中的至少一种。[0046]优选地,所述检测结果生成模块,包括:[0047]第一比对模块,用于按第一比对规则对所述程序信息与补丁库进行比对;
5
CN 111949291 A[0048]
说 明 书
3/18页
信息发送模块,用于获得第一补丁列表并发送至主机端;
[0049]信息接收模块,用于接收经主机端验证后发送的第二补丁列表,根据第二补丁列表生成补丁检测结果。[0050]优选地,所述接收经主机端验证后发送的第二补丁列表,包括,主机端按照第二比对规则将程序信息与第一补丁列表进行比对。[0051]优选地,所述补丁检测装置,还包括:[0052]第一对应关系生成模块,用于根据补丁检测结果与主机端ID,生成第一对应关系;[0053]第二对应关系生成模块,用于在后一次补丁检测中,根据补丁检测结果与主机端ID,生成第二对应关系;[0054]第二比对模块,用于将第一对应关系与第二对应关系进行比对,判断是否存在相同的待更新补丁,[0055]若存在,发送警示信息至主机端。[0056]采用上述技术方案,可以验证主机是否全部完成上一次补丁的更新任务,如果上一次检测出的待更新补丁,本次还存在,说明该主机端并未及时进行补丁更新处理,此时对该主机端进行提示,防止风险累积。[0057]优选地,所述补丁检测装置,还包括:[0058]预警时间设置模块,用于设置预警时间阈值,[0059]第一对应关系生成模块,用于根据补丁检测结果与主机端ID,生成第一对应关系;[0060]第二对应关系生成模块,用于在后一次补丁检测中,根据补丁列表与主机端ID,生成第二对应关系;
[0061]第一判断模块,用于判断第一对应关系与第二对应关系的生成时间差,是否大于预警时间阈值,
[0062]若大于预警时间阈值,将第一对应关系与第二对应关系进行比对,判断是否存在相同的待更新补丁,[0063]若存在,发送警示信息至主机端。[0064]本发明的第四方面,提供了一种补丁检测装置,包括:[0065]程序信息上传模块,用于上传程序信息,将程序信息上传至服务端;[0066]补丁检测结果处理模块,用于接收经服务端生成的补丁检测结果,所述补丁检测结果为所述程序信息与服务端补丁库比对获得。[0067]采用上述技术方案,补丁库建立在服务端而非主机端,避免了补丁库下发带来的流量与存储问题;此外,补丁检测在服务端进行,可有效减小主机的计算负载。[0068]优选地,所述程序信息包括组件信息、安装包信息中的至少一种。[0069]优选地,所述补丁检测结果处理模块,包括:[0070]第一补丁列表接收模块,用于接收服务端生成的第一补丁列表,所述第一补丁列表为服务端按第一比对规则对所述程序信息与补丁库进行比对获得;[0071]第一补丁列表验证模块,用于验证第一补丁列表,并将获得的第二补丁列表发送至服务端;
[0072]补丁检测结果接收模块,用于接收经服务端生成的补丁检测结果,所述补丁检测结果为根据第二补丁列表生成。
6
CN 111949291 A[0073]
说 明 书
4/18页
优选地,所述验证第一补丁列表包括,根据第二比对规则将程序信息与第一补丁
列表进行比对。
[0074]本发明的第五方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如本发明第一方面、第二方面中所述方法的步骤。[0075]本发明的第六方面,提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如本发明第一方面、第二方面中所述方法的步骤。
[0076]综上所述,本发明具有以下有益效果:[0077]1、本发明提供的补丁检测方法,通过将补丁库建立在服务端而非主机端,避免了补丁库下发带来的流量与存储问题;此外,补丁检测在服务端进行,可有效减小主机的计算负载。
[0078]2、本发明提供的补丁检测方法,通过将第一补丁列表发送至主机端进行验证,可以提高服务端的比对效率,同时利用主机端进行验证,增加补丁检测的准确性。[0079]3、本发明提供的补丁检测方法,通过检测主机是否全部完成上一次补丁的更新任务,验证主机的补丁更新结果,并对未及时安装相应补丁的主机端进行提示,防止风险累积。
附图说明
[0080]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0081]图1为本发明第一种实施方式中补丁检测方法的流程图;[0082]图2为本发明补丁检测方法的应用环境示意图;
[0083]图3为本发明第二种实施方式中补丁检测方法的流程图;[0084]图4为本发明第三种实施方式中补丁检测方法的流程图;[0085]图5为本发明第四种实施方式中补丁检测方法的流程图;[0086]图6为本发明一种实施方式中补丁检测装置的结构示意图;[0087]图7为本发明另一种实施方式中补丁检测装置的结构示意图。
具体实施方式
[0088]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。[0089]在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包
7
CN 111949291 A
说 明 书
5/18页
含一个或多个相关联的列出项目的任何或所有可能组合。[0090]本申请实施例通过提供一种补丁检测方法、补丁检测装置、计算机设备、计算机可读存储介质,达到减小主机计算负载的技术效果。
[0091]本申请实施例的技术方案为解决上述技术问题,总体思路如下:一种补丁检测方法,包括步骤:
[0092]建立补丁库,连接补丁更新数据库以获取补丁数据,利用获取的补丁数据建立补丁库;
[0093]采集信息,接收主机上传的程序信息;[0094]生成检测结果,将所述程序信息与补丁库进行比对,生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。[0095]采用上述技术方案,补丁库建立在服务端而非主机端,避免了补丁库下发带来的流量与存储问题;此外,补丁检测在服务端进行,可有效减小主机的计算负载。[0096]为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
[0097]基于本发明的发明构思,在本发明的一些优选实施方式中,提供了一种补丁检测方法,如图1所示,包括步骤:[0098]S202建立补丁库,连接补丁更新数据库以获取补丁数据,利用获取的补丁数据建立补丁库。
[0099]在具体实施过程中,如图2所示,可以将一台终端设备设置为服务端,该终端设备可以为计算机、服务器;该服务端可以根据系统和应用的官网获取补丁数据,并建立补丁库,如Windows系统可以从Windows官网获取补丁数据,Linux系统可以从Linux官网获取补丁数据。所述补丁库中的每个补丁可以对应生成一索引文件。[0100]S204,采集信息,接收主机上传的程序信息。[0101]在具体实施过程中,待进行补丁检测的主机,采集本地的程序信息,并上传至服务端:如Windows系统可以从系统注册表中读取上述信息,Linux系统可以使用系统包管理器获取上述信息;所述主机端可以有一个或多个。所述程序信息可以包括系统信息和/或安装包信息,其中,所述系统信息可以包括组件信息、操作系统信息、CPU架构、已安装补丁号中的至少一种,安装包信息可以包括文件类型、文件版本号等,所述文件类型包括但不限于:.xml文件、.exe文件、.msn文件、.msp文件、.cab文件、.msi文件等。所述程序信息可以为xml文件或word文件或txt文件的格式上传至服务端。在某些实施方式中,所述组件信息包括组件名称、组件版本信息。[0102]S206,生成检测结果,将所述程序信息与补丁库进行比对,生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。[0103]在具体实施过程中,所述服务端可以对每台上报了程序信息的主机,根据补丁库中的规则进行补丁检测,最后生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。当主机端为Windows系统时,可以通过比对版本号的方式,确定补丁检测结果,如补丁库中某个程序对应的文件版本号为1.0.0002,则所述比对版本号为判断程序信息中该程序对应的版本是否小于1.0.0002,如果是,如主机端版本号为1.0.0001,则表明主机端的该程序需要进行更新。
8
CN 111949291 A[0104]
说 明 书
6/18页
采用上述技术方案,补丁库建立在服务端而非主机端,避免了补丁分别下发到主
机端带来的流量与存储问题;此外,补丁检测在服务端进行,可有效减小主机的计算负载;在对主机端安全性要求很高的场景下,上述技术方案可以避免主机端直接与外网连接,减小安全风险。
[0105]在一些优选的实施方式中,所述建立补丁库还包括步骤:[0106]接收数据更新时间阈值,[0107]判断当前时间与上一次补丁数据的获取时间差是否不小于数据更新时间阈值,[0108]若不小于,则继续判断主机端与服务端是否处于通信连接状态,[0109]若否,则服务端连接补丁更新数据库以更新补丁库。[0110]在具体实施过程中,管理员或有权限的工作人员在服务端设置补丁库的更新时间,如隔24h更新一次,当补丁库更新24h后,服务端先判断是否与主机端处于通信连接状态,如果处于通信连接状态,暂不更新,待通信连接状态断开后,服务端再连接补丁更新数据库进行更新。
[0111]采用上述技术方案,当主机端与服务端并未处于通信连接状态,如处于连接断开状态时,服务端进行补丁库更新,可以防止服务端连接外网给主机带来的安全风险。[0112]在一些优选的实施方式中,如图3所示,所述生成检测结果步骤,包括:[0113]S2062,按第一比对规则对所述程序信息与补丁库进行比对;[0114]在具体实施过程中,在服务端,将主机端的程序信息与补丁库中的补丁按第一比对规则进行比对;所述补丁库中的不同补丁,可以分别对应一索引文件,该索引文件可以包括对应补丁的版本信息、调用函数信息、安装路径信息等的至少一种,该索引文件可以为.xml格式;所述第一比对规则可以为大规则或通用规则,即可以通过主机端上传的程序信息进行比对的规则,比对各组件或软件的大规则,从而获得比对结果。所述每个补丁的xml文件中,包括多个节点,判断该节点内的比对规则是否包括需要调取存储于主机端的文件,若不需要,则该节点的比对规则为第一比对规则或大规则。示例性地,微软提供的window系统补丁中,其xml文件中包括CbsPackageApplicabilityMetadata数据节点,该节点的比对规则均可以通过与主机端上传的程序信息进行比对,如版本信息和/或调用函数信息等,此类数据节点,即可以为第一比对规则。如果某数据节点中,需要调取主机端某.dll文件进行比对,则该数据节点不属于第一比对规则。进一步地,所述第一比对规则包括组件名称、组件版本号,将补丁库中的补丁按第一比对规则与主机端的组件名称、组件版本号进行比对,第一比对规则中可能包括多个所需组件,即主机端需要安装上述组件才能构建适合该补丁的环境,若主机端不具有其中某一组件,则判断主机端不需要更新该补丁。进一步地,若主机端已安装某补丁对应的第一比对规则中所需的组件,则进一步判断主机端组件版本与第一比对规则中的组件版本是否相同,若相同,则该补丁信息被列入第一补丁列表中,并进一步由主机端进行验证,若不相同,则该补丁信息不被列入第一补丁列表中。比对后,将符合上述条件的补丁库中的补丁信息生成第一补丁列表。[0115]S2064,获得第一补丁列表并发送至主机端;[0116]在具体实施过程中,在服务端通过第一比对规则的比对,获得比对结果,即第一补丁列表,将所述第一补丁列表发送至主机端,所述第一补丁列表可以word、txt、xml、html等格式;在一些实施方式中,某些补丁的索引文件中,均为第一比对规则,则该补丁的第一比
9
CN 111949291 A
说 明 书
7/18页
对规则比对结果,不被列入第一补丁列表中,但是会出现在最终的第二补丁列表中。在一些实施方式中,某些补丁的索引文件中,不包含第一比对规则,则该补丁被列入第一补丁列表中。其中,所述第一补丁列表中可以包括补丁名称、补丁版本号、以及补丁列表中补丁的特征信息中的至少一种,所述补丁的特征信息可以包括发布时间、发布者、文件大小等的至少一种。在一些实施方式中,所述第一补丁列表为补丁索引文件去除第一比对规则对应的数据节点后的数据文件。示例性地,某一补丁对应的索引文件中,包括第一比对规则CbsPackageApplicabilityMetadata数据节点,则该补丁对应的第一补丁列表为该索引文件去除CbsPackageApplicabilityMetadata节点后的数据文件。采用此种实施方式,可以减小发送至主机端的数据量,提高整个补丁检测的检测效率。[0117]S2066,接收经主机端验证后发送的第二补丁列表,根据第二补丁列表生成补丁检测结果。
[0118]在具体实施过程中,主机端收到第一补丁列表后,对其补丁进行验证核实;验证核实的方式可以为验证发布者,如非可信发布者的补丁不予更新,此种实施方式中,可以通过设置发布者白名单的形式实现,非白名单的发布者即为非可信发布者;也可以为验证系统要求,如主机端应用Windows 10系统而补丁适用于Windows 7,该补丁也非主机端需要更新的补丁。主机端验证第一补丁列表后,排除第一补丁列表中不必要更新的补丁,生成第二补丁列表,并上传至服务端,服务端根据第二补丁列表生成补丁检测结果,所述检测结果可以报告的形式体现。在某些场景下,如主机端委托服务端进行补丁检测服务,服务端一般不会直接对主机端进行补丁更新,而往往会以补丁检测报告的形式呈现到主机端,主机端的系统环境服务端并不能在所有情况下都准确把握,如果贸然为主机端进行补丁更新,可能会给主机端带来不可预知的风险。[0119]采用上述技术方案,大规则的比对完成了大部分的数据判断任务,降低了下发客户端进行检测的流量和执行检测的时间。通过在服务端比对大规则,获得主机端需要更新的补丁的初步情况,再通过主机端的确认,可以提高补丁检测准确率。同时,主机端可以承担一部分计算工作,减轻服务端压力,提高检测速度。[0120]在一些优选的实施方式中,在S2062按第一比对规则对所述程序信息与补丁库进行比对,步骤之前,还包括:[0121]S2061,判断主机端程序信息中,是否包括与补丁库中相同的补丁号,[0122]若存在,则上述补丁不进行第一比对规则的比对。[0123]采用上述技术方案,具有相同补丁号的补丁,表明已经安装与主机端不需要进行更新,在第一比对规则的比对前,排除已安装的补丁,可以提高比对效率。[0124]在一些优选的实施方式中,所述接收经主机端验证后发送的第二补丁列表步骤中包括,主机端按照第二比对规则将程序信息与第一补丁列表进行比对。[0125]在具体实施过程中,主机端收到第一补丁列表后,对其补丁进行验证核实;验证核实的方式为采用第二比对规则,所述第二比对规则可以为小规则或非通用规则,如某些补丁的会核实主机端的某个文件版本,示例性地,如KB3035487补丁在更新前会核实ciodm.dll文件的版本,但是ciodm.dll文件存储于主机端,通常地,主机端不会将此类文件上传至服务端,因为在补丁检测前并不能确定补丁需要核实哪类文件,且上传文件会占用大量的流量和时间。当在服务端进行第一比对规则的比对后,各补丁的xml文件中,一般已
10
CN 111949291 A
说 明 书
8/18页
经处理完大部分的数据,此时将xml文件中的其余数据,即第二比对规则相关数据回传至主机端,并在主机端按第二比对规则进行比对。示例性地,微软提供的window系统补丁中,其xml文件中包括BaseApplicabilityRules数据节点,该节点的比对规则需要核实主机端的某类文件的版本信息,如.dll文件,.sys文件等,此类数据节点,即可以为第二比对规则或小规则。优选地,所述第二比对规则的判断前,可先对发布者的可信度进行验证。[0126]采用上述技术方案,通过在服务端比对大规则,获得主机端需要更新的补丁的初步情况,再通过主机端比对小规则,可以进一步提高补丁检测的准确率。[0127]在一些优选的实施方式中,所述补丁检测方法,还包括步骤:[0128]S402,根据补丁检测结果与主机端ID,生成第一对应关系;[0129]在具体实施过程中,当服务端获得某主机端的补丁检测结果后,对该检测结果进行记录,并形成第一对应关系,所述第一对应关系包括主机端ID及其需要更新的补丁名称,所述主机端ID可以为该主机端的IP地址、mac地址、计算机名称等。[0130]S404,在后一次补丁检测中,根据补丁检测结果与主机端ID,生成第二对应关系;[0131]在具体实施过程中,当服务端下一次获得该主机端的补丁检测结果后,形成第二对应关系,所述第二对应关系包括该主机端ID及其本次需要更新的补丁名称,所述主机端ID可以为该主机端的IP地址、mac地址、计算机名称等。[0132]S406,将第一对应关系与第二对应关系进行比对,判断是否存在相同的待更新补丁,
[0133]若存在,发送警示信息至主机端。[0134]在具体实施过程中,比对第二对应关系与第一对应关系,即核实上次检测中需要更新的补丁是否再次出现在本次需要更新的补丁中。例如,在第一对应关系中,ID为14-4F-8A-60-EB-B3的主机需要更新如下补丁:KB2685811、KB2685813、KB2670838,而在第二对应关系中,该主机需要更新KB2685813、KB3146706补丁,判断具有相同的待更新补丁KB2685813,则给该主机发送警示信息,提示有补丁长期没有进行更新,需要核实风险。[0135]采用上述技术方案,可以验证主机是否全部完成上一次补丁的更新任务,如果上一次检测出的待更新补丁,本次还存在,说明该主机端并未及时进行补丁更新处理,此时对该主机端进行提示,防止风险累积。[0136]在一些优选的实施方式中,所述补丁检测方法,还包括步骤:[0137]S501,设置预警时间阈值,[0138]在具体实施过程中,在服务端设置预警时间阈值,即超过此阈值才会对主机端进行预警、提醒。[0139]S502,根据补丁检测结果与主机端ID,生成第一对应关系;[0140]在具体实施过程中,当服务端获得某主机端的补丁检测结果后,对该检测结果进行记录,并形成第一对应关系,所述第一对应关系包括主机端ID及其需要更新的补丁名称,所述主机端ID可以为该主机端的IP地址、mac地址、计算机名称等。[0141]S504,在后一次补丁检测中,根据补丁列表与主机端ID,生成第二对应关系;[0142]在具体实施过程中,当服务端下一次获得该主机端的补丁检测结果后,形成第二对应关系,所述第二对应关系包括该主机端ID及其本次需要更新的补丁名称,所述主机端ID可以为该主机端的IP地址、mac地址、计算机名称等。
11
CN 111949291 A[0143]
说 明 书
9/18页
S506,判断第一对应关系与第二对应关系的生成时间差,是否大于预警时间阈值,
[0144]若大于预警时间阈值,将第一对应关系与第二对应关系进行比对,判断是否存在相同的待更新补丁,[0145]若存在,发送警示信息至主机端。[0146]在具体实施过程中,第一对应关系与第二对应关系的生成时间差,是否大于预警时间阈值,如预警时间阈值为24h,第一对应关系与第二对应关系的生成时间差小于等于24h的,则不对主机端进行警示信息发送;第一对应关系与第二对应关系的生成时间差大于24h的,进入第二对应关系与第一对应关系的比对。比对第二对应关系与第一对应关系,即核实上次检测中需要更新的补丁是否再次出现在本次需要更新的补丁中。例如,在第一对应关系中,ID为14-4F-8A-60-EB-B3的主机需要更新如下补丁:KB2685811、KB2685813、KB2670838,而在第二对应关系中,该主机需要更新KB2685813、KB3146706补丁,判断具有相同的待更新补丁KB2685813,则给该主机发送警示信息,提示有补丁长期没有进行更新,需要核实风险。
[0147]在一些优选的实施方式中,所述补丁检测方法,还包括步骤:[0148]S602,接收预警次数阈值;[0149]在具体实施过程中,在服务端设置预警次数阈值,即超过此阈值才会对主机端进行预警、提醒。[0150]S604,记录同一程序连续更新补丁的次数;[0151]在具体实施过程中,在服务端记录同一程序连续更新补丁的次数,同一程序如同一组件、或同一软件,连续更新补丁的次数,即对该主机端进行补丁检测时,每次检测的结果中都需要更新该程序的补丁,但不包括主机端对同一补丁一直没进行更新的情况。例如,对于office软件,第一次补丁检测时需要更新的程序为KB2850032,第二次补丁检测时需要更新的程序为KB2850035,第三次补丁检测时需要更新的程序为KB2850036,三次补丁检测时都具有不同的补丁待更新,则判断office软件连续更新补丁的次数为3次。[0152]S606,判断连续更新补丁的次数是否不小于预警次数阈值,[0153]若不小于,则发送警示信息至主机端。[0154]在具体实施过程中,如果预警次数阈值为5,当同一程序连续更新补丁的次数达到5次时,则判断该程序的更新频率很高,目前的补丁检测频率下,可能会导致该程序的更新不能及时被识别,造成安全风险。[0155]本发明的另一些实施例中,提供了一种补丁检测方法,如图4所示,包括步骤:[0156]S702,上传程序信息,将程序信息上传至服务端;[0157]在具体实施过程中,待进行补丁检测的主机,采集本地的程序信息,并上传至服务端:如Windows系统可以从系统注册表中读取上述信息,Linux系统可以使用系统包管理器获取上述信息;所述主机端可以有一个或多个。所述程序信息可以包括系统信息和/或安装包信息,其中,所述系统信息可以包括组件信息、操作系统信息、CPU架构、已安装补丁号中的至少一种,安装包信息可以包括文件类型、文件版本号等,所述文件类型包括但不限于:.xml文件、.exe文件、.msn文件、.msp文件、.cab文件、.msi文件等。所述程序信息可以为xml文件或word文件或txt文件的格式上传至服务端。在某些实施方式中,所述组件信息包括组件名称、组件版本信息。
12
CN 111949291 A[0158]
说 明 书
10/18页
S704,接收补丁检测结果,接收经服务端生成的补丁检测结果,所述补丁检测结果
为所述程序信息与服务端补丁库比对获得。[0159]在具体实施过程中,所述服务端可以对每台上报了程序信息的主机,根据补丁库中的规则进行补丁检测,最后生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。其中,服务端可以根据系统和应用的官网获取补丁数据,从而建立补丁库,如Windows系统可以从Windows官网获取补丁数据,Linux系统可以从Linux官网获取补丁数据。当主机端为Windows系统时,可以通过比对版本号的方式,确定补丁检测结果,如补丁库中某个程序对应的文件版本号为1.0.0002,则所述比对版本号为判断程序信息中该程序对应的版本是否小于1.0.0002,如果是,如主机端版本号为1.0.0001,则表明主机端的该程序需要进行更新。
[0160]采用上述技术方案,补丁库建立在服务端而非主机端,避免了补丁库下发带来的流量与存储问题;此外,补丁检测在服务端进行,可有效减小主机的计算负载。[0161]在一些优选的实施方式中,所述接收补丁检测结果步骤,如图5所示,包括:[0162]S7041,接收服务端生成的第一补丁列表,所述第一补丁列表为服务端按第一比对规则对所述程序信息与补丁库进行比对获得;[0163]在具体实施过程中,服务端将主机端的程序信息与补丁库中的补丁按第一比对规则进行比对;所述补丁库中的不同补丁,可以分别对应一索引文件,该索引文件可以包括对应补丁的版本信息、调用函数信息、安装路径信息等的至少一种,该索引文件可以为.xml格式;所述第一比对规则可以为大规则或通用规则,即可以通过主机端上传的程序信息进行比对的规则,比对各组件或软件的大规则,从而获得比对结果。所述每个补丁的xml文件中,包括多个节点,判断该节点内的比对规则是否包括需要调取存储于主机端的文件,若不需要,则该节点的比对规则为第一比对规则或大规则。示例性地,微软提供的window系统补丁中,其xml文件中包括CbsPackageApplicabilityMetadata数据节点,该节点的比对规则均可以通过与主机端上传的程序信息进行比对,如版本信息和/或调用函数信息等,此类数据节点,即可以为第一比对规则。如果某数据节点中,需要调取主机端某.dll文件进行比对,则该数据节点不属于第一比对规则。进一步地,所述第一比对规则包括组件名称、组件版本号,将补丁库中的补丁按第一比对规则与主机端的组件名称、组件版本号进行比对,第一比对规则中可能包括多个所需组件,即主机端需要安装上述组件才能构建适合该补丁的环境,若主机端不具有其中某一组件,则判断主机端不需要更新该补丁。进一步地,若主机端已安装某补丁对应的第一比对规则中所需的组件,则进一步判断主机端组件版本与第一比对规则中的组件版本是否相同,若相同,则该补丁信息被列入第一补丁列表中,并进一步由主机端进行验证,若不相同,则该补丁信息不被列入第一补丁列表中。比对后,将符合上述条件的补丁库中的补丁信息生成第一补丁列表。在一些实施方式中,某些补丁的索引文件中,均为第一比对规则,则该补丁的第一比对规则比对结果,不被列入第一补丁列表中,但是会出现在最终的第二补丁列表中。在一些实施方式中,某些补丁的索引文件中,不包含第一比对规则,则该补丁被列入第一补丁列表中。[0164]S7042,验证第一补丁列表,并将获得的第二补丁列表发送至服务端;[0165]在具体实施过程中,主机端收到第一补丁列表后,对其补丁进行验证核实;验证核实的方式可以为验证发布者,如非可信发布者的补丁不予更新;也可以为验证系统要求,如
13
CN 111949291 A
说 明 书
11/18页
主机端应用Windows 10系统而补丁适用于Windows 7,该补丁也非主机端需要更新的补丁。主机端验证第一补丁列表后,排除第一补丁列表中不必要更新的补丁,生成第二补丁列表,并上传至服务端。在一些实施方式中,所述第一补丁列表为补丁索引文件去除第一比对规则对应的数据节点后的数据文件。示例性地,某一补丁对应的索引文件中,包括第一比对规则CbsPackageApplicabilityMetadata数据节点,则该补丁对应的第一补丁列表为该索引文件去除CbsPackageApplicabilityMetadata节点后的数据文件。采用此种实施方式,可以减小发送至主机端的数据量,提高整个补丁检测的检测效率。[0166]S7043,接收经服务端生成的补丁检测结果,所述补丁检测结果为根据第二补丁列表生成。
[0167]在具体实施过程中,服务端根据第二补丁列表生成补丁检测结果,所述检测结果可以报告的形式体现。在某些场景下,如主机端委托服务端进行补丁检测服务,服务端一般不会直接对主机端进行补丁更新,而往往会以补丁检测报告的形式呈现到主机端,主机端的系统环境服务端并不能在所有情况下都准确把握,如果贸然为主机端进行补丁更新,可能会给主机端带来不可预知的风险。[0168]采用上述技术方案,大规则的比对完成了大部分的数据判断任务,降低了下发客户端进行检测的流量和执行检测的时间。通过在服务端比对大规则,获得主机端需要更新的补丁的初步情况,再通过主机端的确认,可以提高补丁检测准确率,同时,主机端可以承担一部分计算工作,减轻服务端压力,提高检测速度。[0169]在一些优选的实施方式中,所述验证第一补丁列表步骤中包括,根据第二比对规则将程序信息与第一补丁列表进行比对。[0170]在具体实施过程中,主机端收到第一补丁列表后,对其补丁进行验证核实;验证核实的方式为采用第二比对规则,所述第二比对规则可以为小规则或非通用规则,如某些补丁的会核实主机端的某个文件版本,示例性地,如KB3035487补丁在更新前会核实ciodm.dll文件的版本,但是ciodm.dll文件存储于主机端,通常地,主机端不会将此类文件上传至服务端,因为在补丁检测前并不能确定补丁需要核实哪类文件,且上传文件会占用大量的流量和时间。当在服务端进行第一比对规则的比对后,各补丁的xml文件中,一般已经处理完大部分的数据,此时将xml文件中的其余数据,即第二比对规则相关数据回传至主机端,并在主机端按第二比对规则进行比对。示例性地,微软提供的window系统补丁中,其xml文件中包括BaseApplicabilityRules数据节点,该节点的比对规则需要核实主机端的某类文件的版本信息,如.dll文件,.sys文件等,此类数据节点,即可以为第二比对规则或小规则。
[0171]采用上述技术方案,通过在服务端比对大规则,获得主机端需要更新的补丁的初步情况,再通过主机端比对小规则,可以进一步提高补丁检测的准确率。[0172]本发明的另一些实施例中,提供了一种补丁检测装置,如图6所示,包括:[0173]补丁库建立模块202,用于利用获取的补丁数据建立补丁库,所述补丁数据通过连接补丁更新数据库获取;
[0174]在具体实施过程中,可以将一台终端设备设置为服务端,该终端设备可以为计算机、服务器;该服务端可以补丁库建立模块202,根据系统和应用的官网获取补丁数据,并建立补丁库,如Windows系统可以从Windows官网获取补丁数据,Linux系统可以从Linux官网
14
CN 111949291 A
说 明 书
12/18页
获取补丁数据。所述补丁库中的每个补丁可以对应生成一索引文件。[0175]信息采集模块204,用于接收主机上传的程序信息;[0176]在具体实施过程中,待进行补丁检测的主机,采集本地的程序信息,并上传至服务端的信息采集模块204中。如Windows系统可以从系统注册表中读取上述信息,Linux系统可以使用系统包管理器获取上述信息;所述主机端可以有一个或多个。所述程序信息可以包括系统信息和/或安装包信息,其中,所述系统信息可以包括组件信息、操作系统信息、CPU架构、已安装补丁号中的至少一种,安装包信息可以包括文件类型、文件版本号等,所述文件类型包括但不限于:.xml文件、.exe文件、.msn文件、.msp文件、.cab文件、.msi文件等。所述程序信息可以为xml文件或word文件或txt文件的格式上传至服务端。在某些实施方式中,所述组件信息包括组件名称、组件版本信息。[0177]检测结果生成模块206,用于将所述程序信息与补丁库进行比对,生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。[0178]在具体实施过程中,所述服务端可以对每台上报了程序信息的主机,根据补丁库中的规则进行补丁检测,最后通过检测结果生成模块206生成补丁检测结果,所述补丁检测结果包括主机需要更新的补丁信息。当主机端为Windows系统时,可以通过比对版本号的方式,确定补丁检测结果,如补丁库中某个程序对应的文件版本号为1.0.0002,则所述比对版本号为判断程序信息中该程序对应的版本是否小于1.0.0002,如果是,如主机端版本号为1.0.0001,则表明主机端的该程序需要进行更新。[0179]采用上述技术方案,补丁库建立在服务端而非主机端,避免了补丁库下发带来的流量与存储问题;此外,补丁检测在服务端进行,可有效减小主机的计算负载。[0180]优选地,所述检测结果生成模块,包括:[0181]第一比对模块2062,用于按第一比对规则对所述程序信息与补丁库进行比对;[0182]在具体实施过程中,在服务端的第一比对模块2062中,将主机端的程序信息与补丁库中的补丁按第一比对规则进行比对;所述补丁库中的不同补丁,可以分别对应一索引文件,该索引文件可以包括对应补丁的版本信息、调用函数信息、安装路径信息等的至少一种,该索引文件可以为.xml格式;所述第一比对规则可以为大规则或通用规则,即可以通过主机端上传的程序信息进行比对的规则,比对各组件或软件的大规则,从而获得比对结果。所述每个补丁的xml文件中,包括多个节点,判断该节点内的比对规则是否包括需要调取存储于主机端的文件,若不需要,则该节点的比对规则为第一比对规则或大规则。示例性地,微软提供的window系统补丁中,其xml文件中包括CbsPackageApplicabilityMetadata数据节点,该节点的比对规则均可以通过与主机端上传的程序信息进行比对,如版本信息和/或调用函数信息等,此类数据节点,即可以为第一比对规则。如果某数据节点中,需要调取主机端某.dll文件进行比对,则该数据节点不属于第一比对规则。进一步地,所述第一比对规则包括组件名称、组件版本号,将补丁库中的补丁按第一比对规则与主机端的组件名称、组件版本号进行比对,第一比对规则中可能包括多个所需组件,即主机端需要安装上述组件才能构建适合该补丁的环境,若主机端不具有其中某一组件,则判断主机端不需要更新该补丁。进一步地,若主机端已安装某补丁对应的第一比对规则中所需的组件,则进一步判断主机端组件版本与第一比对规则中的组件版本是否相同,若相同,则该补丁信息被列入第一补丁列表中,并进一步由主机端进行验证,若不相同,则该补丁信息不被列入第一补丁列
15
CN 111949291 A
说 明 书
13/18页
表中。比对后,将符合上述条件的补丁库中的补丁信息生成第一补丁列表。[0183]信息发送模块2064,用于获得第一补丁列表并发送至主机端;[0184]在具体实施过程中,在服务端通过第一比对规则的比对,获得比对结果,即第一补丁列表,将所述第一补丁列表通过信息发送模块2064发送至主机端,所述第一补丁列表可以word、txt、xml、html等格式;在一些实施方式中,某些补丁的索引文件中,均为第一比对规则,则该补丁的第一比对规则比对结果,不被列入第一补丁列表中,但是会出现在最终的第二补丁列表中。在一些实施方式中,某些补丁的索引文件中,不包含第一比对规则,则该补丁被列入第一补丁列表中。其中,所述第一补丁列表中可以包括补丁名称、补丁版本号、以及补丁列表中补丁的特征信息中的至少一种,所述补丁的特征信息可以包括发布时间、发布者、文件大小等的至少一种。在一些实施方式中,所述第一补丁列表为补丁索引文件去除第一比对规则对应的数据节点后的数据文件。示例性地,某一补丁对应的索引文件中,包括第一比对规则CbsPackageApplicabilityMetadata数据节点,则该补丁对应的第一补丁列表为该索引文件去除CbsPackageApplicabilityMetadata节点后的数据文件。采用此种实施方式,可以减小发送至主机端的数据量,提高整个补丁检测的检测效率。[0185]信息接收模块2066,用于接收经主机端验证后发送的第二补丁列表,根据第二补丁列表生成补丁检测结果。[0186]在具体实施过程中,主机端收到第一补丁列表后,对其补丁进行验证核实;验证核实的方式可以为验证发布者,如非可信发布者的补丁不予更新;也可以为验证系统要求,如主机端应用Windows 10系统而补丁适用于Windows 7,该补丁也非主机端需要更新的补丁。主机端验证第一补丁列表后,排除第一补丁列表中不必要更新的补丁,生成第二补丁列表,并上传至服务端的信息接收模块2066,服务端根据第二补丁列表生成补丁检测结果,所述检测结果可以报告的形式体现。在某些场景下,如主机端委托服务端进行补丁检测服务,服务端一般不会直接对主机端进行补丁更新,而往往会以补丁检测报告的形式呈现到主机端,主机端的系统环境服务端并不能在所有情况下都准确把握,如果贸然为主机端进行补丁更新,可能会给主机端带来不可预知的风险。[0187]采用上述技术方案,大规则的比对完成了大部分的数据判断任务,降低了下发客户端进行检测的流量和执行检测的时间。通过在服务端比对大规则,获得主机端需要更新的补丁的初步情况,再通过主机端的确认,可以提高补丁检测准确率,同时,主机端可以承担一部分计算工作,减轻服务端压力,提高检测速度。[0188]在一些优选的实施方式中,所述接收经主机端验证后发送的第二补丁列表,包括,主机端按照第二比对规则将程序信息与第一补丁列表进行比对。[0189]在具体实施过程中,主机端收到第一补丁列表后,对其补丁进行验证核实;验证核实的方式为采用第二比对规则,所述第二比对规则可以为小规则或非通用规则,如某些补丁的会核实主机端的某个文件版本,示例性地,如KB3035487补丁在更新前会核实ciodm.dll文件的版本,但是ciodm.dll文件存储于主机端,通常地,主机端不会将此类文件上传至服务端,因为在补丁检测前并不能确定补丁需要核实哪类文件,且上传文件会占用大量的流量和时间。当在服务端进行第一比对规则的比对后,各补丁的xml文件中,一般已经处理完大部分的数据,此时将xml文件中的其余数据,即第二比对规则相关数据回传至主机端,并在主机端按第二比对规则进行比对。示例性地,微软提供的window系统补丁中,其
16
CN 111949291 A
说 明 书
14/18页
xml文件中包括BaseApplicabilityRules数据节点,该节点的比对规则需要核实主机端的某类文件的版本信息,如.dll文件,.sys文件等,此类数据节点,即可以为第二比对规则或小规则。
[0190]在一些优选的实施方式中,所述补丁检测装置,还包括:[0191]第一对应关系生成模块402,用于根据补丁检测结果与主机端ID,生成第一对应关系;
[0192]在具体实施过程中,当服务端获得某主机端的补丁检测结果后,对该检测结果进行记录,并通过第一对应关系生成模块402生成第一对应关系,所述第一对应关系包括主机端ID及其需要更新的补丁名称,所述主机端ID可以为该主机端的IP地址、mac地址、计算机名称等。
[0193]第二对应关系生成模块404,用于在后一次补丁检测中,根据补丁检测结果与主机端ID,生成第二对应关系;[0194]在具体实施过程中,当服务端下一次获得该主机端的补丁检测结果后,通过第二对应关系生成模块404生成第二对应关系,所述第二对应关系包括该主机端ID及其本次需要更新的补丁名称,所述主机端ID可以为该主机端的IP地址、mac地址、计算机名称等。[0195]第二比对模块406,用于将第一对应关系与第二对应关系进行比对,判断是否存在相同的待更新补丁,[0196]若存在,发送警示信息至主机端。[0197]在具体实施过程中,通过第二比对模块406比对第二对应关系与第一对应关系,即核实上次检测中需要更新的补丁是否再次出现在本次需要更新的补丁中。例如,在第一对应关系中,ID为14-4F-8A-60-EB-B3的主机需要更新如下补丁:KB2685811、KB2685813、KB2670838,而在第二对应关系中,该主机需要更新KB2685813、KB3146706补丁,判断具有相同的待更新补丁KB2685813,则给该主机发送警示信息,提示有补丁长期没有进行更新,需要核实风险。
[0198]采用上述技术方案,可以验证主机是否全部完成上一次补丁的更新任务,如果上一次检测出的待更新补丁,本次还存在,说明该主机端并未及时进行补丁更新处理,此时对该主机端进行提示,防止风险累积。[0199]在一些优选的实施方式中,所述补丁检测装置,还包括:[0200]预警时间设置模块501,用于设置预警时间阈值,[0201]在具体实施过程中,通过服务端的预警时间设置模块501设置预警时间阈值,即超过此阈值才会对主机端进行预警、提醒。[0202]第一对应关系生成模块502,用于根据补丁检测结果与主机端ID,生成第一对应关系;
[0203]在具体实施过程中,当服务端获得某主机端的补丁检测结果后,对该检测结果进行记录,并通过第一对应关系生成模块502形成第一对应关系,所述第一对应关系包括主机端ID及其需要更新的补丁名称,所述主机端ID可以为该主机端的IP地址、mac地址、计算机名称等。[0204]第二对应关系生成模块504,用于在后一次补丁检测中,根据补丁列表与主机端ID,生成第二对应关系;
17
CN 111949291 A[0205]
说 明 书
15/18页
在具体实施过程中,当服务端下一次获得该主机端的补丁检测结果后,通过第二
对应关系生成模块504生成第二对应关系,所述第二对应关系包括该主机端ID及其本次需要更新的补丁名称,所述主机端ID可以为该主机端的IP地址、mac地址、计算机名称等。[0206]第一判断模块506,用于判断第一对应关系与第二对应关系的生成时间差,是否大于预警时间阈值,
[0207]若大于预警时间阈值,将第一对应关系与第二对应关系进行比对,判断是否存在相同的待更新补丁,[0208]若存在,发送警示信息至主机端。[0209]在具体实施过程中,通过第一判断模块506判断第一对应关系与第二对应关系的生成时间差,是否大于预警时间阈值,如预警时间阈值为24h,第一对应关系与第二对应关系的生成时间差小于等于24h的,则不对主机端进行警示信息发送;第一对应关系与第二对应关系的生成时间差大于24h的,进入第二对应关系与第一对应关系的比对。比对第二对应关系与第一对应关系,即核实上次检测中需要更新的补丁是否再次出现在本次需要更新的补丁中。例如,在第一对应关系中,ID为14-4F-8A-60-EB-B3的主机需要更新如下补丁:KB2685811、KB2685813、KB2670838,而在第二对应关系中,该主机需要更新KB2685813、KB3146706补丁,判断具有相同的待更新补丁KB2685813,则给该主机发送警示信息,提示有补丁长期没有进行更新,需要核实风险。[0210]本发明的另一些实施例中,提供了一种补丁检测装置,如图7所示,包括:[0211]程序信息上传模块702,用于上传程序信息,将程序信息上传至服务端;[0212]在具体实施过程中,待进行补丁检测的主机,采集本地的程序信息,并通过程序信息上传模块702上传至服务端:如Windows系统可以从系统注册表中读取上述信息,Linux系统可以使用系统包管理器获取上述信息;所述主机端可以有一个或多个。所述程序信息可以包括系统信息和/或安装包信息,其中,所述系统信息可以包括组件信息、操作系统信息、CPU架构、已安装补丁号中的至少一种,安装包信息可以包括文件类型、文件版本号、注册表信息等,所述文件类型包括但不限于:.xml文件、.exe文件、.msn文件、.msp文件、.cab文件、.msi文件等。所述程序信息可以为xml文件或word文件或txt文件的格式上传至服务端。在某些实施方式中,所述组件信息包括组件名称、组件版本信息。[0213]补丁检测结果处理模块704,用于接收经服务端生成的补丁检测结果,所述补丁检测结果为所述程序信息与服务端补丁库比对获得。[0214]在具体实施过程中,所述服务端可以对每台上报了程序信息的主机,根据补丁库中的规则进行补丁检测,最后生成补丁检测结果,并由主机端的补丁检测结果处理模块704接收,所述补丁检测结果包括主机需要更新的补丁信息。其中,服务端可以根据系统和应用的官网获取补丁数据,从而建立补丁库,如Windows系统可以从Windows官网获取补丁数据,Linux系统可以从Linux官网获取补丁数据。当主机端为Windows系统时,可以通过比对版本号的方式,确定补丁检测结果,如补丁库中某个程序对应的文件版本号为1.0.0002,则所述比对版本号为判断程序信息中该程序对应的版本是否小于1.0.0002,如果是,如主机端版本号为1.0.0001,则表明主机端的该程序需要进行更新。[0215]采用上述技术方案,补丁库建立在服务端而非主机端,避免了补丁库下发带来的流量与存储问题;此外,补丁检测在服务端进行,可有效减小主机的计算负载。
18
CN 111949291 A[0216]
说 明 书
16/18页
在一些优选的实施方式中,所述补丁检测结果处理模块704,包括:
[0217]第一补丁列表接收模块7041,用于接收服务端生成的第一补丁列表,所述第一补丁列表为服务端按第一比对规则对所述程序信息与补丁库进行比对获得;[0218]在具体实施过程中,服务端将主机端的程序信息与补丁库中的补丁按第一比对规则进行比对;所述补丁库中的不同补丁,可以分别对应一索引文件,该索引文件可以包括对应补丁的版本信息、调用函数信息、安装路径信息等的至少一种,该索引文件可以为.xml格式;所述第一比对规则可以为大规则或通用规则,即可以通过主机端上传的程序信息进行比对的规则,比对各组件或软件的大规则,从而获得比对结果即第一补丁列表,将所述第一补丁列表发送至主机端的第一补丁列表接收模块7041。所述每个补丁的xml文件中,包括多个节点。判断该节点内的比对规则是否包括需要调取存储于主机端的文件,若不需要,则判断该节点的比对规则为第一比对规则或大规则。示例性地,微软提供的window系统补丁中,其xml文件中包括CbsPackageApplicabilityMetadata数据节点,该节点的比对规则均可以通过与主机端上传的程序信息进行比对,如版本信息和/或调用函数信息等,此类数据节点,即可以为第一比对规则。如果某数据节点中,需要调取主机端某.dll文件进行比对,则该数据节点不属于第一比对规则。进一步地,所述第一比对规则包括组件名称、组件版本号,将补丁库中的补丁按第一比对规则与主机端的组件名称、组件版本号进行比对,第一比对规则中可能包括多个所需组件,即主机端需要安装上述组件才能构建适合该补丁的环境,若主机端不具有其中某一组件,则判断主机端不需要更新该补丁。进一步地,若主机端已安装某补丁对应的第一比对规则中所需的组件,则进一步判断主机端组件版本与第一比对规则中的组件版本是否相同,若相同,则该补丁信息被列入第一补丁列表中,并进一步由主机端进行验证,若不相同,则该补丁信息不被列入第一补丁列表中。比对后,将符合上述条件的补丁库中的补丁信息生成第一补丁列表。在一些实施方式中,某些补丁的索引文件中,均为第一比对规则,则该补丁的第一比对规则比对结果,不被列入第一补丁列表中,但是会出现在最终的第二补丁列表中。在一些实施方式中,某些补丁的索引文件中,不包含第一比对规则,则该补丁被列入第一补丁列表中。[0219]第一补丁列表验证模块7042,用于验证第一补丁列表,并将获得的第二补丁列表发送至服务端;
[0220]在具体实施过程中,主机端收到第一补丁列表后,通过第一补丁列表验证模块7042对其补丁进行验证核实;验证核实的方式可以为验证发布者,如非可信发布者的补丁不予更新;也可以为验证系统要求,如主机端应用Windows 10系统而补丁适用于Windows 7,该补丁也非主机端需要更新的补丁。主机端验证第一补丁列表后,排除第一补丁列表中不必要更新的补丁,生成第二补丁列表,并上传至服务端。在一些实施方式中,所述第一补丁列表为补丁索引文件去除第一比对规则对应的数据节点后的数据文件。示例性地,某一补丁对应的索引文件中,包括第一比对规则CbsPackageApplicabilityMetadata数据节点,则该补丁对应的第一补丁列表为该索引文件去除CbsPackageApplicabilityMetadata节点后的数据文件。采用此种实施方式,可以减小发送至主机端的数据量,提高整个补丁检测的检测效率。
[0221]补丁检测结果接收模块7043,用于接收经服务端生成的补丁检测结果,所述补丁检测结果为根据第二补丁列表生成。
19
CN 111949291 A[0222]
说 明 书
17/18页
在具体实施过程中,服务端根据第二补丁列表生成补丁检测结果,并发送至主机
端的补丁检测结果接收模块7043,所述检测结果可以报告的形式体现。在某些场景下,如主机端委托服务端进行补丁检测服务,服务端一般不会直接对主机端进行补丁更新,而往往会以补丁检测报告的形式呈现到主机端,主机端的系统环境服务端并不能在所有情况下都准确把握,如果贸然为主机端进行补丁更新,可能会给主机端带来不可预知的风险。[0223]采用上述技术方案,大规则的比对完成了大部分的数据判断任务,降低了下发客户端进行检测的流量和执行检测的时间。通过在服务端比对大规则,获得主机端需要更新的补丁的初步情况,再通过主机端的确认,可以提高补丁检测准确率,同时,主机端可以承担一部分计算工作,减轻服务端压力,提高检测速度。[0224]在一些优选的实施方式中,所述验证第一补丁列表包括,根据第二比对规则将程序信息与第一补丁列表进行比对。[0225]在具体实施过程中,主机端收到第一补丁列表后,对其补丁进行验证核实;验证核实的方式为采用第二比对规则,所述第二比对规则可以为小规则或非通用规则,如某些补丁的会核实主机端的某个文件版本,示例性地,如KB3035487补丁在更新前会核实ciodm.dll文件的版本,但是ciodm.dll文件存储于主机端,通常地,主机端不会将此类文件上传至服务端,因为在补丁检测前并不能确定补丁需要核实哪类文件,且上传文件会占用大量的流量和时间。当在服务端进行第一比对规则的比对后,各补丁的xml文件中,一般已经处理完大部分的数据,此时将xml文件中的其余数据,即第二比对规则相关数据回传至主机端,并在主机端按第二比对规则进行比对。示例性地,微软提供的window系统补丁中,其xml文件中包括BaseApplicabilityRules数据节点,该节点的比对规则需要核实主机端的某类文件的版本信息,如.dll文件,.sys文件等,此类数据节点,即可以为第二比对规则或小规则。
[0226]采用上述技术方案,通过在服务端比对大规则,获得主机端需要更新的补丁的初步情况,再通过主机端比对小规则,可以进一步提高补丁检测的准确率。[0227]基于本发明的发明构思,在本发明的另一些实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述实施例中所述方法的步骤。[0228]基于本发明的发明构思,在本发明的另一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述实施例中所述方法的步骤。[0229]应当指出,对于本领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。[0230]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0231]在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可
20
CN 111949291 A
说 明 书
18/18页
以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。[0232]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0233]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。[0234]应当理解,本申请实施例中,从权、各个实施例、特征可以互相组合结合,都能实现解决前述技术问题。
[0235]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。[0236]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
21
CN 111949291 A
说 明 书 附 图
1/5页
图1
图2
22
CN 111949291 A
说 明 书 附 图
2/5页
图3
23
CN 111949291 A
说 明 书 附 图
3/5页
图4
24
CN 111949291 A
说 明 书 附 图
4/5页
图5
25
CN 111949291 A
说 明 书 附 图
5/5页
图6
图7
26
因篇幅问题不能全部显示,请点此查看更多更全内容