DocumentCode
1556913
Title
Comprehensive and Efficient Protection of Kernel Control Data
Author
Li, Jinku ; Wang, Zhi ; Bletsch, Tyler ; Srinivasan, Deepa ; Grace, Michael ; Jiang, Xuxian
Volume
6
Issue
4
fYear
2011
Firstpage
1404
Lastpage
1417
Abstract
Protecting kernel control data (e.g., function pointers and return addresses) has been a serious issue plaguing rootkit defenders. In particular, rootkit authors only need to compromise one piece of control data to launch their attacks, while defenders need to protect thousands of such values widely scattered across kernel memory space. Worse, some of this data (e.g., return addresses) is volatile and can be dynamically generated at run time. Existing solutions, however, offer either incomplete protection or excessive performance overhead. To overcome these limitations, we present indexed hooks, a scheme that greatly facilitates kernel control-flow enforcement by thoroughly transforming and restricting kernel control data to take only legal jump targets (allowed by the kernel´s control-flow graph). By doing so, we can severely limit the attackers´ possibility of exploiting them as an infection vector to launch rootkit attacks. To validate our approach, we have developed a compiler-based prototype that implements this technique in the FreeBSD 8.0 kernel, transforming 49 025 control transfer instructions (~7.25% of the code base) to use indexed hooks instead of direct pointers. Our evaluation results indicate that our approach is generic, effective, and can be implemented on commodity hardware with a low performance overhead (<;5% based on benchmarks).
Keywords
operating systems (computers); program compilers; security of data; FreeBSD 8.0 kernel; compiler based prototype; control transfer instructions; excessive performance overhead; indexed hooks; kernel control data protection; kernel control flow enforcement; legal jump targets; rootkit attacks; rootkit authors; rootkit defenders; Computer security; Indexes; Kernel; Process control; Prototypes; System design and analysis; Virtual machine monitors; Intrusion prevention and tolerance; software; system design and implementation;
fLanguage
English
Journal_Title
Information Forensics and Security, IEEE Transactions on
Publisher
ieee
ISSN
1556-6013
Type
jour
DOI
10.1109/TIFS.2011.2159712
Filename
5887414
Link To Document