Chapter 7. Fun with Linux Kernel Modules
The kernel is the heart of an operating
system. It is responsible for such core functionality as memory
management, process scheduling, TCP/IP networking, and so on. Linux
Kernel Modules (LKMs) allow you to extend Linux kernel functionality
on-the-fly. Because it is easy to insert and remove LKMs using
command-line tools, malicious users prefer to install LKM-based
rootkits and backdoors on a compromised system to maintain access to
the host. This chapter will show you how to write your own LKMs and
teach you how authors of malicious rootkits and backdoors leverage
the power of LKMs to perform various types of tricks, such as process
and file hiding as well as system call interception. This chapter
assumes you are familiar with the C programming language.
|
Do not run the examples presented in this chapter on mission-critical
or production hosts. A simple error in an LKM can cause a kernel to
panic, which will crash the running kernel. If possible, use virtual
machine software such as VMware (http://www.vmware.com/) to run the source
code presented in this chapter.
|
|
|