漏洞修复方法、漏洞修复装置及服务器与流程

文档序号:13095098阅读:347来源:国知局
漏洞修复方法、漏洞修复装置及服务器与流程

本发明涉及计算机技术领域,具体而言,本发明涉及漏洞修复方法、漏洞修复装置及服务器。



背景技术:
目前,

随着计算机技术的不断发展,很多恶意程序(例如,计算机病毒、后门程序、木马、间谍软件以及广告软件等)利用漏洞植入到目标程序中,从而导致目标程序瘫痪,给用户操作带来不便,或者导致用户私人信息泄漏,给用户的人身财产安全带来隐患,等等;因此,目前各大设备厂商十分重视对系统的实时修复。

目前,各大设备厂商会不定时地对系统进行检测,确定出系统中存在的漏洞,并根据确定出的漏洞对系统进行修复或升级。具体的修复方法为:首先,测试人员和服务器会对系统进行大量地、全面地检测,尽可能多地确定出系统中存在的漏洞,其次,测试人员根据确定出的漏洞分别编译出相应的修复方案,最终才可完成对系统的修复工作。由此可知:设备厂商每进行一次系统修复将会耗费大量的资源。

基于上述原因,大部分设备厂商不会设置较短的修复周期,可能一年内只对系统升级1~3次,这样,势必造成很多系统漏洞并不能被及时地修复。另外,虽然现有的各种安全软件帮助设备厂商解决了一部分系统修复的问题,但是通常设备厂商基于自身的安全考虑,会对系统内核上许多模块设置修复权限,使得安全软件无法对系统进行全面的检测及修复,给用户带来不便。



技术实现要素:

本发明针对现有技术的缺点,提供了漏洞修复方法、漏洞修复装置及服务器,用于对系统进行全面的漏洞修复。

本发明实施例提供了一种漏洞修复方法,该方法包括:

从服务器中获取补丁包,并将补丁包挂载于系统内核中,以及补丁包是根据终端设备中待修复漏洞的修复相关信息进行编译的;

根据补丁包进行漏洞修复。

优选地,该方法还包括:

向服务器发送查询系统内核中已挂载补丁包的更新状态的请求;

接收服务器返回的已挂载补丁包在服务器中处于更新状态的反馈信息;

根据反馈信息,从服务器中下载更新后的补丁包;

对更新后的补丁包进行签名校验,若校验通过,将更新后的补丁包挂载于系统内核中。

优选地,该方法还包括:

对更新后的补丁包基于各个漏洞进行拆分,获得更新后的补丁包所包含的针对各个漏洞的补丁;

其中,若校验通过,将更新后的补丁包挂载于系统内核中的步骤,具体包括:

若校验通过,将针对各个漏洞的补丁挂载于系统内核中。

优选地,该方法还包括:

当检测到补丁包进行漏洞修复时发生异常事件时,校验异常事件是否由补丁包所包含的任一补丁所导致;

若是,对导致异常事件的补丁进行卸载,并将异常事件上报至服务器,以使得服务器根据异常事件对导致异常事件的补丁进行修复。

优选地,根据补丁包进行漏洞修复的步骤之后,方法还包括:

将修复结果发送至服务器,以使得服务器根据修复结果对补丁包所包含的各补丁进行调试。

优选地,根据补丁包进行漏洞修复的方式包括:

通过钩子函数对目标函数进行修复,以完成对系统内核漏洞的修复;和/或,

当检测到存在漏洞的异常文件时,将异常文件对应的全文件替换为更新后的全文件,以完成对系统漏洞的修复。

本发明实施例还提供了一种漏洞修复装置,该装置包括:

获取单元和修复单元,其中:

接收单元,用于从服务器中获取补丁包,并将补丁包挂载于系统内核中,以及补丁包是根据终端设备中待修复漏洞的修复相关信息进行编译的;

修复单元,用于根据补丁包进行漏洞修复。

优选地,该装置还包括:

第一发送单元、接收单元、下载单元和校验单元,其中:

第一发送单元,用于向服务器发送查询系统内核中已挂载补丁包的更新状态的请求;

接收单元,用于接收服务器返回的已挂载补丁包在服务器中处于更新状态的反馈信息;

下载单元,用于根据反馈信息,从服务器中下载更新后的补丁包;

校验单元,用于对更新后的补丁包进行签名校验,若校验通过,将更新后的补丁包挂载于系统内核中。

