Hypervisor support for identifying covertly executing binaries

  • Authors:
  • Lionel Litty;H. Andrés Lagar-Cavilla;David Lie

  • Affiliations:
  • Dept. of Computer Science, University of Toronto;Dept. of Computer Science, University of Toronto;Dept. of Elec. and Comp. Eng., University of Toronto

  • Venue:
  • SS'08 Proceedings of the 17th conference on Security symposium
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Hypervisors have been proposed as a security tool to defend against malware that subverts the OS kernel. However, hypervisors must deal with the semantic gap between the low-level information available to them and the high-level OS abstractions they need for analysis. To bridge this gap, systems have proposed making assumptions derived from the kernel source code or symbol information. Unfortunately, this information is nonbinding - rootkits are not bound to uphold these assumptions and can escape detection by breaking them. In this paper, we introduce Patagonix, a hypervisor-based system that detects and identifies covertly executing binaries without making assumptions about the OS kernel. Instead, Patagonix depends only on the processor hardware to detect code execution and on the binary format specifications of executables to identify code and verify code modifications. With this, Patagonix can provide trustworthy information about the binaries running on a system, as well as detect when a rootkit is hiding or tampering with executing code. We have implemented a Patagonix prototype on the Xen 3.0.3 hypervisor. Because Patagonix makes no assumptions about the OS kernel, it can identify code from application and kernel binaries on both Linux and Windows XP. Patagonix introduces less than 3% overhead on most applications.