190 likes | 316 Views
Protecting Commodity Operating System Kernels from Vulnerable Device Drivers. Shakeel Butt @ Rutgers University Vinod Ganapathy @ Rutgers University Michael M. Swift @ University of Wisconsin-Madison Chih -Cheng Chang @ Rutgers University ACSAC 2009. Outline. Introduction
E N D
Protecting Commodity Operating System Kernels from Vulnerable Device Drivers Shakeel Butt @ Rutgers University VinodGanapathy @ Rutgers University Michael M. Swift @ University of Wisconsin-Madison Chih-Cheng Chang @ Rutgers University ACSAC 2009
Outline • Introduction • Background and scope • Design • Implementation • Evaluation • Related Work • Summary
Introduction • Device drivers execute with kernel privilege in most commodity operating systems and have unrestricted access to kernel data structure. • Propose a security architecture that offers commodity operating systems the benefits of executing device drivers in user mode without affecting common-case performance
Background and Scope • Threats at the kernel/driver interface • Kernel data structures are routinely updated by device drivers, and the kernel impose no restrictions on the memory regions accessible to drivers or devices. • Threats at the driver/device interface • A compromised driver can maliciously modify the state of the device
Design • Goals • Kernel data structure integrity • Good common-case performance • Compatibility
Design • Architecture
Design • Microdriver • Consist of k-driver & u-driver • Microdriver runtime • Communication • Object tracking • RPC monitor • Monitor data transfer • Monitor control transfer
Implementation • Background on Microdrivers
Implementation • Microdriver split tool - DriverSlicer • Splitter • Code generator • Invariant inference tool – Daikon • Front end • Inference engine
Implementation • Monitoring kernel data structure updates • Training phace • Inferring data structure integrity constraints • Constancy of scalars and pointers • Relationships between variables • Ranges/sets of values • Linked list invariants
Implementation • Enforcement phase • Enforcing data structure integrity constraints • Invariant table • Vault table
Inplementation • Monitoring control transfers • Extracting control transfer policies • Static analysis • Enforcing control transfer policies • Upcall • Downcall
Evaluation • Conduct on four drivers • RealTek RTL-8139 (8139too) • RealTek RTL-8139C+ (8139cp) • Ensoniq sound card (ens1371) • USB interface (uhci-hcd)
Evaluation • Privilege separation
Evaluation • Ability to prevent attacks • Control hijacking via injected downcalls • Control hijacking via modified function pointers • Non-control data attacks
Evaluation • False positives and negatives
Evaluation • Performance • TCP receive and send buffer sizes of 87KB and 16KB, respectively. • Copy a 140MB file into a USB disk • Play a 256-Kbps MP3
Related Work • Hardware-based isolation techniques • Virtual machine-based techniques • Language-based mechanisms • Microkernels • User-mode driver frameworks
Summary • Better isolate kernel data from device drivers without sacrificing performance. • Compatible with commodity operating system.