优选地,该装置还包括拆分单元,拆分单元用于:

对更新后的补丁包基于各个漏洞进行拆分,获得更新后的补丁包所包含的针对各个漏洞的补丁;

其中,校验单元具体用于:

若校验通过,将针对各个漏洞的补丁挂载于系统内核中。

优选地,该装置还包括卸载单元,卸载单元用于:

当检测到补丁包进行漏洞修复时发生异常事件时,校验异常事件是否由补丁包所包含的任一补丁所导致;

若是,对导致异常事件的补丁进行卸载,并将异常事件上报至服务器,以使得服务器根据异常事件对导致异常事件的补丁进行修复。

优选地,该装置还包括第二发送单元,第二发送单元用于:

在修复单元根据补丁包进行漏洞修复之后,将修复结果发送至服务器,以使得服务器根据修复结果对补丁包所包含的各补丁进行调试。

优选地,修复单元根据补丁包进行漏洞修复的方式包括:

通过钩子函数对目标函数进行修复,以完成对系统内核漏洞的修复;和/或,

当检测到存在漏洞的异常文件时,将异常文件对应的全文件替换为更新后的全文件,以完成对系统漏洞的修复。

本发明实施例还提供一种服务器,包括存储器和处理器,存储器用于存储包括程序指令的信息,处理器用于控制程序指令的执行,其特征在于,程序被处理器执行时实现上述本申请实施例提供的任一方法的步骤。

应用本发明实施例提供的漏洞修复方法,从服务器获取终端设备中待修复漏洞对应的补丁包,并将补丁包挂载于系统内核中,通过在内核加载该补丁包,不仅可以对系统内核中存在的漏洞进行修复,而且还可以对运行在用户空间的程序中存在的漏洞进行修复,解决了现有技术中安全软件由于修复权限的局限,而无法对系统内核中各模块进行漏洞修复的问题,即本发明实现了对系统漏洞的全面修复。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例提供的一种漏洞修复方法的流程示意图;

图2为本发明实施例提供的一种在系统内核中挂载补丁包的示意图;

图3为本发明实施例提供的一种更新补丁包的流程示意图;

图4为本发明实施例提供的一种服务器编译补丁包的流程示意图;

图5为本发明实施例提供的一种漏洞修复装置的结构示意图;

图6为本发明实施例提供的一种服务器的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本发明实施例提供了一种漏洞检测方法,该方法的流程示意图如图1所示,具体包括以下步骤:

s101:从服务器中获取补丁包,并将补丁包挂载于系统内核中,以及补丁包是根据终端设备中待修复漏洞的修复相关信息进行编译的;

s102:根据补丁包进行漏洞修复。

应用本发明实施例提供的漏洞修复方法,从服务器获取终端设备中待修复漏洞对应的补丁包,并将补丁包挂载于系统内核中,通过在内核加载该补丁包,不仅可以对系统内核中存在的漏洞进行修复,而且还可以对运行在用户空间的程序中存在的漏洞进行修复,解决了现有技术中安全软件由于修复权限的局限,而无法对系统内核中各模块进行漏洞修复的问题,即本发明实现了对系统漏洞的全面修复。

本发明实施例的应用场景可以是:安全软件厂商对合作的终端设备厂商所开发的各种终端设备进行漏洞分析,编译出各个漏洞对应的补丁,并将这些补丁打包成补丁包;各终端设备分别将各自对应的补丁包挂载在系统内核中,在内核中实现漏洞修复的功能。终端设备厂商通过与安全软件厂商合作,将检测漏洞以及修复漏洞的任务交给安全软件厂商,减轻了终端设备厂商的负担;将补丁包分别挂载在对应终端设备的内核中,实现了系统内核漏洞的修复。

以下针对以上各个步骤的具体实现做进一步的说明:

s101:从服务器中获取补丁包,并将补丁包挂载于系统内核中,以及补丁包是根据终端设备中待修复漏洞的修复相关信息进行编译的。

对于本步骤,在一种应用场景中,终端设备厂商在推出终端设备之前,直接将安全软件厂商提供的补丁包挂载于系统内核中,即:在用户使用终端设备之前,终端设备中已挂载了补丁包。在另一种应用场景中,终端设备厂商在推出终端设备之后,终端设备从服务器中获取补丁包,并将该补丁包挂载在系统的内核。

