Ensuring the Minimality of Included Kernel Components

Dannie M. Stanley Mon, Dec 2, 2013

Kernels shipped with general-purpose operating systems often contain extraneous code. The unnecessary kernel code is a security liability. The code may contain exploitable vulnerabilities or may be pieced together using return/jump-oriented programming to attack the system. Run-time kernel minimization can be used to improve the security of an operating system kernel.

Our hypothesis is the following: It is possible to strengthen the defenses of commodity, general-purpose computer operating systems by increasing the diversity of, validating the integrity of, and ensuring the minimality of the included kernel components without modifying the kernel source code. Such protections can therefore be added to existing, widely-used, unmodified operating systems to prevent malicious software from executing in supervisor mode.

To test our hypothesis we design and implement six distinct kernel security mechanisms, protect many unmodified commodity operating systems kernels using the mechanisms, and assail the protected kernels using common attack techniques including return-oriented programming and kernel rootkits.


236 W. Reade Ave., Upland, IN 46989 · 765-998-5162 · cseinfo@cse.taylor.edu
Copyright © 2016 Taylor University Computer Science and Engineering