CN109409096B - 内核漏洞修复方法、装置、服务器及系统 - Google Patents

内核漏洞修复方法、装置、服务器及系统 Download PDF

Info

Publication number
CN109409096B
CN109409096B CN201811357666.7A CN201811357666A CN109409096B CN 109409096 B CN109409096 B CN 109409096B CN 201811357666 A CN201811357666 A CN 201811357666A CN 109409096 B CN109409096 B CN 109409096B
Authority
CN
China
Prior art keywords
kernel
hot patch
loading
server
terminal equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811357666.7A
Other languages
English (en)
Other versions
CN109409096A (zh
Inventor
李笑如
夏良钊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110199737.0A priority Critical patent/CN112906008B/zh
Priority to CN201811357666.7A priority patent/CN109409096B/zh
Publication of CN109409096A publication Critical patent/CN109409096A/zh
Application granted granted Critical
Publication of CN109409096B publication Critical patent/CN109409096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提出一种内核漏洞修复方法、装置、服务器及系统,其中方法包括:向服务器发送热补丁获取请求,所述热补丁获取请求中包括终端设备的内核特征信息;接收服务器返回的修复代码,所述修复代码包括与所述内核特征信息对应的热补丁;对所述热补丁进行验证,验证通过后,将所述热补丁加载到所述终端设备的操作系统的内核中,以对内核漏洞进行修复。本发明实施例及时修复内核漏洞,从而提高终端设备操作系统的可靠性,并且能够节约系统资源。

Description

内核漏洞修复方法、装置、服务器及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种内核漏洞修复方法、终端设备、服务器及系统。
背景技术
内核是操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统等,决定着系统的性能和稳定性。漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,漏洞的存在使攻击者能够在未授权的情况下访问或破坏系统。因此,当内核存在漏洞时,需要及时对内核中的漏洞进行修复。
目前的内核漏洞修复方式一般有两种:
第一种,采用替换内核并重启系统的方式。这种方式修复的周期较长,很多内核漏洞无法被及时修复。这些无法被及时修复的内核漏洞将对系统造成安全隐患,因此不能满足高可靠性的要求。
第二种,采用从服务器获取热补丁的方式修复内核。由于Linux等操作系统的内核碎片化,不同的内核对于同一结构体的定义、同一函数的实现代码可能不同,不同的编译选项也可能会导致内核的差异。因此,目前业界在生成热补丁时,需要编译目标内核的源码和修复代码,这同时也限定了该热补丁只能用于此目标内核。如果需要应用于其他目标内核,则需要重新编译生成针对其他目标内核的热补丁。当需要修补的内核版本较多时,需要花费大量的资源。
发明内容
本发明实施例提供一种内核漏洞修复方法、终端设备、服务器及系统,以至少解决现有技术中的以上技术问题。
第一方面,本发明实施例提供了一种内核漏洞修复方法,包括:
向服务器发送热补丁获取请求,所述热补丁获取请求中包括终端设备的内核特征信息;
接收服务器返回的修复代码,所述修复代码包括与所述内核特征信息对应的热补丁;
对所述热补丁进行验证,验证通过后,将所述热补丁加载到所述终端设备的操作系统的内核中,以对内核漏洞进行修复。
在一种实施方式中,所述内核特征信息包括:内核版本信息和CPU架构信息。
在一种实施方式中,所述修复代码还包括加载策略;
所述将所述热补丁加载到所述终端设备的操作系统的内核中,包括:依据所述加载策略,将所述热补丁加载到所述终端设备的操作系统的内核中。
在一种实施方式中,所述对所述热补丁进行验证包括:
终端设备的应用程序、守护进程和内核对所述热补丁进行验证;
或者,终端设备的守护进程和内核对所述热补丁进行验证。
在一种实施方式中,所述将所述热补丁加载到所述终端设备的操作系统的内核中,包括:
根据所述热补丁中的问题函数名称,查找所述终端设备的操作系统的内核中的问题函数;采用所述热补丁对所述问题函数进行替换或过滤。
在一种实施方式中,还包括:
监测加载所述热补丁后的状态信息,将所述状态信息上报至服务器;所述状态信息包括加载是否成功、加载失败原因及所述内核的攻击监测信息中的至少一项。
第二方面,本发明实施例还提出一种内核漏洞修复装置,装置包括:
请求模块,用于向服务器发送热补丁获取请求,所述热补丁获取请求中包括终端设备的内核特征信息;
接收模块,用于接收服务器返回的修复代码,所述修复代码包括与所述内核特征信息对应的热补丁;
验证模块,用于对所述热补丁进行验证,验证通过后,指示加载模块加载所述热补丁;
加载模块,用于根据所述验证模块的指示,将所述热补丁加载到所述终端设备的操作系统的内核中,以对内核漏洞进行修复。
在一种实施方式中,所述内核特征信息包括:内核版本信息和CPU架构信息。
在一种实施方式中,所述接收模块接收的修复代码还包括加载策略;
所述加载模块用于,依据所述加载策略,将所述热补丁加载到所述终端设备的操作系统的内核中。
在一种实施方式中,所述验证模块用于,采用终端设备的应用程序、守护进程和内核对所述热补丁进行验证;
或者,采用终端设备的守护进程和内核对所述热补丁进行验证。
在一种实施方式中,所述加载模块用于,根据所述热补丁中的问题函数名称,查找所述终端设备的操作系统的内核中的问题函数;采用所述热补丁对所述问题函数进行替换或过滤。
在一种实施方式中,还包括:
检测及上报模块,用于监测加载所述热补丁后的状态信息,将所述状态信息上报至服务器;所述状态信息包括加载是否成功、加载失败原因及所述内核的攻击监测信息中的至少一项。
第三方面,本发明实施例提出一种内核漏洞修复服务器,包括:
保存模块,用于保存内核特征信息对应的热补丁;
请求接收模块,用于接收热补丁获取请求,所述热补丁获取请求中包括终端设备的内核特征信息;
热补丁下发模块,用于根据所述内核特征信息查找对应的热补丁,下发包括所述热补丁的修复代码。
在一种实施方式中,所述内核特征信息包括:内核版本信息和CPU架构信息。
在一种实施方式中,所述修复代码中进一步包括加载策略,所述加载策略用于为终端设备提供加载所述热补丁时的加载依据。
在一种实施方式中,还包括:
状态接收及分析模块,用于接收终端设备加载所述热补丁后的状态信息,分析所述状态信息,并根据分析结果优化所述热补丁;所述状态信息包括加载是否成功、加载失败原因及内核的攻击监测信息中的至少一项。
第四方面,本发明实施例还提出一种实现内核漏洞修复的系统,该系统包括:第二方面的任一实施方式所述的装置和三方面的任一实施方式所述服务器。
第五方面,本发明实施例提供了一种内核漏洞修复设备,所述内核漏洞修复设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述内核漏洞修复设备的结构中包括处理器和存储器,所述存储器用于存储支持所述设备执行上述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述设备还可以包括通信接口,用于与其他设备或通信网络通信。
第六方面,本发明实施例提供了一种计算机可读存储介质,用于存储内核漏洞修复设备所用的计算机软件指令,其包括用于执行上述内核漏洞修复方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明实施例在实现内核漏洞修复时,终端设备向服务器发送包含内核特征信息的热补丁获取请求,并接收服务器反馈的该内核特征信息对应的热补丁。终端设备将该热补丁加载到操作系统的内核中,实现对内核漏洞的修复。采用加载热补丁的方式,终端设备无需替换内核并重启系统,能够满足高可靠性的要求。并且,服务器端保存了不同内核特征信息所对应的热补丁,一个热补丁能够对应多个内核版本。服务器端无需为每个内核版本生成并保存一个对应的热补丁,因此能够节约系统资源。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1为本发明实施例的一种内核漏洞修复的方法实现流程图;
图2为本发明实施例内核漏洞修复方法在装载安卓系统的终端设备上执行的实现流程图;
图3为本发明实施例内核漏洞修复方法在装载Linux系统的终端设备上执行的实现流程图;
图4为本发明实施例的一种内核漏洞修复装置结构示意图;
图5为本发明实施例的一种内核漏洞修复服务器结构示意图;
图6为本发明实施例的一种内核漏洞修复设备结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
本发明实施例主要提供了一种内核漏洞修复方法、终端设备、服务器和系统。下面分别通过以下实施例进行技术方案的展开描述。
参见图1,图1为本发明实施例的一种内核漏洞修复方法实现流程图,包括:
S11:向服务器发送热补丁获取请求,所述热补丁获取请求中包括终端设备的内核特征信息;
S12:接收服务器返回的修复代码,所述修复代码包括与所述内核特征信息对应的热补丁;
S13:对所述热补丁进行验证,验证通过后,将所述热补丁加载到所述终端设备的操作系统的内核中,以对内核漏洞进行修复。
在一种可能的实施方式中,步骤S11中,终端设备向服务器发送补丁获取请求,该补丁获取请求中包括该终端设备的内核特征信息。其中,内核特征信息可以包括该终端设备的操作系统的内核版本信息和CPU架构信息。
在一些实施例中,服务器可以预先保存不同内核特征信息对应的热补丁。服务器接收到来自终端设备的补丁获取请求后,可以根据其中的内核特征信息查找对应的热补丁,并向终端设备发送修复代码。该修复代码中包括与内核特征信息对应的热补丁。
在一种可能的实施方式中,服务器向终端设备发送的修复代码中,可以进一步包括加载策略,该加载策略可以为终端设备提供加载所述热补丁时的加载依据。加载策略可以包括在预设时间段内允许加载的最大次数。
相应地,步骤S12中,终端设备接收服务器返回的修复代码,该修复代码包括与终端设备的内核特征信息对应的热补丁和加载策略。其中,加载策略可以是唯一的,即服务器向所有终端设备发送的加载策略相同。或者,加载策略也可以是可变的,即根据需要,服务器向不同的终端设备发送不同的加载策略。
相应地,步骤S13中,终端设备可以依据该加载策略,将热补丁加载到终端设备的操作系统的内核中。例如,当加载策略为24小时之内最多允许加载三次时。如果终端设备第一次加载热补丁时,系统崩溃;则终端设备还可以第二次、第三次加载热补丁。如果第三次加载仍然导致系统崩溃,则按照加载策略,终端设备需要将该热补丁卸载,并且不能再次加载该热补丁。
在一种可能的实施方式中,步骤S13中,在安卓系统下,可以由应用(APP)、守护进程(Daemon)和内核(Kernel)对待加载的热补丁进行三重验证。在Linux系统下,可以由守护进程和内核对待加载的热补丁进行两重验证。
在一种可能的实施方式中,步骤S13中,将热补丁加载到终端设备的操作系统的内核中的具体方式可以为:根据所述热补丁中的问题函数名称,查找所述终端设备的操作系统的内核中的问题函数;采用所述热补丁对所述问题函数进行替换或过滤。
具体地,可以首先查找问题函数的地址。之后,为钩子(Hook)函数分配内存,在该地址处设置钩子函数。钩子函数将执行流程由问题函数跳转至热补丁,由热补丁对该问题函数进行替换或过滤。
在一种可能的实施方式中,可以在内核中设置加载模块,由加载模块执行热补丁的加载。
此外,在一些情况下,可以进行热补丁的卸载。卸载的具体方式可以为,移除该钩子函数,并释放为该钩子函数分配的内存。在一种可能的实施方式中,可以在终端设备的内核中设置卸载模块,由卸载模块执行热补丁的卸载。
在一种可能的实施方式中,步骤S13加载热补丁之后,可以进一步监测加载所述热补丁后的状态信息,将该状态信息上报至服务器;状态信息包括加载是否成功、加载失败原因及所述内核的攻击监测信息中的至少一项。在一些实施方式中,内核的攻击监测信息可以包括内核所受攻击的来源、方式等。服务器基于这些状态信息可以进行相应的分析和处理,以便优化后期的内核修复流程。
在一种可能的实施方式中,可以在终端设备的内核中设置上报模块,由上报模块收集并上报加载热补丁后的状态信息。
本发明实施例的内核漏洞修复方法可以应用于装载安卓系统的终端设备,也可以应用于装载Linux系统的终端设备。以下分别结合图2和图3详细介绍本发明实施例的内核漏洞修复方法。
如图2为本发明实施例内核漏洞修复方法在装载安卓系统的终端设备上执行的实现流程图。在一种示例中,该终端设备包括三个单元,即APP、守护进程和内核。该方法的具体流程包括:
S21:终端设备的APP向服务器发送终端设备的内核特征信息。内核特征信息包括:内核版本信息和CPU架构信息。
S22:服务器根据内核特征信息查找对应的热补丁,向APP下发修复代码。其中,修复代码包含热补丁和加载策略。
S23:APP接收到修复代码后,对其中的热补丁进行验证。验证通过后,将修复代码发送至守护进程。
S24:守护进程接收到修复代码后,对其中的热补丁进行验证。验证通过后,将修复代码发送至内核。
S25:内核接收到修复代码后,对其中的热补丁进行验证。验证通过后,内核中的加载模块依据加载策略,采用热补丁对内核中的问题函数进行替换或过滤,从而修复内核漏洞。此外,在一些情况下,内核中的卸载模块可以恢复问题函数,从而实现对热补丁的卸载。
S26:加载完成后,内核中的上报模块监测加载热补丁后的状态信息,并将状态信息上报至守护进程。其中,状态信息可以包括加载是否成功、加载失败原因及内核的攻击监测信息中的至少一项。
S27:守护进程将收到的加载热补丁后的状态信息上报至APP。
S28:APP将加载热补丁后的状态信息上报至服务器。
在一种可能的实施方式中,服务器可以具体为云分发平台。在服务器中可以预先保存内核特征信息对应的热补丁,以便在接收到来自终端设备的APP的补丁获取请求后,根据其中的内核特征信息查找对应的热补丁,并将查找到的热补丁下发至APP。
如图3为本发明实施例内核漏洞修复方法在装载Linux系统的终端设备上执行的实现流程图。在一种示例中,该终端设备包括两个单元,即守护进程和内核。该方法的具体流程包括:
S31:终端设备的守护进程向服务器发送终端设备的内核特征信息。内核特征信息包括:内核版本信息和CPU架构信息。
S32:服务器根据内核特征信息查找对应的热补丁,向守护进程下发修复代码。其中,修复代码包含热补丁和加载策略。
S33:守护进程接收到修复代码后,对其中的热补丁进行验证。验证通过后,将修复代码发送至内核。
S34:内核接收到修复代码后,对其中的热补丁进行验证。验证通过后,内核中的加载模块依据加载策略,采用热补丁对内核中的问题函数进行替换或过滤,从而修复内核漏洞。在一些情况下,内核中的卸载模块可以恢复问题函数,从而实现对热补丁的卸载。
S35:加载完成后,内核中的上报模块监测加载热补丁后的状态信息,并将状态信息上报至守护进程。其中,状态信息可以包括加载是否成功、加载失败原因及内核的攻击监测信息中的至少一项。
S36:守护进程将收到的加载热补丁后的状态信息上报至服务器。
在一种可能的实施方式中,上述的服务器可以具体为云分发平台。在服务器中可以预先保存内核特征信息对应的热补丁,以便在接收到来自终端设备的守护进程的补丁获取请求后,根据其中的内核特征信息查找对应的热补丁,并将查找到的热补丁下发至守护进程。
本发明实施例还提出一种内核漏洞修复装置,如图4为内核漏洞修复装置400的结构示意图,包括:
请求模块401,用于向服务器发送热补丁获取请求,所述热补丁获取请求中包括终端设备的内核特征信息;
接收模块402,用于接收服务器返回的修复代码,所述修复代码包括与所述内核特征信息对应的热补丁;
验证模块403,用于对所述热补丁进行验证,验证通过后,指示加载模块404加载所述热补丁;
加载模块404,用于根据所述验证模块403的指示,将所述热补丁加载到所述终端设备的操作系统的内核中,以对内核漏洞进行修复。
在一种可能的实施方式中,所述内核特征信息包括:内核版本信息和CPU架构信息。
在一种可能的实施方式中,所述接收模块402接收的修复代码还包括加载策略;
所述加载模块404用于,依据所述加载策略,将所述热补丁加载到所述终端设备的操作系统的内核中。
在一种可能的实施方式中,上述验证模块403用于,采用终端设备的应用程序、守护进程和内核对所述热补丁进行三重验证;或者,采用终端设备的守护进程和内核对所述热补丁进行两重验证。
在一种可能的实施方式中,所述加载模块404用于,根据所述热补丁中的问题函数名称,查找所述终端设备内核中的问题函数;采用所述热补丁对所述终端设备内核中的问题函数进行替换或过滤。
在一种可能的实施方式中,还包括:检测及上报模块405,用于监测加载所述热补丁后的状态信息,将所述状态信息上报至服务器;所述状态信息包括加载是否成功、加载失败原因及所述内核的攻击监测信息中的至少一项。
本发明实施例还提出一种内核漏洞修复服务器,如图5为内核漏洞修复服务器500的结构示意图,包括:
保存模块501,用于保存内核特征信息对应的热补丁;
请求接收模块502,用于接收热补丁获取请求,所述热补丁获取请求中包括终端设备的内核特征信息;
热补丁下发模块503,用于根据所述内核特征信息查找对应的热补丁,下发包括所述热补丁的修复代码。
在一种可能的实施方式中,内核特征信息包括:内核版本信息和CPU架构信息。
在一种可能的实施方式中,修复代码中进一步包括加载策略,该加载策略可以用于为终端设备提供加载热补丁时的加载依据。
在一种可能的实施方式中,所述服务器还包括:
状态接收及分析模块504,用于接收终端设备加载所述热补丁后的状态信息,分析所述状态信息,并根据分析结果优化所述热补丁;所述状态信息包括加载是否成功、加载失败原因及内核的攻击监测信息中的至少一项。
上述的服务器具体可以为云分发平台。
本发明实施例还提出一种实现内核漏洞修复的系统,包括上述实施例中的内核漏洞修复和内核漏洞修复服务器。
本发明实施例还提出一种内核漏洞修复设备,如图6为本发明实施例的的内核漏洞修复设备结构示意图,包括:
存储器11和处理器12,存储器11存储有可在处理器12上运行的计算机程序。所述处理器12执行所述计算机程序时实现上述实施例中的获取推荐系统最优参数组合的方法。所述存储器11和处理器12的数量可以为一个或多个。
所述设备还可以包括:
通信接口13,用于与外界设备进行通信,进行数据交换传输。
存储器11可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
如果存储器11、处理器12和通信接口13独立实现,则存储器11、处理器12和通信接口13可以通过总线相互连接并完成相互之间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线,外部设备互连(PCI,PeripheralComponent Interconnect)总线或扩展工业标准体系结构(EISA,Extended IndustryStandard Architecture)等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器11、处理器12和通信接口13集成在一块芯片上,则存储器11、处理器12和通信接口13可以通过内部接口完成相互间的通信。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
综上所述,本发明实施例提出的内核漏洞修复方法、装置、服务器和系统,预先在服务器保存内核特征信息对应的热补丁,终端设备执行内核漏洞修复时,向服务器发送包含内核特征信息的热补丁获取请求,并接收服务器反馈的该内核特征信息对应的热补丁。终端设备将该热补丁加载到操作系统的内核中,实现对内核漏洞的修复。采用加载热补丁的方式,终端设备无需替换内核并重启系统,能够满足高可靠性的要求。并且,服务器保存的热补丁中,一个热补丁能够对应多个内核版本。服务器端无需为每个内核版本生成并保存一个对应的热补丁,因此能够节约系统资源。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种内核漏洞修复方法,其特征在于,所述方法包括:
向服务器发送热补丁获取请求,所述热补丁获取请求中包括终端设备的内核特征信息;所述内核特征信息包括内核版本信息和CPU架构信息;
接收服务器返回的修复代码,所述修复代码包括与所述内核特征信息对应的热补丁;
对所述热补丁进行验证,验证通过后,将所述热补丁加载到所述终端设备的操作系统的内核中,以对内核漏洞进行修复;
所述对所述热补丁进行验证包括:
终端设备的应用程序、守护进程和内核对所述热补丁进行验证;
或者,终端设备的守护进程和内核对所述热补丁进行验证。
2.根据权利要求的1所述的方法,其特征在于,所述修复代码还包括加载策略;
所述将所述热补丁加载到所述终端设备的操作系统的内核中,包括:依据所述加载策略,将所述热补丁加载到所述终端设备的操作系统的内核中。
3.根据权利要求的1所述的方法,其特征在于,所述将所述热补丁加载到所述终端设备的操作系统的内核中,包括:
根据所述热补丁中的问题函数名称,查找所述终端设备的操作系统的内核中的问题函数;采用所述热补丁对所述问题函数进行替换或过滤。
4.根据权利要求的1至3任一所述的方法,其特征在于,还包括:
监测加载所述热补丁后的状态信息,将所述状态信息上报至服务器;所述状态信息包括加载是否成功、加载失败原因及所述内核的攻击监测信息中的至少一项。
5.一种内核漏洞修复装置,其特征在于,所述装置包括:
请求模块,用于向服务器发送热补丁获取请求,所述热补丁获取请求中包括终端设备的内核特征信息;所述内核特征信息包括内核版本信息和CPU架构信息;
接收模块,用于接收服务器返回的修复代码,所述修复代码包括与所述内核特征信息对应的热补丁;
验证模块,用于采用终端设备的应用程序、守护进程和内核对所述热补丁进行验证;或者,采用终端设备的守护进程和内核对所述热补丁进行验证;验证通过后,指示加载模块加载所述热补丁;
加载模块,用于根据所述验证模块的指示,将所述热补丁加载到所述终端设备的操作系统的内核中,以对内核漏洞进行修复。
6.根据权利要求的5所述的装置,其特征在于,所述接收模块接收的修复代码还包括加载策略;
所述加载模块用于,依据所述加载策略,将所述热补丁加载到所述终端设备的操作系统的内核中。
7.根据权利要求的5所述的装置,其特征在于,所述加载模块用于,根据所述热补丁中的问题函数名称,查找所述终端设备的操作系统的内核中的问题函数;采用所述热补丁对所述问题函数进行替换或过滤。
8.根据权利要求的5至7任一所述的装置,其特征在于,还包括:
检测及上报模块,用于监测加载所述热补丁后的状态信息,将所述状态信息上报至服务器;所述状态信息包括加载是否成功、加载失败原因及所述内核的攻击监测信息中的至少一项。
9.一种实现内核漏洞修复的系统,其特征在于,所述系统包括:权利要求5-8任一所述的装置。
10.一种内核漏洞修复设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
11.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的方法。
CN201811357666.7A 2018-11-15 2018-11-15 内核漏洞修复方法、装置、服务器及系统 Active CN109409096B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110199737.0A CN112906008B (zh) 2018-11-15 2018-11-15 内核漏洞修复方法、装置、服务器及系统
CN201811357666.7A CN109409096B (zh) 2018-11-15 2018-11-15 内核漏洞修复方法、装置、服务器及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811357666.7A CN109409096B (zh) 2018-11-15 2018-11-15 内核漏洞修复方法、装置、服务器及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110199737.0A Division CN112906008B (zh) 2018-11-15 2018-11-15 内核漏洞修复方法、装置、服务器及系统

Publications (2)

Publication Number Publication Date
CN109409096A CN109409096A (zh) 2019-03-01
CN109409096B true CN109409096B (zh) 2021-02-26

Family

ID=65473150

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110199737.0A Active CN112906008B (zh) 2018-11-15 2018-11-15 内核漏洞修复方法、装置、服务器及系统
CN201811357666.7A Active CN109409096B (zh) 2018-11-15 2018-11-15 内核漏洞修复方法、装置、服务器及系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110199737.0A Active CN112906008B (zh) 2018-11-15 2018-11-15 内核漏洞修复方法、装置、服务器及系统

Country Status (1)

Country Link
CN (2) CN112906008B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906008B (zh) * 2018-11-15 2023-07-25 百度在线网络技术(北京)有限公司 内核漏洞修复方法、装置、服务器及系统
CN112395616B (zh) * 2019-08-15 2024-01-30 奇安信安全技术(珠海)有限公司 漏洞处理的方法、装置及计算机设备
CN111125709B (zh) * 2019-11-29 2022-05-24 苏州浪潮智能科技有限公司 一种服务器安全漏洞修复方法与装置
CN113127875A (zh) * 2019-12-30 2021-07-16 华为技术有限公司 一种漏洞处理方法及相关设备
CN111324481A (zh) * 2020-02-28 2020-06-23 中国工商银行股份有限公司 一种Linux平台的修复方法及装置
CN111614628B (zh) * 2020-04-28 2022-06-10 上海汽车集团股份有限公司 内核加固系统及其方法、云服务端、客户端、电子设备和存储介质
CN112016095B (zh) * 2020-08-20 2024-01-12 上海帆一尚行科技有限公司 一种验证漏洞的方法、装置和电子设备
FR3120455A1 (fr) * 2021-03-02 2022-09-09 Orange Procédé et module d’installation d’un programme de mitigation dans le noyau d’un équipement informatique.
CN113867774A (zh) * 2021-09-30 2021-12-31 北京金山云网络技术有限公司 热补丁的运行方法、装置和电子设备
CN114595461B (zh) * 2022-02-15 2024-07-16 阿里云计算有限公司 一种数据处理的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942073A (zh) * 2014-04-08 2014-07-23 北京奇虎科技有限公司 实现系统热补丁的方法及装置
CN106598667A (zh) * 2016-12-12 2017-04-26 百度在线网络技术(北京)有限公司 用于修复内核漏洞的方法和装置
CN107967427A (zh) * 2017-12-11 2018-04-27 北京奇虎科技有限公司 监测漏洞攻击的方法、装置及终端设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070256132A2 (en) * 2003-07-01 2007-11-01 Securityprofiling, Inc. Vulnerability and remediation database
KR100706176B1 (ko) * 2005-07-12 2007-04-12 한국전자통신연구원 커널 취약요소를 방어하기 위한 커널 패치 방법 및 시스템
US9183088B2 (en) * 2010-03-31 2015-11-10 Salesforce.Com, Inc. Reducing database downtime
US8973144B2 (en) * 2011-10-13 2015-03-03 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
CN103885808A (zh) * 2014-04-08 2014-06-25 北京奇虎科技有限公司 热补丁处理方法及装置
CN105573766A (zh) * 2014-10-09 2016-05-11 中兴通讯股份有限公司 一种软件升级方法、装置和电子设备
CN105868639A (zh) * 2016-03-30 2016-08-17 百度在线网络技术(北京)有限公司 内核漏洞修复方法和装置
CN105893085A (zh) * 2016-03-30 2016-08-24 百度在线网络技术(北京)有限公司 内核模块加载方法和装置
CN105893850B (zh) * 2016-03-30 2017-12-15 百度在线网络技术(北京)有限公司 漏洞修复方法和装置
CN106055979B (zh) * 2016-05-24 2019-04-09 百度在线网络技术(北京)有限公司 内核修复方法和装置
CN108121561B (zh) * 2016-11-28 2021-08-17 百度在线网络技术(北京)有限公司 应用程序修复方法、装置和系统
CN106802922B (zh) * 2016-12-19 2020-07-10 华中科技大学 一种基于对象的溯源存储系统及方法
CN106775732B (zh) * 2016-12-23 2019-02-12 优刻得科技股份有限公司 一种热补丁加载方法以及装置
CN107437029A (zh) * 2017-08-23 2017-12-05 北京奇虎科技有限公司 漏洞修复方法、漏洞修复装置及服务器
CN108073411A (zh) * 2017-12-11 2018-05-25 北京奇虎科技有限公司 一种补丁的内核加载方法及装置
CN112906008B (zh) * 2018-11-15 2023-07-25 百度在线网络技术(北京)有限公司 内核漏洞修复方法、装置、服务器及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942073A (zh) * 2014-04-08 2014-07-23 北京奇虎科技有限公司 实现系统热补丁的方法及装置
CN106598667A (zh) * 2016-12-12 2017-04-26 百度在线网络技术(北京)有限公司 用于修复内核漏洞的方法和装置
CN107967427A (zh) * 2017-12-11 2018-04-27 北京奇虎科技有限公司 监测漏洞攻击的方法、装置及终端设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张煜龙.基于自适应热补丁的Android内核漏洞生态修复方案.《中国教育网络》.2016,40-44. *

Also Published As

Publication number Publication date
CN109409096A (zh) 2019-03-01
CN112906008A (zh) 2021-06-04
CN112906008B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
CN109409096B (zh) 内核漏洞修复方法、装置、服务器及系统
CN103377094B (zh) 异常监测方法和装置
CN102663288B (zh) 病毒查杀方法及装置
CN109828772B (zh) 热更新方法、操作系统、终端设备和存储介质
CN107437029A (zh) 漏洞修复方法、漏洞修复装置及服务器
CN110795128B (zh) 一种程序漏洞修复方法、装置、存储介质及服务器
US20110283138A1 (en) Change Tracking and Management in Distributed Applications
CN110908888A (zh) 服务器测试方法及装置
CN113468009B (zh) 一种压力测试方法、装置、电子设备及存储介质
CN103970564A (zh) 嵌入式操作系统自动修复升级功能的方法及其系统
CN111522562B (zh) 洗碗机软件烧录方法、装置及其设备
CN110881059B (zh) 一种应用部署系统、方法、发布引擎及计算机设备
CN110333882B (zh) 系统的升级方法、装置、设备及计算机可读介质
CN104036193B (zh) 一种应用程序的本地跨域漏洞检测方法及装置
CN111338674A (zh) 指令处理方法、装置和设备
CN107967192B (zh) 一种智能终端的系统崩溃处理方法和装置
CN113485755A (zh) 设备驱动程序验证方法、装置、设备及存储介质
CN112579330B (zh) 操作系统异常数据的处理方法、装置及设备
CN110851193A (zh) 监护设备软件平台插件加载方法、插件运行系统及监护仪
CN112214413A (zh) 一种应用程序的测试方法、装置、设备及存储介质
CN114143110B (zh) 一种拟态设备的漏洞处理方法、装置及系统
CN107168819B (zh) 一种操作系统重启方法及装置
CN107491669B (zh) 超级用户权限的获取方法及装置
CN113641556B (zh) 用于保障汽车仪表稳定运行的系统、方法、装置、处理器及其计算机可读存储介质
CN109472148B (zh) 加载热补丁的方法、装置和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant