Message filters for hardening the Linux kernel
Article first published online: 24 AUG 2010
Copyright © 2010 John Wiley & Sons, Ltd.
Software: Practice and Experience
Volume 41, Issue 1, pages 51–62, January 2011
How to Cite
Nadella, S. and Janakiram, D. (2011), Message filters for hardening the Linux kernel. Softw: Pract. Exper., 41: 51–62. doi: 10.1002/spe.997
- Issue published online: 28 DEC 2010
- Article first published online: 24 AUG 2010
- Manuscript Accepted: 15 JUN 2010
- Manuscript Revised: 20 MAY 2010
- Manuscript Received: 3 JUL 2009
- message filters;
- object orientation;
- Linux kernel;
Various mechanisms for hardening the Linux kernel (for example, enforcing system call policies, device driver failure recovery, protection against exploitation of bugs in code) are proposed in the literature. The main problem with these mechanisms is that, they require changes in the kernel code leading to the possibility of introducing new bugs and hence increasing the testing time. We propose a message filter model as an extension to object-oriented wrappers for the Linux kernel, to dynamically provide various filtering capabilities to the kernel. This model works as a comprehensive framework for specifying system call policies, handling device driver faults, protecting the kernel against exploits of bugs in code etc, without modifying the existing kernel code. This considerably reduces the possibility of creating new bugs in the kernel code. We have integrated policies for system call interception and device driver failure handling, into the Linux kernel (2.6.9), using message filter model. Our experiments show that the overhead due to our filter objects is very low, making it a useful mechanism for providing filtering capabilities to the Linux kernel. Copyright © 2010 John Wiley & Sons, Ltd.