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 条
[1]  
[Anonymous], 2005, SOSP'05: Proceedings of the twentieth ACM symposium on Operating systems principles, DOI [10.1145/1095810.1095820, DOI 10.1145/1095810.1095820]
[2]  
[Anonymous], Unixbench
[3]  
[Anonymous], 2006, NDSS
[4]  
[Anonymous], GCC HACKS LINUX KERN
[5]  
[Anonymous], 2005, SSYM 05 P 14 C USENI
[6]  
[Anonymous], 2005, Linux Kernel Development
[7]  
BALIGA A, 2008, COMPUTER SECURITY
[8]   Lurking in the shadows: Identifying systemic threats to kernel data (Short paper) [J].
Baliga, Arati ;
Kamat, Pandurang ;
Iftode, Liviu .
2007 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, PROCEEDINGS, 2007, :246-+
[9]   Automatic Inference and Enforcement of Kernel Data Structure Invariants [J].
Baliga, Arati ;
Ganapathy, Vinod ;
Iftode, Liviu .
24TH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE, PROCEEDINGS, 2008, :77-86
[10]  
BIBA K, 1977, TR3153 MITRE