Operating system interface obfuscation and the revealing of hidden operations

Srivastava, Abhinav; Lanzi, Andrea; Giffin, Jonathon; Balzarotti, Davide
DIMVA 2011, 8th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, July 7-8th, 2011, Amsterdam, The Netherlands / Also published in "Lecture Notes in Computer Science", Vol 6739/2011

Many software security solutions—including malware analyzers, information flow tracking systems, auditing utilities, and host-based intrusion detectors—rely on knowledge of standard system call interfaces to reason about process execution behavior. In this work, we show how a rootkit can obfuscate a commodity kernel’s system call interfaces to degrade the effectiveness of these tools. Our attack, called Illusion, allows user-level malware to invoke privileged kernel operations without requiring the malware to call the actual system calls corresponding to the operations. The Illusion interface hides system operations from user-, kernel-, and hypervisor-level monitors mediating the conventional system-call interface. Illusion alters neither static kernel code nor read-only dispatch tables, remaining elusive from tools protecting kernel memory. We then consider the problem of Illusion attacks and augment system call data with kernel-level execution information to expose the hidden kernel operations. We present a Xen-based monitoring system, Sherlock, that adds kernel execution watchpoints to the stream of system calls. Sherlock automatically adapts its sensitivity based on security requirements to remain performant on desktop systems: in normal execution, it adds 1% to 10% overhead to a variety of workloads.

 


DOI
Type:
Conference
City:
Amsterdam
Date:
2011-07-07
Department:
Digital Security
Eurecom Ref:
3459
Copyright:
© Springer. Personal use of this material is permitted. The definitive version of this paper was published in DIMVA 2011, 8th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, July 7-8th, 2011, Amsterdam, The Netherlands / Also published in "Lecture Notes in Computer Science", Vol 6739/2011 and is available at : http://dx.doi.org/10.1007/978-3-642-22424-9_13

PERMALINK : https://www.eurecom.fr/publication/3459