A system for rebootless kernel security updates

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <linux-kernel@...>
Date: Wednesday, April 23, 2008 - 2:59 pm

Hello,

I've put together an automatic system for applying kernel security patches 
to the Linux kernel without rebooting it, and I wanted to share this 
system with the community in case others find it useful or interesting.

Here's the summary:  The system takes as input a kernel security patch 
(which can be a unified diff taken directly from Linus' GIT tree) and the 
source code corresponding to the running kernel, and it automatically 
creates a set of kernel modules to perform the update.  The running kernel 
does not need to have been customized in advance in any way.  To be fully 
automatic, the system cannot be used to apply patches that introduce 
semantic changes to data structures, but most Linux kernel security 
patches don't make these kinds of changes.  I've evaluated the system 
against various kernel versions and security vulnerabilities, and the 
system can automatically apply 84% of the significant kernel security 
patches from May 2005 through December 2007.

I've been pursuing this project because I don't like dealing with reboots 
whenever a new local kernel security vulnerability is discovered.  The 
rebootless update practices/systems that are already out there require 
manually constructing an update (through a process that can be tricky and 
error-prone), and they tend to have other disadvantages as well (such as 
requiring a custom kernel, not handling inline functions properly, etc). 
This new system works on existing kernels, and it simply takes a unified 
diff as input and does the rest on its own.

The system's website is http://web.mit.edu/ksplice.

The GIT repository, code tarball, and binary tarballs are available here:
http://web.mit.edu/ksplice/ksplice.git
http://web.mit.edu/ksplice/dist/ksplice-src.tar.gz
http://web.mit.edu/ksplice/dist/ksplice-bin-i386.tar.gz
http://web.mit.edu/ksplice/dist/ksplice-bin-x86_64.tar.gz

A document describing how the system works is available here: 
http://web.mit.edu/ksplice/doc/ksplice.pdf

Any feedback would be appreciated.

Jeff Arnold
jbarnold@mit.edu
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
A system for rebootless kernel security updates, Jeff Arnold, (Wed Apr 23, 2:59 pm)
Re: A system for rebootless kernel security updates, Christian Hesse, (Thu Apr 24, 9:43 am)
Re: A system for rebootless kernel security updates, Jeff Arnold, (Thu Apr 24, 2:13 pm)
Re: A system for rebootless kernel security updates, Christian Hesse, (Thu Apr 24, 3:16 pm)
Re: A system for rebootless kernel security updates, Jeff Arnold, (Mon Apr 28, 2:11 am)
Re: A system for rebootless kernel security updates, Andi Kleen, (Thu Apr 24, 9:42 am)
Re: A system for rebootless kernel security updates, Jeff Arnold, (Mon Apr 28, 2:18 am)
Re: A system for rebootless kernel security updates, Andi Kleen, (Mon Apr 28, 6:29 am)
Re: A system for rebootless kernel security updates, Jeff Arnold, (Tue Apr 29, 2:55 am)
Re: A system for rebootless kernel security updates, Enrico Weigelt, (Thu May 1, 7:38 am)
Re: A system for rebootless kernel security updates, David Collier-Brown, (Thu May 1, 9:35 am)
Re: A system for rebootless kernel security updates, Jeff Arnold, (Tue Apr 29, 6:43 pm)