ACM Home Page
Please provide us with feedback. Feedback
SecVisor: a tiny hypervisor to provide lifetime kernel code integrity for commodity OSes
Full text FlvFlv (26:53),  Mp3Mp3 (11.30 MB),  PdfPdf (264 KB)
Source
ACM Symposium on Operating Systems Principles archive
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles table of contents
Stevenson, Washington, USA
SESSION: Operating system security table of contents
Pages: 335 - 350  
Year of Publication: 2007
ISBN:978-1-59593-591-5
Also published in ...
Authors
Arvind Seshadri  CMU, Pittsburgh, PA
Mark Luk  CMU, Pittsburgh, PA
Ning Qu  CMU, Pittsburgh, PA
Adrian Perrig  CMU, Pittsburgh, PA
Sponsors
ACM: Association for Computing Machinery
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 29,   Downloads (12 Months): 248,   Citation Count: 11
Additional Information:

appendices and supplements   abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1294261.1294294
What is a DOI?

APPENDICES and SUPPLEMENTS
Zipp335-slides.zip (27.09 MB),
Supplemental material for SecVisor: a tiny hypervisor to provide lifetime kernel code integrity for commodity OSes


ABSTRACT

We propose SecVisor, a tiny hypervisor that ensures code integrity for commodity OS kernels. In particular, SecVisor ensures that only user-approved code can execute in kernel mode over the entire system lifetime. This protects the kernel against code injection attacks, such as kernel rootkits. SecVisor can achieve this propertyeven against an attacker who controls everything but the CPU, the memory controller, and system memory chips. Further, SecVisor can even defend against attackers with knowledge of zero-day kernel exploits.

Our goal is to make SecVisor amenable to formal verificationand manual audit, thereby making it possible to rule out known classes of vulnerabilities. To this end, SecVisor offers small code size and small external interface. We rely on memory virtualization to build SecVisor and implement two versions, one using software memory virtualization and the other using CPU-supported memory virtualization. The code sizes of the runtime portions of these versions are 1739 and 1112 lines, respectively. The size of the external interface for both versions of SecVisor is 2 hypercalls. It is easy to port OS kernels to SecVisor. We port the Linux kernel version 2.6.20 by adding 12 lines and deleting 81 lines, out of a total of approximately 4.3 million lines of code in the kernel.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Advanced Micro Devices. AMD64 Architecture Programmer's Manual Volume 2: System Programming, 3.12 edition, September 2006.
 
2
Advanced Micro Devices. AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions, 3.12 edition, September 2006.
 
3
M. Becher, M. Dornseif, and C.N. Klein. FireWire all your memory are belong to us. In Proceedings of CanSecWest, 2005.
 
4
 
5
A. Chuvakin. Ups and downs of UNIX/Linux host-based security solutions. ;login: The Magazine of USENIX and SAGE, 28(2), April 2003.
6
 
7
8
 
9
T. Garfinkel and M. Rosenblum. A virtual machine introspection based architecture for intrusion detection. In Proc. Network and Distributed Systems Security Symposium, February 2003.
 
10
Intel Corporation. Trusted eXecution Technology -- preliminary architecture specification and enabling considerations. Document number 31516803, November 2006.
 
11
K. J. Jones. Loadable Kernel Modules. ;login: The Magazine of USENIX and SAGE, 26(7), November 2001.
 
12
P. Jones. RFC3174: US Secure Hash Algorithm 1 (SHA-1). http://www.faqs.org/rfcs/rfc3174.html, September 2001.
 
13
K. Kaneda. Tiny virtual machine monitor. http://www.yl.is.s.u--tokyo.ac.jp/~kaneda/tvmm/.
 
14
 
15
 
16
 
17
 
18
R. Russell. Lguest: The simple x86 hypervisor. http://lguest.ozlabs.org/.
 
19
J. Rutkowska. Beyond the CPU: Defeating hardware based RAM acquisition. In Proceedings of BlackHat DC 2007, Feb 2007.
20
21
 
22
 
23
J. von Neumann. First draft of a report on the EDVAC. In B. Randall, editor, The origins of digital computers: selected papers, pages 383--392. 1982.
 
24
Y. Wang, R. Roussev, C. Verbowski, A. Johnson, and D. Ladd. AskStrider: What has changed on my machine lately? Technical Report MSR--TR-2004--03, Microsoft Research, 2004.
 
25
Y. Wang, B. Vo, R. Roussev, C. Verbowski, and A. Johnson. Strider GhostBuster: Why it's a bad idea for stealth software to hide files. Technical Report MSR-TR-2004-71, Microsoft Research, 2004.
 
26

CITED BY  11

Collaborative Colleagues:
Arvind Seshadri: colleagues
Mark Luk: colleagues
Ning Qu: colleagues
Adrian Perrig: colleagues