• 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