Annual Computer Security Applications Conference (ACSAC) 2012

Full Program »

Efficient Protection of Kernel Data Structures via Object Partitioning

Commodity operating system kernels isolate applications via separate memory address spaces provided by virtual memory management hardware. However, kernel memory is unified and mixes core kernel code with driver components of different provenance. Kernel-level malicious software exploits this lack of isolation between the kernel and its modules by illicitly modifying security-critical kernel data structures. In this paper, we design an access control policy and enforcement system that prevents kernel components with low trust from altering security-critical data used by the kernel to manage its own execution. Our policies are at the granularity of kernel variables and structure elements, and they can protect data structures
dynamically allocated at runtime. Our hypervisor-based design uses memory page protection bits as part of its policy enforcement. The granularity difference between page-level protection and variablelevel policies challenges the system’s ability to remain performant. In another contribution, we develop kernel data-layout partitioning
and reorganization techniques to maintain kernel performance in the presence of our protections. We show that our system can prevent malicious modifications to security-critical kernel data with small overhead. By offering protection for critical kernel data structures,
we can detect unknown kernel-level malware and guarantee that security utilities relying on the integrity of kernel-level state remain accurate.

Author(s):

Abhinav Srivastava    
AT&T Labs -- Research
United States

Jonathon Giffin    
Georgia Institute of Technology
United States

 

Powered by OpenConf®
Copyright©2002-2014 Zakon Group LLC