对于第二种应用场景,本步骤对应的具体实施方式可以为:终端设备向服务器发送查询该终端设备对应补丁包的请求,具体可以设置发送周期,例如,设置每3天发送1次查询请求,当服务器确定已存在该设备对应的补丁包后,将对应的反馈信息发送至该终端设备,终端设备收到该反馈信息后,立即从服务器中下载相应的补丁包,并挂载于系统的内核中。在另一种实施方式中,当服务器确定存在该设备对应的补丁包后,主动将补丁包下发至相应的终端设备,终端设备在收到该补丁包后,将该补丁包挂载于系统的内核中。

下面通过一个实施例具体说明在内核中挂载补丁包的过程,但也只是示例性地说明,不能理解为对本发明的限定。

具体地,如图2所示,终端设备中包括用户空间(userspace)和内核空间(kernel),用户空间中可包括软件开发工具包(softwaredevelopmentkit,即sdk),以及本地守护进程(nativedaemon)。其中,nativedaemon为可执行程序,例如,init进程,在系统启动时启动,负责与内核进行通讯,对补丁包进行校验等工作;sdk负责与服务器进行通讯。

下面结合图2对系统内核挂载补丁包的过程进行详细描述:

安全软件对应的服务器将编译好的补丁包发送至终端设备厂商对应的服务器(设备服务器),终端设备通过sdk向服务器发送查询该终端设备对应补丁包的请求,具体是查询服务器中是否存在该终端设备对应的补丁包,设备服务器接收到该请求后,向该sdk返回反馈信息;若该反馈信息为确定服务器中存在终端设备对应的补丁包,该sdk根据该反馈信息,从设备服务器中下载相应的补丁包,并将该补丁包发送至nativedaemon;nativedaemon接受到该补丁包后,对该补丁包进行签名校验,具体校验该补丁包的发送方是否是预先约定的服务器(目标服务器),当确定发送方是目标服务器时,将该补丁包发送至内核,即在内核中完成补丁包的挂载。

s102:根据所述补丁包进行漏洞修复。在本步骤中,根据内核中的补丁包对系统漏洞进行修复,具体的修复的方式包括:通过钩子函数(hook)对目标函数进行修复,以完成对系统内核漏洞的修复。具体地,通过在补丁包中布置hook程序,该hook程序负责对内核中预先配置的调用函数进行监控,当hook监测到问题函数(目标函数)时,钩取问题函数并及时地对该目标函数进行修复,最终完成整个系统内核的漏洞修复。在一种优选的实施方式中,将hook过程优化为原子操作,这样,在漏洞修复时不会对系统造成影响。

对系统漏洞修复的方式还包括:当检测到存在漏洞的异常文件时,将该异常文件对应的全文件替换为更新后的全文件,以完成对系统漏洞的修复。具体地,服务器对系统进行检测时,确定系统漏洞对应的文件(异常文件),并对该异常文件进行修复,获得更新后的全文件;将该更新后的全文件写入补丁包,当终端设备利用该补丁包对系统漏洞进行修复时,直接将异常文件对应的全文件替换为更新后的全文件。通过全文件替换的方式修复系统漏洞,保证了系统的稳定性。

上述全文件替换的方式可理解为在一定内存范围内的全文件替换,若异常文件对应的完整文件所占用的内存较大,这样,如果将该完整文件进行替换时,必然会消耗大量的资源,因此,本发明实施例中,可以截取一定内存范围的文件作为“全文件”。

本发明实施例还包括:通过内核将系统漏洞修复之后,将修复结果发送至服务器,使得服务器根据修复结果对补丁包所包含的各个补丁进行调试。在实际应用中,当系统漏洞修复之后,终端设备将修复结果先发送至终端设备服务器,终端设备服务器可以对修复结果进行过滤,例如,过滤掉一些终端设备的信息,比如,使用或购买该终端设备的人数,然后,将过滤后的修复结果发送至安全软件服务器,保证了终端设备厂商的信息安全。

在实际应用中,系统漏洞不可能一次就全部被检测到,而是在使用或者检测的过程中不断地被检测到,因此,需要不断地针对新检测到的漏洞编译出各漏洞对应的补丁。如背景技术记载的内容,在现有技术中,终端设备厂商会周期性地对系统进行修复或升级,但由于每次系统的修复或升级会耗费大量的资源,因此,终端设备不会设置较短的修复周期,这样,导致系统漏洞不能被及时地修复。另外,随着科技的发展,终端设备的更新十分迅速,大部分终端设备厂商只在一段时间内对某款设备的系统进行修复,之后便不再修复,这时给仍在使用这款设备的用户带了不便。

