KernelCare

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
KernelCare
Developer(s) Cloud Linux, Inc.
Initial release March 19, 2014 (2014-03-19)[1]
Operating system Linux
Type Kernel extension
License GNU GPL version 2
Website kernelcare.com

KernelCare is a live kernel patching service that provides security patches and bugfixes for a range of popular Linux kernels[2] that can be installed without rebooting the system.[3]

KernelCare software is released under GPL2. The first beta was introduced in March 2014 and it was commercially launched in May 2014. KernelCare supports CentOS/RHEL 5.x, 6.x and 7.x; CloudLinux 5.x, 6.x and 7.x; Parallels Cloud Server; Virtuozzo; OpenVZ; Debian 6.x, 7.x and 8.x; and Ubuntu 14.04 LTS, 15.10, 16.04.[4][5]

Overview[edit]

KernelCare agent resides on user's server. It periodically checks in with KernelCare distribution servers. If there are new patches available for the currently running kernel, KernelCare agent downloads and applies those patches to the running kernel.

A KernelCare patch is a piece of code used to substitute vulnerable or buggy code in a kernel. It can be an arbitrary code line modification, or it can be a missing security check, a set of functions, or even modified data structures.[6] The patch is compiled as usual, but the generated code has additional information about all changed code pieces caused by original source code modification and information on to how to apply these code pieces. The resulting code modifications are safely applied to the running kernel.

A special KernelCare kernel module applies the patches. It loads the patches into the kernel address space, sets up the relocations (i.e., fixes the references to the original kernel code and data), and safely switches the execution path from the original code to updated code blocks. The code ensures the patch is applied safely so the CPU doesn't execute the original code blocks at the same moment when switching to a new version.[7][8]

See also[edit]

  • Dynamic software updating, a field of research focusing on upgrading programs while they are running
  • kexec, a method for loading a whole new kernel from a running system
  • kGraft, kpatch and Ksplice, other Linux kernel live patching technologies developed by SUSE, Red Hat and Ksplice, Inc. (later acquired by Oracle), respectively

References[edit]

  1. ^ "CloudLinux announces KernelCare.com rebootless kernel update service". PingZine.com. Retrieved 29 August 2015. 
  2. ^ "KernelCare Promises Linux Security Updates Without the Reboots". The Var Guy. Retrieved 29 August 2015. 
  3. ^ "KernelCare: New no-reboot Linux patching system". ZDNet. Retrieved 29 August 2015. 
  4. ^ "CloudLinux Unveils KernelCare for Automatic Updates of Parallels Virtuozzo Containers Kernel". Hosting Journalist. Retrieved 29 August 2015. 
  5. ^ "List of compatible kernels". KernelCare Directory. Retrieved 15 November 2017. 
  6. ^ "KernelCare: New no-reboot Linux patching system". Full Circle. Retrieved 29 August 2015. 
  7. ^ "CloudLinux Launches KuberDock Public Beta". Retrieved 29 August 2015. 
  8. ^ "KernelCare verspricht Patches ohne Neustart". Pro-Linux. Retrieved 29 August 2015. 

External links[edit]