Protecting Kernel Code and Data with a Virtualization-Aware Collaborative Operating System

被引:4
作者
de Oliveira, Daniela Alvim Seabra [1 ]
Wu, S. Felix [1 ]
机构
[1] Univ Calif Davis, Dept Comp Sci, Davis, CA 95616 USA
来源
25TH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE | 2009年
关键词
D O I
10.1109/ACSAC.2009.49
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The traditional virtual machine usage model advocates placing security mechanisms in a trusted VM layer and letting the untrusted guest OS run unaware of the presence of virtualization. In this work we challenge this traditional model and propose a collaboration approach between a virtualization-aware operating system and a VM layer to prevent tampering against kernel code and data. Our integrity model is a relaxed version of Biba's and the main idea is to have all attempted writes into kernel code and data segments checked for validity at VM level. The OS-VM collaboration bridges the semantic gap between tracing low integrity objects at OS-level (files, processes, modules, allocated areas) and architecture-level (memory and registers). We have implemented this approach in a proof-of-concept prototype and have successfully tested it against 6 rootkits (including a non-control data attack) and 4 real-world benign LKM/drivers. All rootkits were prevented from corrupting kernel space and no false positive was triggered for benign modules. Performance measurements show that the average overhead to the VM for the OS-VM communication is low (7%, CPU benchmarks). The greatest overhead is caused by the memory monitoring module inside the VM: 1.38X alone and 1.46X when combined with the OS-VM communication. For OS microbenchmarks the slowdown for the OS-VM communication was 1.16X on average.
引用
收藏
页码:451 / 460
页数:10
相关论文
共 55 条
[51]  
YIN H, 2007, ACM C COMP COMM SEC, P116
[52]  
ZELDOVICH N, 2008, OSDI DEC
[53]  
2004, USENIX
[54]  
WHO NEEDS DEV KMEM
[55]  
2007, ACM CCS NOV, P103