本发明实施例针对上述问题,提供了一种实施方式,该实施方式具体为:向服务器发送查询系统内核中已挂载补丁包的更新状态的请求;接收服务器返回的已挂载补丁包在服务器中处于更新状态的反馈信息;根据反馈信息,从服务器中下载更新后的补丁包;对更新后的补丁包进行签名校验,若校验通过,将更新后的补丁包挂载于系统内核中。

如图3所示为一种更新补丁包的实施方式,与前述图2挂载补丁包的过程类似,具体包括以下步骤:

s301:终端设备通过sdk向服务器发送查询kemel中已挂载补丁包的更新状态的请求;

s302:服务器接收该请求后,向sdk返回相应的反馈信息;

s303:若确定kemel中已挂载的补丁包处于更新状态时,通过sdk下载更新后的补丁包,并通知nativedaemon补丁包下载完成(s304);

s305:通过nativedaemon对更新后的补丁包进行安装,并对该更新后的补丁包进行签名校验(s306),具体校验该补丁包的发送方是否是目标服务器;

s307:若校验通过,kemel应用该更新后的补丁包,并利用该更新后的补丁包进行漏洞修复(s308);

s309:完成漏洞修复后,通过nativedaemon将漏洞修复结果上报给sdk,并通过sdk上报给服务器(s310)。

当发现系统中的新漏洞时,服务器对该漏洞的信息进行分析,确定出相应的修复方法,并根据该修复方法编译出对应的补丁,通过对系统内核中已挂载补丁包进行更新,将新编译的补丁添加入补丁包中,并将该更新的补丁包重新挂载在系统内核中。在实际应用中,无需终端设备厂商对补丁包进行更新,直接由安全软件厂商对系统进行周期性地检测,并根据新发现的漏洞编译出相应的补丁,并最终将该补丁挂载在系统内核中。安全软件厂商可以设置较短的修复周期,对系统进行检测和维护,将更新的补丁包及时地下发给终端设备,进而使得设备可以及时地对系统中的漏洞进行修复,并且本发明实施例将补丁包挂载在系统内核中,可以实现对系统内核中的各个模块进行漏洞修复。

在实际应用中,对于补丁包的更新可以是在已挂载补丁包中增加新的补丁,或者可以对已挂载补丁包中原有的补丁进行升级,具体可以是增加新的功能,或者对已有的功能进行修正,等等。另外,对补丁包进行修订的方式可以对系统中已挂载的补丁包进行全部替换;在一种优选的实施方式在中,为了节约资源,可以只对已挂载补丁包中更新的的补丁进行替换,和/或增加新的补丁。

另外,在实际应用中,在系统漏洞的修复的过程可能会因为应用某个补丁而发生异常事件,例如,系统重启。对于该问题,本发明实施例提供一种实施方式,具体为:当检测到补丁包进行漏洞修复时发生异常事件时,校验异常事件是否由补丁包所包含的任一补丁所导致;若是,对导致异常事件的补丁进行卸载,并将异常事件上报至服务器,以使得服务器根据异常事件对导致异常事件的补丁进行修复。

沿用上述图3所示的例子,通过nativedaemon除了可以对补丁包进行签名校验之外,还可以对系统中发生的异常事件进行校验,具体校验该异常事件是否由补丁包所包含的任一补丁所导致,若是,nativedaemon向kemel发送通知,告知kemel对导致异常事件的补丁进行卸载,同时,通过nativedaemon以及sdk将该异常事件上报至服务器。

图3只是本发明实施例提供的一种更新kemel补丁包的实施方式,在实际应用中,还有很多种实施方式,例如,在一种实施方式中,nativedaemon在获得更新后的补丁包后,对该更新后补丁包进行拆分,获得更新后的补丁包所包含的针对各个漏洞的补丁,并对该补丁包进行签名校验,若校验通过,将针对各个漏洞的补丁挂载在系统内核中。

再例如,如果应用场景是安全软件厂商与终端设备厂商合作,为了安全考虑,会在补丁包中写入安全软件服务器和终端设备服务器的签名信息。例如,图3中通过nativedaemon对更新后的补丁包进行签名校验(s306),在一种校验方式中,通过nativedaemon同时对补丁包中包含的安全软件服务器和终端设备服务器的签名信息进行校验,若二者均通过,证明该补丁包合法,并将该补丁包挂载在内核中,若任一签名校验不通过,则放弃挂载。

