Ensuring Operating System Kernel Integrity with OSck

Owen Hofmann, Alan M. Dunn, Sangman Kim, Indrajit Roy, and Emmett Witchel

Proceedings of the ACM Architectural Support for Programming Languages and Operating Systems (ASPLOS) 2011.

View PDF or BibTeX.

Operating Systems, Security

Kernel rootkits that modify operating system state to avoid detection are a dangerous threat to system security. This paper presents OSck, a system that discovers kernel rootkits by detecting malicious modifications to operating system data. OSck integrates and extends existing techniques for detecting rootkits, and verifies safety properties for large portions of the kernel heap with minimal overhead. We deduce type information for verification by analyzing unmodified kernel source code and in-memory kernel data structures. High-performance integrity checks that execute concurrently with a running operating system create data races, and we demonstrate a deterministic solution for ensuring kernel memory is in a consistent state. We introduce two new classes of kernel rootkits that are undetectable by current systems, motivating the need for the OSck API that allows kernel developers to conveniently specify arbitrary integrity properties.