+ All Categories
Home > Documents > Shakeel Rutgers University Vinod Rutgers University Michael M. University of Wisconsin-Madison...

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

Date post: 17-Jan-2018
Category:
Upload: jemima-copeland
View: 223 times
Download: 0 times
Share this document with a friend
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
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
Transcript
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


Recommended