在另一种校验方式中,通过nativedaemon只对其中一个签名信息进行校验,而kemel对另一个签名信息进行校验。例如,nativedaemon先验证补丁包中包含的签名信息是否是目标安全服务器的签名信息,若是,将该补丁包挂载在kemel中;当通过kemel对系统漏洞修复时,可以先校验该补丁包中包含的签名信息是否是目标终端设备服务器的签名信息,若是,再应用该补丁包,若否,可直接卸载该补丁包。

前述内容重点记载在系统内核中挂载补丁包,以及利用补丁包进行系统漏洞修复等实施方式,本发明实施例还提供服务器编译补丁包的方法,该方法的流程如图4所示,具体包括以下步骤:

s401:安全软件服务器收集目标终端设备的漏洞信息,并将这些漏洞信息入库;该漏洞信息可以是安全软件自行检测终端设备所确定的漏洞信息,或者可以第三方提供的漏洞信息,该漏洞信息包括:漏洞的名称、类型、影响范围等信息。

s402:解析库中各个漏洞(例如,解析代码或脚本),确定各个漏洞的修复方案。

s403:根据确定的修复方案,自动编译各个漏洞对应的补丁,具体地,可以在编译平台(热补丁平台)上执行该编译操作,具体根据漏洞影响的范围以及漏洞修复方案,自动编译出各个漏洞对应的补丁。

s404:对编译的补丁进行自动检测以及手动检测,确定各补丁的性能。

s405:集合编译的各补丁,打包成补丁包,并在补丁包中加入安全软件服务器的签名信息。

s406:安全软件服务器将补丁包发送给终端设备服务器。

s407:终端设备服务器对补丁包进行审核,具体审核的内容可以包括:该补丁包的性能,以及该补丁包中是否包含有损害终端设备的信息,等等。

s408:若审核通过,在补丁包中加入终端设备服务器的签名信息;为了提高安全性,这里可以采用不对称加密方式对补丁包进行加密。

图4只是本发明实施例列举的一种实施方式,在实际应用中,还有很多实施方式,本发明实施例对此不作具体限定。

在实际应用中,安全软件服务器可以根据每个终端设备对应系统中存在的漏洞信息,编译出相应的补丁包,具体可以根据终端设备的信息进行编译,保证编译的补丁包可以成功适用于相应的终端设备。另外,在实际应用中,为了保证终端设备中信息的安全性,挂载在内核中的“补丁包”,以及本发明实施例记载的“sdk”、“nativedaemon”对应的代码,对于终端设备厂商可以是开源码,即:终端设备服务器可以随时监测到补丁包的挂载以及漏洞修复的过程。

基于本发明的发明构思,本发明实施例还提供了一种漏洞修复装置,该装置的结构示意图如图5所示,具体包括以下单元:

获取单元501和修复单元502,其中:

接收单元501,用于从服务器中获取补丁包,并将补丁包挂载于系统内核中,以及补丁包是根据终端设备中待修复漏洞的修复相关信息进行编译的;

修复单元502,用于根据补丁包进行漏洞修复。

本装置实施例的具体工作流程为:接收单元501从服务器中获取补丁包,并将该补丁包挂载于系统内核中,其中,该补丁包是根据终端设备中待修复漏洞的修复相关信息进行编译的,其次,修复单元502根据该补丁包进行漏洞修复。

应用本发明实施例提供的漏洞修复装置,从服务器获取终端设备中待修复漏洞对应的补丁包,并将补丁包挂载于系统内核中,通过在内核加载该补丁包,不仅可以对系统内核中存在的漏洞进行修复,而且还可以对运行在用户空间的程序中存在的漏洞进行修复,解决了现有技术中安全软件由于修复权限的局限,而无法对系统内核中各模块进行漏洞修复的问题,即本发明实现了对系统漏洞的全面修复。

本装置实施例实现漏洞修复的方式有很多种,例如,在第一种实施方式中,该装置还包括:

第一发送单元、接收单元、下载单元和校验单元,其中:

第一发送单元,用于向服务器发送查询系统内核中已挂载补丁包的更新状态的请求;

接收单元,用于接收服务器返回的已挂载补丁包在服务器中处于更新状态的反馈信息;

下载单元,用于根据反馈信息,从服务器中下载更新后的补丁包;

