Detecting kernel-level rootkits using data structure invariants

Arati Baliga, Vinod Ganapathy, Liviu Iftode

Research output: Contribution to journalArticlepeer-review

66 Scopus citations

Abstract

Rootkits affect system security by modifying kernel data structures to achieve a variety of malicious goals. While early rootkits modified control data structures, such as the system call table and values of function pointers, recent work has demonstrated rootkits that maliciously modify noncontrol data. Most prior techniques for rootkit detection have focused solely on detecting control data modifications and, therefore, fail to detect such rootkits. This paper presents a novel technique to detect rootkits that modify both control and noncontrol data. The main idea is to externally observe the execution of the kernel during an inference phase and hypothesize invariants on kernel data structures. A rootkit detection phase uses these invariants as specifications of data structure integrity. During this phase, violation of invariants indicates an infection. We have implemented Gibraltar, a prototype tool that infers kernel data structure invariants and uses them to detect rootkits. Experiments show that Gibraltar can effectively detect previously known rootkits, including those that modify noncontrol data structures.

Original languageEnglish (US)
Article number5551160
Pages (from-to)670-684
Number of pages15
JournalIEEE Transactions on Dependable and Secure Computing
Volume8
Issue number5
DOIs
StatePublished - 2011

ASJC Scopus subject areas

  • Computer Science(all)
  • Electrical and Electronic Engineering

Keywords

  • Kernel-level rootkits
  • invariant inference
  • noncontrol data attacks
  • static and dynamic program analysis

Fingerprint

Dive into the research topics of 'Detecting kernel-level rootkits using data structure invariants'. Together they form a unique fingerprint.

Cite this