Comprehensive Kernel Instrumentation with Dynamic Binary Instrumentation
Dynamic binary instrumentation (DBI) has been used extensively at the user level to develop bug-finding and security tools, such as Memcheck and Program Shepherding. These tools are supported by sophisticated frameworks, such as DynamoRIO and Intel’s Pin, which enable complete program coverage, simplify the task of writing instrumentation, and preserve the original application behavior. However, comprehensive DBI frameworks do not exist for operating system kernels, thwarting the development of dependability and security tools for kernels. We are porting the user-space DynamoRIO DBI framework to the Linux kernel, enabling comprehensive operating system kernel instrumentation, including the execution of native device drivers. In this presentation, we discuss the key challenges in designing an in-kernel DBI framework, and our design for addressing them. We also discuss uses of this framework to develop kernel-space tools for debugging and security.
Sponsors