KernelCare是一种实时内核修补服务,可为无需重新引导系统即可安装的各种流行Linux内核提供安全修补程序和错误修正。KernelCare软件是在GPL2下发布的。
KernelCare 是一种实时内核修补服务,可为无需重新引导系统即可安装的各种流行 Linux 内核提供安全修补程序和错误修正。KernelCare 软件是在 GPL2 下发布的。第一个测试版于 2014 年 3 月推出,并于 2014 年 5 月投入商业使用。
KernelCare 代理驻留在用户的服务器上。它定期使用 KernelCare 分发服务器签入。如果当前运行的内核有可用的新补丁,则 KernelCare 代理会下载这些补丁并将其应用于正在运行的内核。
KernelCare 补丁程序是一段代码,用于替换内核中易受攻击或有漏洞的代码。它可以是任意的代码行修改,也可以是缺少的安全检查,一组函数甚至是修改的数据结构。该修补程序照常编译,但是生成的代码具有有关由原始源代码修改引起的所有更改的代码段的附加信息,以及有关如何应用这些代码段的信息。修改后的代码将安全地应用于正在运行的内核。
特殊的 KernelCare 内核模块将应用补丁。它将补丁加载到内核地址空间中,设置重定位(即,将对原始内核代码和数据的引用固定),并安全地将执行路径从原始代码切换到更新的代码块。该代码可确保安全地应用补丁,因此在切换到新版本时,CPU 不会在同一时刻执行原始代码块。