修复系统漏洞的方法和装置制造方法

文档序号:6536979阅读:154来源:国知局
修复系统漏洞的方法和装置制造方法
【专利摘要】本发明公开了一种修复系统漏洞的方法和装置,其中,方法包括:从服务器下载包含待更新对象的信息的更新描述文件,更新描述文件是根据漏洞修复文件而生成的;将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项;根据差异项获取相应的更新内容;根据更新内容,对终端系统中的漏洞进行修复。通过上述智能比对过程,只需要进行差异文件或信息的下载或更新,这避免了冗余内容的重复下载和安装对网络资源以及CPU和内存资源的过多占用,从而显著地降低了漏洞修复需要的时间。同时能够实时地获取最新的更新内容,提高修复的效率,有效的保证了用户的系统安全和稳定。
【专利说明】修复系统漏洞的方法和装置
【技术领域】
[0001]本发明涉及互联网【技术领域】,具体涉及一种修复系统漏洞的方法和装置。
【背景技术】
[0002]漏洞是指在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。任何用代码编写的东西,都会存在不同程度的漏洞。漏洞虽然可能最初就存在于系统当中,但一个漏洞并不是自己出现的,必须要有人发现。在实际使用中,入侵者会有意利用其中的某些错误并使其成为威胁系统安全的工具。
[0003]例如,Microsoft Windows作为人们日常生活中最常使用的系统,每天都有许多的漏洞被发现。微软公司会定期或者在补丁期针对这些漏洞发布补丁。用户可以通过系统更新(Windows Update)接收微软提供的漏洞修复补丁。在系统发布了较长时间之后,补丁数量将急剧增加。为保证系统安全和稳定,用户需要在安装完系统后逐一安装所有补丁。补丁下载速度慢,逐一安装、修复补丁的时间漫长,且可能需要经过多次重启。
[0004]Windows Update作为针对单个漏洞的修复程序,以独立安装包的形式存在。其安装包中不但包含需要更新的文件及注册表项,还需要处理更新的判断逻辑,每个安装包中存在许多重复的内容。由于每个安装包都需要对系统配置进行检测,所以造成更新程序体积臃肿。由于漏洞发现的过程是一个持续的过程,补丁的发布也是持续进行的,补丁可能会反复的更新系统中的同一文件。以上缺点导致在更新大量漏洞时耗时冗长。且由于部分更新程序需要重启才能生效,在更新大量补丁时往往需要进行多次重启。微软补丁更新采用http方式进行,受限于网络及服务器分布情况,下载这些更新程序往往需要较多的时间。
[0005]在系统更新达到一定数量后微软还会将这些更新进行整理以补丁包(ServicePack)的形式发布。补丁包通常是将先前发行的更新合并在一起,有助于提高Windows的可靠性。补丁包还可能包含安全和性能改进以及对新型硬件的支持。补丁包可以一次性更新累积的系统漏洞。
[0006]补丁包的出现可以有效的去除安装程序中重复冗余的内容。但是由于需要进行大量的运算,补丁包的安装往往需要较长的时间。同时,这种方式也无法避免网络资源的浪费,因为下载到每个用户机器上的补丁包安装包大小内容都是一样的,如果用户之前已经更新了大多数的补丁,则安装包中的大部分文件和逻辑都属于对用户无用的内容。且由于补丁是补丁期发布,只能解决发布时已知的问题,无法起到持续修复的功能,用户在安装完补丁包后还需要更新大量补丁。同时补丁包作为积累性补丁,发布间隔一般较长。
[0007]—些第三方安全公司针对Windows Update程序下载缓慢,重复安装等问题对补丁更新进行了优化。其中多采用P2P加速技术,有效的减缓了服务器压力等网络问题。对补丁进行了有效归类,仅针对严重的系统问题进行更新提示,为广大用户进行有效的补丁筛分。同时还提供了第三方软件漏洞修复功能,确保系统的安全性。
[0008]第三方软件的漏洞修复功能虽然对补丁进行了分类区分和二次分发,使用微软原版更新可以有效的降低风险,但无法解决更新程序内容(代码)冗余的问题,也无法避免对同一文件的反复更新。由于补丁是顺序安装,在更新大量漏洞时耗时较长。由于仅对重要内容进行强制更新,微软针对功能和兼容性所做的更新往往被忽略,用户无法直接享受功能及兼容性方面的改进。

【发明内容】

[0009]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的修复系统漏洞的方法和装置。
[0010]根据本发明的一个方面,提供了一种修复系统漏洞的方法,包括:从服务器下载包含待更新对象的信息的更新描述文件,更新描述文件是根据漏洞修复文件而生成的;将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项;根据差异项获取相应的更新内容;根据更新内容,对终端系统中的漏洞进行修复。
[0011]根据本发明的另一方面,提供了一种修复系统漏洞的装置,包括:下载模块,用于从服务器下载包含待更新对象的信息的更新描述文件,更新描述文件是根据漏洞修复文件而生成的;比对模块,用于将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项;获取模块,用于根据差异项获取相应的更新内容;修复模块,用于根据更新内容,对终端系统中的漏洞进行修复。
[0012]根据本发明的修复系统漏洞的方法和装置,收集终端操作系统中软件的提供商发行的漏洞修复文件,从中提取出待更新对象的信息,利用待更新对象的信息生成更新描述文件,终端下载了更新描述文件后,将更新描述文件中的信息与终端系统中对应对象的信息进行比对,根据比对过程中产生的差异项获取相应的更新内容,获取全部的更新内容后,利用该获取的更新内容,对系统中的漏洞进行修复。根据该方案,对于终端系统,通过上述智能比对过程,只需要进行差异文件或信息的下载或更新。因此,不同的终端系统要获取的更新内容可能互不相同,这避免了冗余内容的重复下载和安装对网络资源以及CPU和内存等自身资源的过多占用,从而显著地降低了漏洞修复需要的时间。同时能够实时地获取最新的更新内容,提高修复的效率,有效的保证了用户的系统安全和稳定。
[0013]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0014]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0015]图1示出了根据本发明一个实施例的修复系统漏洞的方法的流程图;
[0016]图2示出了根据本发明另一个实施例的修复系统漏洞的方法的流程图;
[0017]图3示出了根据本发明另一个实施例的修复系统漏洞的方法的流程图;
[0018]图4示出了根据本发明一个实施例的修复系统漏洞的装置的结构框图。【具体实施方式】
[0019]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0020]图1示出了根据本发明一个实施例的修复系统漏洞的方法的流程图,如图1所示,该方法包括如下步骤:
[0021]步骤S110,从服务器下载包含待更新对象的信息的更新描述文件。
[0022]更新描述文件是根据漏洞修复文件而生成的。漏洞修复文件包括系统漏洞修复文件,例如,Windows系统补丁,补丁包(Service Pack)等。还包括由第三方程序的漏洞修复文件,浏览器、杀毒软件等应用程序的更新文件,以及硬件设备的支持文件,例如,最新的显卡、声卡驱动程序等。服务器通过收集上述补丁包信息和/或操作系统文件信息得到漏洞修复文件。操作系统文件信息可以包括操作系统及软件的版本信息。
[0023]步骤S120,将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项。
[0024]待更新对象可以是系统补丁包中包含的系统待更新对象,包括系统文件,系统配置、系统文件结构,文件关联等,也可以是第三方发布的待更新对象。待更新对象的信息应该能够唯一地表征该更新对象,例如,对于系统文件,待更新对象的信息可以是通过文件校验算法为文件生成的校验码。在比对中,如果更新描述文件中包含的待更新对象的信息与终端系统中对应对象的信息相同,认为系统中的对应对象是最新的,不需要更新。如果不同,则认为该系统中的对应对象需要更新,将待更新对象与系统中的对应对象作为差异项记录在差异列表中。具体地,记录的差异项可以包括文件名、路径、MD5值等文件特征,以及注册表键值等系统配置信息。
[0025]步骤S130,根据差异项获取相应的更新内容。
[0026]对于系统文件,更新内容是最新的待更新系统文件。对于系统配置信息,更新内容可以是具体的系统配置项的内容,如注册表某一项的键值。
[0027]步骤S140,根据更新内容,对终端系统中的漏洞进行修复。
[0028]该步骤包括:利用获取的更新内容替换终端系统中的相应内容。本发明中的终端主要是指与服务器通信的客户端设备,包括个人电脑、智能手机等,相应地,终端系统即是指运行于上述终端上的操作系统,例如,Windows, Linux等。本发明可以实施为运行于上述系统的杀毒软件,或安全软件中,实现漏洞修复等功能等。例如,对于系统补丁、补丁包,可以利用补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库,如果是,则将补丁的描述信息和检测信息以及补丁文件组成新的补丁包,并将新补丁包录入系统漏洞库;或者,利用补丁的描述信息和检测信息判断当前补丁是否需要录入系统漏洞库,如果是,则将补丁的描述信息、检测信息以及补丁包的下载URL组成新补丁信息包,并将新补丁信息包录入系统漏洞库。
[0029]根据本发明上述实施例提供的方法,服务器中存放有通过收集终端系统及系统中软件的提供商发行的漏洞修复文件而生成的更新描述文件,终端下载了更新描述文件后,将更新描述文件中的信息与终端系统中对应的信息比对,根据比对过程中产生的差异项获取相应的更新内容,利用该获取的更新内容,对系统中的漏洞进行修复。根据该方案,对于终端系统,例如,Windows系统或移动终端智能系统,通过上述智能比对过程,只需要进行差异文件或信息的下载或更新。因此,不同的终端系统要获取的更新内容可能互不相同,这避免了冗余内容的重复下载和安装对网络资源以及CPU和内存等自身资源的过多占用,从而显著地降低了漏洞修复需要的时间。同时能够实时地获取最新的更新内容,提高修复的效率,有效的保证了用户的系统安全和稳定。
[0030]图2示出了根据本发明另一个实施例的修复系统漏洞的方法的流程图。在该实施例中,以系统文件的修复为例,详细介绍本发明的漏洞修复方法,对于针对第三方程序的漏洞修复文件,可以类似的方式处理。如图2所示,该方法包括如下步骤:
[0031]步骤S210,从服务器下载更新描述文件。
[0032]更新描述文件中包含待更新的对象的信息,在本实施例中,待更新的对象即是服务器从收集的系统补丁、补丁包中解析出的系统文件。例如,对于Windows系统,该系统文件可以是某一 dll (动态链接库)文件。则待更新的对象的信息可以是根据文件内容,通过特定算法生成的校验信息,例如,文件的MD5、SHA1、CRC32值等。
[0033]更新描述文件中还包括以下信息:补丁的文件类型、文件版本号、组件环境、运行平台、注册表信息等;其中,所述文件类型包括但不限于:.exe文件、.msn文件、.msp文件、.cab文件、.msi文件等。
[0034]步骤S220,检测终端系统的运行环境状态以及扫描需要更新的补丁情况。
[0035]该步骤用于判断终端系统当前的状态是否适合于更新。例如,检查下载的更新描述文件适用的操作系统版本,位数是否与终端系统一致,检查本次更新是否与终端的各设备兼容等。在不一致或不兼容时,向用户提示并中止该系统文件的更新。
[0036]步骤S230,将更新描述文件包含的系统文件信息与终端系统中对应系统文件的信息进行比对。
[0037]如步骤S210中所述的,系统文件的信息可以是特定算法生成的文件校验码。在本实施例中,采用系统文件的MD5值作为系统文件的信息。服务器收集补丁或补丁包后,解析出其中的待更新系统文件,计算每个待更新系统文件的MD5值,并将计算得到的MD5值作为待更新系统文件的信息加入到更新描述文件中。
[0038]在终端下载了更新描述文件后,以与服务器相同的计算MD5值的方式计算终端系统中对应系统文件的MD5值,将更新描述文件包含的待更新系统文件的MD5值与终端系统中对应系统文件的MD5值进行比对。如果更新描述文件中包含的文件MD5值与系统中对应文件的MD5值相同,表明终端系统的对应文件是最新的,无需更新。
[0039]步骤S240,记录通过比对获得的差异文件列表。
[0040]将与终端系统中系统文件的MD5值不同的一个或多个待更新系统文件作为差异项记录在差异文件列表中。具体地,记录的差异项可以包括文件名、路径、MD5值等文件特征。
[0041]步骤S250,以P2SP方式下载差异文件列表包含的一个或多个待更新系统文件。
[0042]该步骤对应于步骤S130,用于根据差异列表获取更新内容。在本实施例中,更新内容是对应于差异文件列表中各差异项的系统文件。
[0043]待更新系统文件的信息除MD5值外,还包含待更新系统文件的下载地址。则获取相应的更新内容具体为:根据一个或多个待更新系统文件的下载地址,分别下载差异文件列表包含的一个或多个待更新系统文件。
[0044]在本发明实施例中,可选地,下载采用P2SP方式进行。具体地,下载一个或多个待更新系统文件时,查询具有与该一个或多个待更新系统文件相同的文件的服务器和终端,例如,服务器端保存有检索数据库,检索数据库中保存有具有该文件的服务器或终端的地址,利用文件的MD5值、文件名等特征进行检索,从具有与一个或多个待更新系统文件相同的文件的服务器和终端下载该一个或多个待更新系统文件。这种方式在下载稳定性和下载速度上与传统方式相比,具有很大提高。
[0045]或者,可选地,将待更新的系统文件也加入在更新描述文件中,获取相应的更新内容具体为:根据差异文件列表中记录的差异项,在更新描述文件中提取差异文件列表包含的一个或多个待更新系统文件。
[0046]步骤S260,重启终端系统进入本机工作模式。
[0047]在获取全部的待更新系统文件后,重新启动终端系统。本机工作模式是指区别于终端系统正常使用状态的工作模式。在本机工作模式下,终端系统可能只加载必要的程序,释放文件的控制权,这有利于系统文件的替换。例如,对Windows系统,重启Windows系统后进入native环境,native环境是Windows系统运行的基本环境。在此环境下只有Windows的少量程序在运行,磁盘的读写操作很少,该条件下的系统操作能够达到更高的效率。
[0048]步骤S270,对需要被修复的终端系统中的系统文件进行备份并生成恢复项。
[0049]待更新的系统文件与终端设备或系统不兼容,或者待更新系统文件下载不完全,文件受损等情况,可能导致更新后的系统部分功能无法正常使用。备份创建被替换的系统文件的副本,然后将文件的副本存储到其他存储设备。例如,可以使用急救盘等产品将被替换的系统文件副本等存储在U盘中。对于驱动程序,急救盘系统还可以在修复系统前备份驱动,修复系统后自动安装之前备份的驱动,使用户直接可以得到一个全新可用的系统。急救盘系统提供类似于微软视窗操作系统(Microsoft Windows)的功能。急救盘系统可以启动相关的硬件设备并对这些设备进行管理,包括硬盘管理。这样,如果更新后的系统崩溃、无法正常启动的时候可以为用户提供一个临时性的、安全的操作环境,还能够利用恢复项和备份数据将系统恢复至更新之前的状态。本实施例中,备份也在系统的本机工作模式下完成。
[0050]步骤S280,利用下载的一个或多个待更新系统文件替换终端系统中对应的系统文件。
[0051]将下载的一个或多个待更新系统文件按照指定的路径释放到终端系统中。例如,将获取的待更新系统文件与安装程序制作成安装包,对文件进行统一的替换。当待更新的系统文件来自多个独立的补丁或补丁包时,通常每个补丁中都具有相应的安装程序,这些安装程序中包含大量的重复内容,顺序安装时,可能需要终端系统多次重启。在本实施例中,在用户登录前的native环境下对获取的全部待更新系统文件进行替换,避免了多个补丁或补丁包中安装程序的重复下载和运行以及终端系统的多次重启。
[0052]根据本发明上述实施例提供的方法,服务器通过收集终端系统提供商发行的补丁、补丁包等,提取出其中待更新的系统文件,并计算系统文件的MD5值,写入更新描述文件,终端下载了更新描述文件后,将更新描述文件中待更新系统文件的MD5值与终端系统中对应文件的MD5值比对,根据比对过程中产生的差异项,根据更新描述文件中的下载地址,以P2SP的方式进行下载,并在native环境下完成全部待更新文件的替换。根据该方案,对于终端系统,通过上述智能比对过程,只需要进行差异文件下载或更新。因此,不同的终端系统要获取的更新内容可能互不相同,这避免了冗余内容的重复下载对网络资源的过多占用,提高了修复的效率,有效的保证了用户的系统安全和稳定;进一步地,以P2SP方式下载,达到了更高的下载速度和稳定性,同时,native等本机模式下的文件的统一替换避免了顺序安装补丁时的系统多次重启。
[0053]图3示出了根据本发明另一个实施例的修复系统漏洞的方法的流程图,该实施例中,以待更新的系统配置信息为例,详细介绍本发明的漏洞修复方法,对于系统文件结构信息以及文件关联信息,可以类似的方式处理。如图3所示,该方法包括如下步骤:
[0054]步骤S310,从服务器下载更新描述文件。
[0055]更新描述文件中包含待更新的对象的信息。在本实施例中,待更新的对象是终端系统中待更新的系统配直,包括:注册表;系统目录签名,例如,Windowscatalog签名;磁盘以及浏览器设置,例如磁盘属性,安全描述符,ie数据等。相应地,更新对象的信息包含以下信息的一项或多项:注册表项信息、系统目录签名信息、磁盘相关信息以及浏览器设置信息。以注册表为例,更新描述文件中包含的注册表项信息可以是注册表某一项的键值。上述系统配置信息也是服务器从补丁、补丁包等漏洞修复文件中提取的,补丁和补丁包中除了待更新的系统文件外,也可能包含待更新的系统配置信息,该待更新的系统配置信息可能与待更新的系统文件相关联,也可能独立于待更新的系统文件。
[0056]步骤S320,检测终端系统的运行环境状态以及扫描需要更新的补丁情况。
[0057]该步骤的操作和方法与步骤S220相同,此处不再赘述。
[0058]步骤S330,将更新描述文件包含的待更新系统的配置信息与系统中对应的信息进行比对,获得比对不一致的差异项。
[0059]本步骤具体包括比对以下信息的一项或多项:注册表项信息、系统目录签名信息、磁盘相关信息以及浏览器设置信息。这通常包括比对上述各项信息的设置值,一般为二进制字符串,例如注册表键值等。
[0060]步骤S340,从更新描述文件中获得差异项对应的待更新的系统配置信息。
[0061 ] 该步骤对应于步骤S130,用于根据差异项获取更新内容。在本实施例中,更新内容是对应于更新描述文件中各差异项的系统配置的设置值,如注册表键值。
[0062]步骤S350,重启终端系统进入本机工作模式。
[0063]步骤S360,对需要被修复的系统配置信息进行备份并生成恢复项。
[0064]步骤S350和S360的操作方法与步骤S250,S260相同,此处不再赘述。
[0065]步骤S370,用获取的待更新的系统配置信息替换终端系统中对应对象的配置信肩、O
[0066]将终端系统中的系统配置设置值修改为更新描述文件中的待更新系统配置的设置值。
[0067]根据本发明上述实施例提供的方法,通过收集终端系统提供商发行的补丁、补丁包等,提取出其中注册表信息等系统配置信息,将系统配置信息写入更新描述文件中。终端下载更新描述文件后,将更新描述文件中的系统配置信息与终端系统中的对应对象的信息进行比对,根据比对过程中产生的差异项,在native等本机模式下,利用更新描述文件中的待更新系统配置信息替换终端系统中的对应信息。根据该方案,对于终端系统,通过上述智能比对过程避免了相同安装文件的重复运行,同时,native等本机模式下对系统配置信息的集中替换也避免了顺序安装补丁时的系统多次重启,提高了修复的效率,有效的保证了用户的系统安全和稳定。
[0068]图4示出了根据本发明一个实施例的修复系统漏洞的装置的结构框图,如图4所示,该装置包括:
[0069]下载模块410,用于从服务器下载包含待更新对象的信息的更新描述文件,更新描述文件是根据漏洞修复文件而生成的。漏洞修复文件包括系统漏洞修复文件,例如,Windows系统补丁,补丁包(Service Pack)等。还包括第三方程序的漏洞修复文件,浏览器、杀毒软件等应用程序的更新文件,以及硬件设备的支持文件,例如,最新的显卡、声卡驱动程序等。服务器通过收集上述补丁包信息和/或操作系统文件信息得到漏洞修复文件。操作系统文件信息可以包括操作系统及软件的版本信息。
[0070]更新描述文件中包含待更新的对象的信息,这包括服务器从收集的系统补丁、补丁包中解析出的系统文件。例如,对于Windows系统,该系统文件可以是某一 dll (动态链接库)文件。则待更新的对象的信息可以是根据文件内容,通过特定算法生成的校验信息,例如,文件的MD5、SHA1、CRC32值等。
[0071]更新描述文件中还包括以下信息:补丁的文件类型、文件版本号、组件环境、运行平台等;其中,所述文件类型包括但不限于:.exe文件、.msn文件、.msp文件、.cab文件、.msi文件等。
[0072]比对模块420,用于将下载模块410下载的更新描述文件中包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项。
[0073]待更新对象可以是系统补丁包中包含的系统文件,系统配置、系统文件结构,文件关联等。相应地,待更新对象的信息包含以下信息的一项或多项:待更新系统文件的信息、待更新系统配置信息、系统文件结构信息以及文件关联信息。待更新对象的信息应该能够唯一地表征该更新对象,例如,对于系统文件,待更新对象的信息可以是通过文件校验算法为文件生成的校验码。
[0074]在本发明中,采用系统文件的MD5值作为系统文件的信息。服务器收集补丁或补丁包后,解析出其中的系统文件,计算每个系统文件的MD5值,并将计算得到的MD5值作为系统文件信息加入到更新描述文件中。
[0075]则对于待更新的系统文件,比对模块420具体用于:在下载模块410下载了更新描述文件后,以与服务器计算MD5相同的方式计算终端系统中系统文件的MD5值,并将更新描述文件包含的待更新系统文件的MD5值与计算得到的系统对应文件的MD5值进行比对。如果更新描述文件中包含的文件MD5值与系统中对应文件的MD5值相同,表明终端系统的对应文件是最新的,无需更新。
[0076]比对模块420还用于将与终端系统中系统文件的MD5值不同的一个或多个待更新系统文件作为差异项记录在差异文件列表中。具体地,记录的差异项可以包括文件名、路径、MD5值等文件特征。
[0077]对于系统配置信息,比对模块420具体用于:将更新描述文件包含的待更新系统配置信息与终端系统中对应对象的信息进行比对。包括比对以下信息的一项或多项:注册表项信息、系统目录签名信息、磁盘相关信息以及浏览器设置信息。
[0078]对于系统文件结构信息以及文件关联信息,比对模块420按类似的方式进行比对。
[0079]获取模块430,用于根据差异项获取相应的更新内容。
[0080]对于系统文件,待更新系统文件的信息还包含待更新系统文件的下载地址。则获取模块430用于:根据一个或多个待更新系统文件的下载地址,采用P2SP方式分别下载差异文件列表包含的一个或多个待更新系统文件。具体地,获取模块430查询具有与一个或多个待更新系统文件相同的文件的服务器和终端,并从具有与一个或多个待更新系统文件相同的文件的服务器和终端下载一个或多个待更新系统文件。
[0081]或者,更新描述文件中包括待更新的系统文件,则获取模块430根据差异文件列表中记录的差异项,在更新描述文件中提取差异文件列表包含的一个或多个待更新系统文件。
[0082]对于系统配置信息,获取模块430具体用于:从更新描述文件中获得差异项对应的待更新系统配置信息
[0083]修复模块440,用于根据更新内容,对终端系统中的漏洞进行修复。
[0084]对于待更新的系统文件,修复模块440具体用于:利用获取模块430下载的一个或多个待更新系统文件替换终端系统中对应的系统文件;或者,根据获取模块430从更新描述文件中提取的一个或多个待更新系统文件替换终端系统中对应的系统文件。
[0085]对于待更新的系统配置文件,修复模块440具体用于:利用获取模块430获取的与差异项对应的待更新系统配置信息替换终端系统中对应对象的信息。
[0086]修复模块440对终端系统的漏洞的修复可选地在本机工作模式下完成的,因此,修复模块440还用于,在修复漏洞之前,重启终端系统进入本机工作模式。本机工作模式是指区别于终端系统正常使用状态的工作模式。在本机工作模式下,终端系统可能只加载必要的程序,释放文件的控制权,这有利于系统文件的替换。例如,在Windows系统中,修复模块440在重启后使Windows进入native环境,native环境是系统运行的基本环境。在此环境下只有Windows的少量程序在运行,磁盘的读写操作很少,该条件下的系统操作能够达到更高的效率。
[0087]具体地,在native环境中,修复模块440将一个或多个待更新系统文件按照指定的路径释放到终端系统中。例如,将获取的待更新系统文件与安装程序制作成安装包,对文件进行统一的替换。修复模块440在用户登录前的native环境下对获取的全部待更新系统文件进行替换,避免了多个补丁或补丁包中安装程序的重复下载和运行以及终端系统的
多次重启。
[0088]可选地,装置还包括:备份模块450,用于在修复模块440对终端系统中的漏洞进行修复之前,对需要被修复的终端系统中对应对象进行备份并生成恢复项。具体地,备份模块450可以创建被替换的系统文件、系统配置信息的副本,然后将该副本存储到其他存储设备。例如,备份模块450可实现为急救盘等产品,将被替换的系统文件副本等存储在U盘中。对于驱动程序,急救盘系统还可以在修复系统前备份驱动,修复系统后自动安装之前备份的驱动,使用户直接可以得到一个全新可用的系统。急救盘系统提供类似于微软视窗操作系统(Microsoft Windows)的功能。急救盘系统可以启动相关的硬件设备并对这些设备
进行管理,包括硬盘管理。
[0089]可选地,装置还包括:检测模块460,用于在比对模块420将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对之前,检测终端系统的运行环境状态以及扫描需要更新的补丁情况。
[0090]根据本发明上述实施例提供的装置,服务器通过收集终端系统提供商发行的补丁、补丁包等,提取出其中待更新的系统文件,下载模块从服务器下载更新描述文件后,t匕对模块将更新描述文件中的信息与终端系统中对应的信息比对,获取模块根据比对过程中产生的差异项获取相应的更新内容,修复模块利用该获取的更新内容,对系统中的漏洞进行修复。根据该方案,对于终端系统,通过上述智能比对过程,只需要进行差异文件或信息的下载或更新。因此,不同的终端系统要获取的更新内容可能互不相同,这避免了冗余内容的重复下载和安装对网络资源以及自身资源的过多占用,从而显著地降低了漏洞修复需要的时间。同时能够实时地获取最新的更新内容,提高了修复的效率,有效的保证了用户的系统安全和稳定。
[0091]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0092]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0093]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0094]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0095]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0096]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的漏洞修复装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0097]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0098]本发明公开了:
[0099]Al、一种修复系统漏洞的方法,包括:
[0100]从服务器下载包含待更新对象的信息的更新描述文件,所述更新描述文件是根据漏洞修复文件而生成的;
[0101]将所述更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项;
[0102]根据所述差异项获取相应的更新内容;
[0103]根据所述更新内容,对所述终端系统中的漏洞进行修复。
[0104]A2、根据Al所述的方法,所述服务器通过收集操作系统文件信息和/或补丁包信息得到所述漏洞修复文件;
[0105]所述待更新对象的信息包含以下信息的一项或多项:待更新系统文件的信息、待更新系统配置信息、系统文件结构信息以及文件关联信息。
[0106]A3、根据A2所述的方法,所述待更新系统文件的信息包含待更新系统文件的MD5值;
[0107]所述将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项进一步包括:
[0108]计算终端系统中对应系统文件的MD5值,将所述更新描述文件包含的待更新系统文件的MD5值与终端系统中对应系统文件的MD5值进行比对;
[0109]记录通过比对获得的差异文件列表,所述差异文件列表包含有与终端系统中对应系统文件的MD5值不同的一个或多个待更新系统文件。
[0110]A4、根据A3所述的方法,所述待更新系统文件的信息还包含所述待更新系统文件的下载地址;[0111]所述根据差异项获取相应的更新内容具体为:根据所述一个或多个待更新系统文件的下载地址,分别下载所述差异文件列表包含的一个或多个待更新系统文件;
[0112]所述根据更新内容,对终端系统中的漏洞进行修复具体为:利用下载的一个或多个待更新系统文件替换终端系统中对应的系统文件。
[0113]A5、根据A4所述的方法,所述下载一个或多个待更新系统文件具体为:查询具有与所述一个或多个待更新系统文件相同的文件的服务器和终端,并从所述具有与所述一个或多个待更新系统文件相同的文件的服务器和终端下载所述一个或多个待更新系统文件。
[0114]A6、根据A3所述的方法,所述更新描述文件还包含所述待更新系统文件;
[0115]所述根据差异项获取相应的更新内容具体为:在所述更新描述文件中提取所述差异文件列表包含的一个或多个待更新系统文件;
[0116]所述根据更新内容,对终端系统中的漏洞进行修复具体为:利用提取的一个或多个待更新系统文件替换终端系统中对应的系统文件。
[0117]A7、根据A2所述的方法,所述将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项进一步包括:将所述更新描述文件包含的所述待更新系统配置信息与终端系统中对应对象的信息进行比对,获得比对不一致的差异项;
[0118]所述根据差异项获取相应的更新内容具体为:获得差异项对应的待更新系统配置信息;
[0119]所述根据更新内容,对终端系统中的漏洞进行修复具体为:利用所述差异项对应的待更新系统配置信息替换终端系统中对应对象的信息。
[0120]AS、根据A7所述的方法,所述待更新系统配置信息包含以下信息的一项或多项:注册表项信息、系统目录签名信息、磁盘相关信息以及浏览器设置信息。
[0121]A9、根据A1-A8任一项所述的方法,在所述根据更新内容,对终端系统中的漏洞进行修复之前还包括:重启终端系统进入本机工作模式;
[0122]所述对终端系统中的漏洞进行修复进一步包括:在所述本机工作模式下,利用所述获取的更新内容替换终端系统中的相应内容。
[0123]A10、根据A9所述的方法,在所述对终端系统中的漏洞进行修复之前还包括:对需要被修复的终端系统中对应对象进行备份并生成恢复项。
[0124]All、根据Al-AlO任一项所述的方法,在所述将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对之前还包括:检测终端系统的运行环境状态以及扫描需要更新的补丁情况。
[0125]B12、一种修复系统漏洞的装置,包括:
[0126]下载模块,用于从服务器下载包含待更新对象的信息的更新描述文件,所述更新描述文件是根据漏洞修复文件而生成的;
[0127]比对模块,用于将所述更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项;
[0128]获取模块,用于根据所述差异项获取相应的更新内容;
[0129]修复模块,用于根据所述更新内容,对所述终端系统中的漏洞进行修复。
[0130]B13、根据B12所述的装置,所述待更新对象的信息包含以下信息的一项或多项:待更新系统文件的信息、待更新系统配置信息、系统文件结构信息以及文件关联信息。[0131]B14、根据B13所述的装置,所述待更新系统文件的信息包含待更新系统文件的MD5 值;
[0132]所述比对模块具体用于:计算终端系统中对应系统文件的MD5值,将所述更新描述文件包含的待更新系统文件的MD5值与终端系统中对应系统文件的MD5值进行比对;记录通过比对获得的差异文件列表,所述差异文件列表包含有与终端系统中对应系统文件的MD5值不同的一个或多个待更新系统文件。
[0133]B15、根据B14所述的装置,所述待更新系统文件的信息还包含所述待更新系统文件的下载地址;
[0134]所述获取模块具体用于:根据所述一个或多个待更新系统文件的下载地址,分别下载所述差异文件列表包含的一个或多个待更新系统文件;
[0135]所述修复模块具体用于:利用所述获取模块下载的一个或多个待更新系统文件替换终端系统中对应的系统文件。
[0136]B16、根据B15所述的装置,所述获取模块具体用于:查询具有与所述一个或多个待更新系统文件相同的文件的服务器和终端,并从所述具有与所述一个或多个待更新系统文件相同的文件的服务器和终端下载所述一个或多个待更新系统文件。
[0137]B17、根据B14所述的装置,所述下载模块从服务器下载的更新描述文件还包含所述待更新系统文件;
[0138]所述获取模块具体用于:在所述更新描述文件中提取所述差异文件列表包含的一个或多个待更新系统文件;
[0139]所述修复模块具体用于:利用所述获取模块提取的一个或多个待更新系统文件替换终端系统中对应的系统文件
[0140]B18、根据B13所述的装置,所述比对模块具体用于:将所述更新描述文件包含的所述待更新系统配置信息与终端系统中对应对象的信息进行比对,获得比对不一致的差异项;
[0141]所述获取模块具体用于:获得差异项对应的待更新系统配置信息;
[0142]所述修复模块具体用于:利用所述差异项对应的待更新系统配置信息替换终端系统中对应对象的信息。
[0143]B19、根据B18所述的装置,所述比对模块将所述更新描述文件包含的所述待更新系统配置信息与终端系统中对应对象的信息进行比对包括比对以下信息的一项或多项:注册表项信息、系统目录签名信息、磁盘相关信息以及浏览器设置信息。
[0144]B20、根据B12-B19任一项所述的装置,所述修复模块还用于在所述修复模块对终端系统中的漏洞进行修复之前,重启终端系统进入本机工作模式;
[0145]所述修复模块进一步用于:在所述本机工作模式下,利用所述获取的更新内容替换终端系统中的相应内容。
[0146]B21、根据B20所述的装置,还包括:备份模块,用于在所述修复模块对终端系统中的漏洞进行修复之前,对需要被修复的终端系统中对应对象进行备份并生成恢复项。
[0147]B22、根据B12-B21任一项所述的装置,还包括:检测模块,用于在所述比对模块将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对之前,检测终端系统的运行环境状态以及扫描需要更新的补丁情况。
【权利要求】
1.一种修复系统漏洞的方法,包括: 从服务器下载包含待更新对象的信息的更新描述文件,所述更新描述文件是根据漏洞修复文件而生成的; 将所述更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项; 根据所述差异项获取相应的更新内容; 根据所述更新内容,对所述终端系统中的漏洞进行修复。
2.根据权利要求1所述的方法,所述服务器通过收集操作系统文件信息和/或补丁包信息得到所述漏洞修复文件; 所述待更新对象的信息包含以下信息的一项或多项:待更新系统文件的信息、待更新系统配置信息、系统文件结构信息以及文件关联信息。
3.根据权利要求2所述的方法,所述待更新系统文件的信息包含待更新系统文件的MD5 值; 所述将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项进一步包括: 计算终端系统中对应系统文件的MD5值,将所述更新描述文件包含的待更新系统文件的MD5值与终端系统中对应系统文件的MD5值进行比对; 记录通过比对获得的差异文件列表,所述差异文件列表包含有与终端系统中对应系统文件的MD5值不同的一个或多个待更新系统文件。
4.根据权利要求3所述的方法,所述待更新系统文件的信息还包含所述待更新系统文件的下载地址; 所述根据差异项获取相应的更新内容具体为:根据所述一个或多个待更新系统文件的下载地址,分别下载所述差异文件列表包含的一个或多个待更新系统文件; 所述根据更新内容,对终端系统中的漏洞进行修复具体为:利用下载的一个或多个待更新系统文件替换终端系统中对应的系统文件。
5.根据权利要求4所述的方法,所述下载一个或多个待更新系统文件具体为:查询具有与所述一个或多个待更新系统文件相同的文件的服务器和终端,并从所述具有与所述一个或多个待更新系统文件相同的文件的服务器和终端下载所述一个或多个待更新系统文件。
6.根据权利要求3所述的方法,所述更新描述文件还包含所述待更新系统文件; 所述根据差异项获取相应的更新内容具体为:在所述更新描述文件中提取所述差异文件列表包含的一个或多个待更新系统文件; 所述根据更新内容,对终端系统中的漏洞进行修复具体为:利用提取的一个或多个待更新系统文件替换终端系统中对应的系统文件。
7.根据权利要求2所述的方法,所述将更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项进一步包括:将所述更新描述文件包含的所述待更新系统配置信息与终端系统中对应对象的信息进行比对,获得比对不一致的差异项; 所述根据差异项获取相应的更新内容具体为:获得差异项对应的待更新系统配置信息; 所述根据更新内容,对终端系统中的漏洞进行修复具体为:利用所述差异项对应的待更新系统配置信息替换终端系统中对应对象的信息。
8.根据权利要求7所述的方法,所述待更新系统配置信息包含以下信息的一项或多项:注册表项信息、系统目录签名信息、磁盘相关信息以及浏览器设置信息。
9.根据权利要求1-8任一项所述的方法,在所述根据更新内容,对终端系统中的漏洞进行修复之前还包括:重启终端系统进入本机工作模式; 所述对终端系统中的漏洞进行修复进一步包括:在所述本机工作模式下,利用所述获取的更新内容替换终端系统中的相应内容。
10.一种修复系统漏洞的装置,包括: 下载模块,用于从服务器下载包含待更新对象的信息的更新描述文件,所述更新描述文件是根据漏洞修复文件而生成的; 比对模块,用于将所述更新描述文件包含的待更新对象的信息与终端系统中对应对象的信息进行比对,获得差异项; 获取模块,用于根据所述差异项获取相应的更新内容; 修复模块,用于根据所述更新内容,对所述终端系统中的漏洞进行修复。
【文档编号】G06F21/57GK103745158SQ201410038392
【公开日】2014年4月23日 申请日期:2014年1月26日 优先权日:2014年1月26日
【发明者】辛回力, 陈阳飞 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1