校验单元,用于对更新后的补丁包进行签名校验,若校验通过,将更新后的补丁包挂载于系统内核中。

应用该实施方式获得有益效果为:当发现系统中的新漏洞时,服务器对该漏洞的信息进行分析,确定出相应的修复方法,并根据该修复方法编译出对应的补丁,通过对系统内核中已挂载补丁包进行更新,将新编译的补丁添加入补丁包中,并将该更新的补丁包重新挂载在系统内核中。在实际应用中,无需终端设备厂商对补丁包进行更新,直接由安全软件厂商对系统进行周期性地检测,并根据新发现的漏洞编译出相应的补丁,并最终将该补丁挂载在系统内核中。安全软件厂商可以设置较短的修复周期,对系统进行检测和维护,将更新的补丁包及时地下发给终端设备,进而使得设备可以及时地对系统中的漏洞进行修复,并且本发明实施例将补丁包挂载在系统内核中,可以实现对系统内核中的各个模块进行漏洞修复。

在第二种实施方式中,该装置还包括拆分单元,拆分单元用于:

对更新后的补丁包基于各个漏洞进行拆分,获得更新后的补丁包所包含的针对各个漏洞的补丁;

其中,校验单元具体用于:

若校验通过,将针对各个漏洞的补丁挂载于系统内核中。

在第三种实施方式中,该装置还包括卸载单元,卸载单元用于:

当检测到补丁包进行漏洞修复时发生异常事件时,校验异常事件是否由补丁包所包含的任一补丁所导致;

若是,对导致异常事件的补丁进行卸载,并将异常事件上报至服务器,以使得服务器根据异常事件对导致异常事件的补丁进行修复。

在第四种实施方式中,该装置还包括第二发送单元,第二发送单元用于:

在修复单元502根据补丁包进行漏洞修复之后,将修复结果发送至服务器,以使得服务器根据修复结果对补丁包所包含的各补丁进行调试。

在第五种实施方式中,修复单元502根据补丁包进行漏洞修复的方式包括:

通过钩子函数对目标函数进行修复,以完成对系统内核漏洞的修复;和/或,

当检测到存在漏洞的异常文件时,将异常文件对应的全文件替换为更新后的全文件,以完成对系统漏洞的修复。

基于本发明的发明构思,本发明实施例中还提供了一种服务器,该服务器的结构示意图如图6所示,包括:存储器601和处理器602。

存储器601和处理器602相电连接。

存储器601中存储有至少一个程序。

至少一个程序用于被处理器602执行时实现下述步骤:

从服务器中获取补丁包,并将补丁包挂载于系统内核中,以及补丁包是根据终端设备中待修复漏洞的修复相关信息进行编译的;

根据补丁包进行漏洞修复。

优选地,至少一个程序用于实现:

向服务器发送查询系统内核中已挂载补丁包的更新状态的请求;

接收服务器返回的已挂载补丁包在服务器中处于更新状态的反馈信息;

根据反馈信息,从服务器中下载更新后的补丁包;

对更新后的补丁包进行签名校验,若校验通过,将更新后的补丁包挂载于系统内核中。

优选地,至少一个程序用于实现:

对更新后的补丁包基于各个漏洞进行拆分,获得更新后的补丁包所包含的针对各个漏洞的补丁;

其中,若校验通过,将更新后的补丁包挂载于系统内核中的步骤,具体包括:

若校验通过,将针对各个漏洞的补丁挂载于系统内核中。

优选地,至少一个程序用于实现:

当检测到补丁包进行漏洞修复时发生异常事件时,校验异常事件是否由补丁包所包含的任一补丁所导致;

若是,对导致异常事件的补丁进行卸载,并将异常事件上报至服务器,以使得服务器根据异常事件对导致异常事件的补丁进行修复。

优选地,根据补丁包进行漏洞修复的步骤之后,至少一个程序用于实现:

将修复结果发送至服务器,以使得服务器根据修复结果对补丁包所包含的各补丁进行调试。

优选地,根据补丁包进行漏洞修复的方式包括:

通过钩子函数对目标函数进行修复,以完成对系统内核漏洞的修复;和/或,

当检测到存在漏洞的异常文件时,将异常文件对应的全文件替换为更新后的全文件,以完成对系统漏洞的修复。

应用本发明实施例提供的服务器所获得的有益效果,与前述的方法实施例或装置实施例所获得的有益效果相同或类似,对此不再赘述。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1