Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison...

19
Shakeel Butt @ Rutgers University Vinod Ganapathy @ Rutgers University Michael M. Swift @ University of Wisconsin-Madison Chih-Cheng Chang @ Rutgers University ACSAC 2009 Protecting Commodity Operating System Kernels from Vulnerable Device Drivers

description

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

Transcript of Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison...

Page 1: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Shakeel Butt @ Rutgers UniversityVinod Ganapathy @ Rutgers University

Michael M. Swift @ University of Wisconsin-MadisonChih-Cheng Chang @ Rutgers University

ACSAC 2009

Protecting Commodity Operating System Kernels from

Vulnerable Device Drivers

Page 2: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

IntroductionBackground and scopeDesignImplementationEvaluationRelated WorkSummary

Outline

Page 3: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

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

Introduction

Page 4: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Threats at the kernel/driver interfaceKernel 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 interfaceA compromised driver can maliciously modify

the state of the device

Background and Scope

Page 5: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

GoalsKernel data structure integrityGood common-case performanceCompatibility

Design

Page 6: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Architecture

Design

Page 7: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

MicrodriverConsist of k-driver & u-driver

Microdriver runtimeCommunicationObject tracking

RPC monitorMonitor data transferMonitor control transfer

Design

Page 8: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Background on Microdrivers

Implementation

Page 9: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Microdriver split tool - DriverSlicerSplitterCode generator

Invariant inference tool – DaikonFront endInference engine

Implementation

Page 10: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Monitoring kernel data structure updatesTraining phace

Inferring data structure integrity constraintsConstancy of scalars and pointersRelationships between variablesRanges/sets of valuesLinked list invariants

Implementation

Page 11: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Enforcement phaseEnforcing data structure integrity constraints

Invariant table Vault table

Implementation

Page 12: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Monitoring control transfersExtracting control transfer policies

Static analysisEnforcing control transfer policies

UpcallDowncall

Inplementation

Page 13: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Conduct on four driversRealTek RTL-8139 (8139too)RealTek RTL-8139C+ (8139cp)Ensoniq sound card (ens1371)USB interface (uhci-hcd)

Evaluation

Page 14: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Privilege separation

Evaluation

Page 15: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Ability to prevent attacksControl hijacking via injected downcallsControl hijacking via modified function

pointersNon-control data attacks

Evaluation

Page 16: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

False positives and negatives

Evaluation

Page 17: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

PerformanceTCP receive and send buffer sizes of 87KB and

16KB, respectively.Copy a 140MB file into a USB diskPlay a 256-Kbps MP3

Evaluation

Page 18: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Hardware-based isolation techniquesVirtual machine-based techniquesLanguage-based mechanismsMicrokernelsUser-mode driver frameworks

Related Work

Page 19: Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison Chih-Cheng Rutgers University.

Better isolate kernel data from device drivers without sacrificing performance.

Compatible with commodity operating system.

Summary