补丁处理方法
【专利摘要】本申请实施例公开了一种实现补丁自动分析的方法和装置;其中,所述方法包括:获取补丁包;对所述补丁包进行解包处理,提取出补丁的描述信息和检测信息;将所述补丁的描述信息和检测信息录入系统漏洞库。采用本发明实施例提供的方法和装置,提高了补丁分析录入的效率,进而保证了补丁提供用户的及时性,有效的保证了用户的系统安全和稳定。
【专利说明】补丁处理方法
[0001]本发明专利申请是申请日为2011年3月2日、申请号为201110050092.0、名称为“一种实现补丁自动分析的方法及装置”的中国发明专利申请的分案申请。
【技术领域】
[0002]本申请涉及计算机【技术领域】,特别是涉及一种实现补丁自动分析的方法及装置。【背景技术】
[0003]在计算机的各种应用过程中,常常会发现各种操作系统、应用软件等存在问题或漏洞,也可称为BUG,而这些漏洞会使用户在使用操作系统或软件时出现干扰,或者导致软件的安全性能降低,因此可以通过写出一些可插入源程序的程序语言,对这些漏洞进行修复,上述用于修复漏洞的程序语言就称为补丁。
[0004]目前,随着操作系统和应用软件的产品越来越多,产品线也越来越长,进而其出现漏洞的几率也大大的增加了,从而导致补丁也越来越多;例如,微软在2009年针对其操作系统发布了 74个补丁,到了 2010年增长到106个补丁。由于用户通常并不会关注各种操作系统或应用软件的补丁公告,现有传统的方式是第三方通过实时监测一些操作系统或应用软件发布补丁公告的专门网站,从中下载补丁并提供给用户选择安装;但是,此种传统的方式往往单纯靠人工分析或录入,而随着补丁数量的增长,这种方式越来越不能满足不断增长的补丁数,进而无法保证补丁及时提供给用户,则很有可能对计算机系统或应用程序构成严重的威胁。
【发明内容】
[0005]本申请实施例提供了一种实现补丁自动分析的方法及装置,以解决现有人工分析补丁效率低下、进而无法保证补丁及时提供给用户的问题。
[0006]为了解决上述技术问题,本申请实施例公开了如下技术方案:
[0007]一种实现补丁自动分析的方法,包括:
[0008]获取补丁包;
[0009]对所述补丁包进行解包处理,提取出补丁的描述信息和检测信息;
[0010]将所述补丁的描述信息和检测信息录入系统漏洞库。
[0011 ] 优选的,该方法还包括:
[0012]利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库,如果是,则将所述补丁的描述信息和检测信息以及补丁文件组成新补丁包,并将所述新补丁包录入系统漏洞库。
[0013]优选的,该方法还包括:
[0014]利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库,如果是,则将所述补丁的描述信息、检测信息以及补丁包的下载URL组成新补丁信息包,并将所述新补丁信息包录入系统漏洞库。[0015]优选的,采用如下方式获取补丁包:
[0016]刷新补丁发布页面;
[0017]当所述补丁发布页面存在更新信息时,获取所述更新信息中的补丁信息,并根据该补丁信息判断所述补丁是否符合第一过滤条件,如果不符合,则
[0018]获取并链接访问补丁下载页面,下载补丁包。
[0019]优选的,所述更新信息中的补丁信息至少包括下述信息中的任意一种:补丁名称信息和补丁下载URL信息。
[0020]优选的,采用以下方式判断所述补丁是否符合第一过滤条件:
[0021]所述第一过滤条件中包含了补丁名称或补丁描述信息;
[0022]如果当前补丁信息中包含的补丁名称或补丁描述信息与所述第一过滤条件中包含的补丁名称或补丁描述信息一致,则表明当前补丁符合过滤条件。
[0023]优选的,所述描述信息至少包括以下参数中的一种:补丁的文件类型、文件版本号、组件环境、运行平台、注册表信息。
[0024]优选的,所述文件类型包括:.exe文件、.msn文件、.msp文件、.cab文件、.msi文件。
[0025]优选的,所述检测信息至少包括以下参数中的一种:
[0026]客户端根据所述文件版本号确定当前补丁是否需要安装运行的判断信息;检测所述客户端当前的操作系统、组件环境、运行平台是否符合所述补丁安装和运行的要求的判断息。
[0027]优选的,所述检测信息指示的检测操作包括:
[0028]利用注册表信息判断当前补丁是否已安装;和/或
[0029]利用文件版本号判断所述补丁是否需要安装。
[0030]优选的,该方法还包括:新补丁信息包或新补丁包中还包含第二补丁信息或第二补丁文件;所述第二补丁信息用于在当所述原有补丁安装运行失败后,指示用户选择执行第二补丁进行安装运行。
[0031]一种实现补丁自动分析的装置,包括:
[0032]获取单元,用于获取补丁包;
[0033]提取单元,用于对所述补丁包进行解包处理,提取出补丁的描述信息和检测信息;
[0034]录入单元,用于将所述补丁的描述信息和检测信息录入系统漏洞库。
[0035]优选的,所述录入单元包括:
[0036]第一判断模块,用于利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库,并将判断结果通知第一组包模块;
[0037]第一组包模块,用于接收所述第一判断模块的通知,将需要录入系统漏洞库的补丁的描述信息和检测信息以及补丁文件组成新补丁包,并录入系统漏洞库。
[0038]优选的,所述录入单元包括:
[0039]第二判断模块,用于利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库,并将判断结果通知第二组包模块;
[0040]第二组包模块,用于接收所述第二判断模块的通知,将需要录入系统漏洞库的补丁的描述信息和检测信息以及补丁包的下载URL组成新补丁包,并录入系统漏洞库。
[0041]优选的,所述获取单元包括:
[0042]刷新模块,用于刷新补丁发布页面;
[0043]第三判断模块,当所述补丁发布页面存在更新信息时,获取所述更新信息中的补丁信息,并根据该补丁信息判断所述补丁是否符合第一过滤条件,并将判断结果通知下载模块;
[0044]下载模块,用于获取并链接访问补丁下载页面,并下载补丁包。
[0045]优选的,所述更新信息中的补丁信息至少包括下述信息中的任意一种:补丁名称信息和补丁下载URL信息。
[0046]优选的,所述第三判断模块包括:
[0047]比较模块,用于比较更新信息中的补丁名称或补丁描述信息与第一过滤条件中包含的补丁名称或补丁描述信息是否相同,并将比较结果通知指示模块;
[0048]指示模块,用于接收所述比较模块的通知,当所述更新信息中的补丁名称或补丁描述信息与第一过滤条件中包含的补丁名称或补丁描述信息相同时,指示所述刷新单元执行刷新操作。
[0049]优选的,所述提取单元提取出描述信息至少包括以下参数中的一种:补丁的文件类型、文件版本号、组件环境、运行平台、注册表信息;
[0050]所述检测信息至少包括以下参数中的一种:客户端根据所述文件版本号确定当前补丁是否需要安装运行的判断信息;检测所述客户端当前的操作系统、组件环境、运行平台是否符合所述补丁安装和运行的要求的判断信息。
[0051]由上述实施例可以看出,本申请实施例中,当专门补丁发布网站出现了补丁页面后,通过获取补丁包,进而解包并提取所述补丁的相关信息,经过滤后将符合条件的补丁信息组成新补丁包或新补丁信息包,录入系统漏洞库以便后续提供给用户选择安装补丁,从而提高了补丁分析录入的效率,进而保证了补丁提供用户的及时性,有效的保证了用户的系统安全和稳定。
【专利附图】
【附图说明】
[0052]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0053]图1为本申请实实现补丁自动分析的方法的第一实施例流程示意图;
[0054]图2为本申请第一实施例中获取补丁文件的流程示意图;
[0055]图3为本申请实现补丁自动分析的装置的实施例框图。
【具体实施方式】
[0056]本发明的基本思想在于当专门补丁发布网站出现了补丁页面后,自动获取补丁包,然后通过解包获取所述补丁的相关信息,经过滤后将符合条件的补丁信息组成新的补丁包或新补丁信息包,录入系统漏洞库以便后续提供给用户选择安装补丁,从而提高了补丁分析录入的效率,进而保证了补丁提供用户的及时性,有效的保证了用户的系统安全和稳定。
[0057]本发明如下实施例提供了一种实现补丁自动分析的方法及装置。
[0058]为了使本【技术领域】的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
[0059]参见图1,为本申请实现补丁自动分析方法的第一实施例流程图:
[0060]步骤110:获取补丁包;
[0061]其中,本实施例中提及的获取补丁包为非人工方式获取,但人工方式收集补丁包或第三方收集补丁包也可实现本发明,本实施例具体可采用如下步骤实现,如图2所示,但并不局限于此:
[0062]Slll:刷新补丁发布页面;现有技术中采用第三方软件/工具来刷新固定的网页页面的技术已经比较成熟,而本实施例中此步骤也可采用现有技术来实现,例如,采用刷屏软件程序定期刷新微软等公司网站的补丁发布页面;具体本文不再赘述;
[0063]S112:当所述补丁发布页面存在更新信息时,获取所述更新信息中的补丁信息,并根据该补丁信息判断所述补丁是否符合第一过滤条件,如果符合,则返回执行步骤Slll ;否则,执行步骤S113;
[0064]具体的,所述各种操作系统或应用软件的补丁发布页面通常情况下会显示多个补丁发布信息,其中往往只是给出了每个补丁的名称、补IF载URL (Universal ResourceLocator,统一资源定位符)等简单内容,而由于目前存在部分补丁对于绝大多数用户来说是不适应、或者是不需要的,因此利用所述补丁名称等简单信息预先设置第一过滤条件,使得当所述补丁符合所述第一过滤条件时,即无需下载该补丁而是继续刷新补丁发布页面;例如,由于Windows2008操作系统或浏览器IE64对于绝大多数用户来说是不采用或不需要的,因此预设第一过滤条件为“针对WindOws2008操作系统或浏览器IE64”,如果当前补丁发布页面更新的消息显示当前发布的正是针对WindOws2008操作系统或针对浏览器IE64的补丁时,则其符合所述第一过滤条件,因此并不下载这些补丁,而是继续执行步骤Slll刷新补丁发布页面;
[0065]S113:获取并链接访问补丁下载页面,并下载补丁包;
[0066]具体的,当所述补丁发布页面中存在更新消息后,所述更新消息中包含了补丁的下载URL,如果所述补丁不符合第一过滤条件,则链接访问该URL对应的页面,从中下载所述补丁包。
[0067]步骤120:对所述补丁包进行解包处理,提取出补丁的描述信息和检测信息;
[0068]具体的,所述描述信息包括但不限于补丁的文件类型、文件版本号、组件环境、运行平台、注册表信息等;其中,所述文件类型包括但不限于:.exe文件、.msn文件、.msp文件、.cab文件、.msi文件等;
[0069]而本实施例中提及的所述检测信息包括但不限于客户端根据所述文件版本号确定当前补丁是否需要安装运行的判断信息,以及检测所述客户端当前的操作系统、组件环境、运行平台是否符合所述补丁安装和运行的要求的判断信息等;具体的利用所述检测信息执行检测操作包括但不限于以下几种方式:
[0070]A:利用注册表信息判断当前补丁是否已安装;[0071]例如若要判断补丁 KB979099是否已安装,首先在注册表的以下项目中查询是否有包含KB979099的键值:
[0072]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersi on\Component Based Servicing\Packages\
[0073]如果已安装了所述补丁,则上述注册表的项目中必然存在类似Package_for_KB979099_RTM?31bf3856ad364e35?x86--6.1.1.0的注册键存在,此键中为所述补丁的安装信息;以此即可判断当前补丁是否已安装;
[0074]B:利用文件版本号判断所述补丁是否需要安装;
[0075]例如,所述描述信息中包含了当前补丁对应的文件版本号为1.0.0003,则所述检测信息的作用时为检测客户端当前文件的版本是否小于1.0.0003,即msores.dlKl.0.0003,如果是,则表明所述补丁需要在当前客户端安装运行;
[0076]步骤130:将所述补丁的描述信息和检测信息录入系统漏洞库。
[0077]其中,本实施例还包括在录入补丁的描述信息和检测信息前执行判断操作,具体可通过以下方式实现,但并不局限于此:
[0078]A、利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库,如果是,则将所述补丁的描述信息和检测信息以及补丁文件组成新的补丁包,并将所述新补丁包录入系统漏洞库;
[0079]B、利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库,如果是,则将所述补丁的描述信息、检测信息以及补丁包的下载URL组成新补丁信息包,并将所述新补丁信息包录入系统漏洞库。
[0080]在本实施例中,可采用如下方式判断当前补丁是否需要录入系统漏洞库,但并不局限于此:如果所述描述信息中包含了当前补丁的组件环境为IE或OFFICE或.net环境下,则表明当前补丁并不是大多数用户所需求的,因此即可舍弃当前信息而并不将其录入系统漏洞库;当然,也可以采用其他的补丁描述信息和检测信息判断,或者不进行筛选判断,而是直接将补丁的描述信息和检测信息录入系统漏洞库,本文对此并不作具体限定;
[0081]值得注意的是,本实施例中利用所述补丁的描述信息和检测信息、以及补丁文件或补丁下载URL组成新的补丁包或新补丁信息包并录入系统漏洞库的目的是:当将所述系统漏洞库中的新补丁包或新补丁信息包提供给用户后,在补丁安装运行之前会在客户端首先利用所述描述信息和检测信息检测当前客户端是否符合检测条件,也即当前客户端是否需要安装运行该补丁文件,如果是,则然后运行补丁文件;当然,也可以在检测到当前客户端符合检测条件后,利用所述补丁文件中的下载地址链接访问该补丁的下载页面,下载补丁后再安装,本实施例并不对此方式做具体限定。
[0082]基于上述修改实施例的方法,本发明第二实施例也提出了一种实现补丁自动分析的方法,其基本步骤与上述方法相同,不同之处在于:在步骤130中,组成的新补丁包中不但包含所述补丁的描述信息和检测信息、以及所述补丁文件或补丁包,还包含第二补丁信息;所述第二补丁信息用于在当所述原有补丁安装运行失败后,指示用户选择执行第二补丁进行安装运行;具体第二补丁如何针对当前补丁对应的漏洞进行修复本文在此不再赘述。
[0083]可以看出,采用本发明上述实施例的方法,当专门补丁发布网站出现了补丁页面后,通过自动获取补丁包,然后通过解包获取所述补丁的相关信息,经过滤后将符合条件的补丁信息组成新的补丁包或补丁信息包,并录入系统漏洞库以便后续提供给用户选择安装,从而提高了补丁分析录入的效率,进而保证了补丁提供用户的及时性,有效的保证了用户的系统安全和稳定。
[0084]与本申请实现补丁自动分析的方法的实施例相对应,本申请还提供了实现该方法的装置的实施例。
[0085]参见图3、为本申请实现补丁自动分析的装置的实施例框图:
[0086]该实现补丁自动分析的装置包括:
[0087]获取单元310,用于获取补丁包;
[0088]提取单元320,用于对所述补丁包进行解包处理,提取出补丁的描述信息和检测信息;
[0089]录入单元330,用于将所述补丁的描述信息和检测信息录入系统漏洞库。
[0090]其中,所述录入单元包括:第一判断模块,用于利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库,并将判断结果通知第一组包模块;第一组包模块,用于接收所述第一判断模块的通知,将需要录入系统漏洞库的补丁的描述信息和检测信息以及补丁文件组成新补丁包,并录入系统漏洞库。
[0091]此外,所述录入单元还可包括:第二判断模块,用于利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库,并将判断结果通知第二组包模块;第二组包模块,用于接收所述第二判断模块的通知,将需要录入系统漏洞库的补丁的描述信息和检测信息以及补丁包的下载URL组成新补丁包,并录入系统漏洞库。
[0092]指的注意的是,所述获取单元包括:刷新模块,用于刷新补丁发布页面;
[0093]第三判断模块,当所述补丁发布页面存在更新信息时,获取所述更新信息中的补丁信息,并根据该补丁信息判断所述补丁是否符合第一过滤条件,并将判断结果通知下载模块;下载模块,用于获取并链接访问补丁下载页面,并下载补丁包。
[0094]其中,所述更新信息中的补丁信息至少包括下述信息中的任意一种:补丁名称信息和补丁下载URL信息。
[0095]此外,所述第三判断模块包括:比较模块,用于比较更新信息中的补丁名称或补丁描述信息与第一过滤条件中包含的补丁名称或补丁描述信息是否相同,并将比较结果通知指示模块;指示模块,用于接收所述比较模块的通知,当所述更新信息中的补丁名称或补丁描述信息与第一过滤条件中包含的补丁名称或补丁描述信息相同时,指示所述刷新单元执行刷新操作。
[0096]除此之外,所述提取单元提取出描述信息至少包括以下参数中的一种:补丁的文件类型、文件版本号、组件环境、运行平台、注册表信息;所述检测信息至少包括以下参数中的一种:客户端根据所述文件版本号确定当前补丁是否需要安装运行的判断信息;检测所述客户端当前的操作系统、组件环境、运行平台是否符合所述补丁安装和运行的要求的判断息。
[0097]本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0098]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0099]以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种补丁处理方法,其包括: 监测各补丁发布页面; 当监测到补丁发布页面存在更新信息时,下载与所述更新信息对应的补丁包; 对所述补丁包进行解包处理以提取出补丁的描述信息和检测信息; 将所述补丁的描述信息和检测信息录入系统漏洞库。
2.根据权利要求1所述的方法,还包括: 根据所述描述信息和检测信息判断当前客户端是否符合检测条件; 如果符合检测条件,则在当前客户端安装对应的补丁包。
3.根据权利要求1或2所述的方法,其中,将所述补丁的描述信息和检测信息录入系统漏洞库进一步包括: 利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库; 如果需要,则将所述补丁的描述信息和检测信息以及补丁文件组成新补丁包并将所述新补丁包录入系统漏洞库。
4.根据权利要求1或2所述的方法,将所述补丁的描述信息和检测信息录入系统漏洞库进一步包括: 利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库; 如果需要,则将所述补丁的描述信息、检测信息以及补丁包的下载URL组成新补丁信息包并将所述新补丁信息包录入系统漏洞库。
5.根据权利要求1至4中任一项所述的方法,其中,所述描述信息至少包括以下参数中的一种:补丁的文件类型、文件版本号、组件环境、运行平台、注册表信息。
6.根据权利要求5所述的方法,其中,所述文件类型包括:.exe文件、.msn文件、.msp文件、.cab文件、.msi文件。
7.根据权利要求1至6中任一项所述的方法,其中,所述检测信息至少包括以下参数中的一种: 客户端根据所述文件版本号确定当前补丁是否需要安装运行的判断信息; 检测所述客户端当前的操作系统、组件环境、运行平台是否符合所述补丁安装和运行的要求的判断信息。
8.根据权利要求2至7中任一项所述的方法,还包括:新补丁信息包或新补丁包中还包含第二补丁信息或第二补丁文件,其中,所述第二补丁信息用于在当所述原有补丁安装运行失败后,指示用户选择执行第二补丁进行安装运行。
9.一种补丁处理方法,其包括: 监测各补丁发布页面; 当监测到补丁发布页面存在更新信息时,获取所述更新信息中的补丁信息; 根据所述补丁信息判断相应的补丁是否符合第一过滤条件; 如果符合第一过滤条件,则获取并链接补丁下载页面以下载补丁包; 对所述补丁包进行解包处理以提取出补丁的描述信息和检测信息; 将所述补丁的描述信息和检测信息录入系统漏洞库。
10.根据权利要求9所述的方法,还包括: 根据所述描述信息和检测信息判断当前客户端是否符合检测条件;如果符合检测条件,则在当前客户端安装对应的补丁包。
11.根据权利要求9或10所述的方法,其中,将所述补丁的描述信息和检测信息录入系统漏洞库进一步包括: 利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库; 如果需要,则将所述补丁的描述信息和检测信息以及补丁文件组成新补丁包并将所述新补丁包录入系统漏洞库。
12.根据权利要求9或10所述的方法,将所述补丁的描述信息和检测信息录入系统漏洞库进一步包括: 利用所述补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库; 如果需要,则将所述补丁的描述信息、检测信息以及补丁包的下载URL组成新补丁信息包并将所述新补丁信息包录入系统漏洞库。
13.根据权利要求9至12中任一项所述的方法,其中,所述描述信息至少包括以下参数中的一种:补丁的文件类型、文件版本号、组件环境、运行平台、注册表信息。
14.根据权利要求7至12中任一项所述的方法,其中,所述检测信息至少包括以下参数中的一种: 客户端根据所述文件版本号确定当前补丁是否需要安装运行的判断信息; 检测所述客户端当前的操作系统、组件环境、运行平台是否符合所述补丁安装和运行的要求的判断信息。
15.根据权利要求10至14中任一项所述的方法,还包括:新补丁信息包或新补丁包中还包含第二补丁信息或第二补丁文件,其中,所述第二补丁信息用于在当所述原有补丁安装运行失败后,指示用户选择执行第二补丁进行安装运行。
16.根据权利要求9至15中任一项所述的方法,其中,所述第一过滤条件包括补丁名称和/或补丁描述信息。
【文档编号】G06F9/445GK103955380SQ201410127606
【公开日】2014年7月30日 申请日期:2011年3月2日 优先权日:2011年3月2日
【发明者】李煜, 赵建锋 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司