20
Hi-Fi: Collecting High-Fidelity Whole-System Provenance Devin J.Pohly 1 , Stephen McLaughlin 1 , Patrick McDaniel 1 , Kevin Butler 2 1 Pennsylvania State University 2 University of Oregon Annual Computer Security Applications Conference (ACSAC) 2012 左左左 12/11, 2012, Seminar @ ADLab, NCU

Hi-Fi: Collecting High-Fidelity Whole-System Provenance

  • Upload
    naava

  • View
    21

  • Download
    0

Embed Size (px)

DESCRIPTION

Annual Computer Security Applications Conference (ACSAC) 2012. Hi-Fi: Collecting High-Fidelity Whole-System Provenance. Devin J.Pohly 1 , Stephen McLaughlin 1 , Patrick McDaniel 1 , Kevin Butler 2 1 Pennsylvania State University 2 University of Oregon. 左昌國 - PowerPoint PPT Presentation

Citation preview

Page 1: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

Hi-Fi: Collecting High-Fidelity Whole-System ProvenanceDevin J.Pohly1, Stephen McLaughlin1, Patrick McDaniel1, Kevin Butler2

1Pennsylvania State University2University of Oregon

Annual Computer Security Applications Conference (ACSAC) 2012

左昌國12/11, 2012, Seminar @ ADLab, NCU

Page 2: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Introduction• Design• System-Level Object Model• Implementation• Evaluation• Conclusion

Outline

2

Page 3: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Data provenance• A record of the origin and evolution of data in a system• Useful for forensic analysis

• Current approaches• System call interception

• Lineage File System• PASSv2• Forensix• Insufficient fidelity

• VFS handling• Story Book provenance system• FUSE API• Insufficient breadth

Introduction

3

Page 4: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Linux Security Modules (link)• LSM is a framework which was originally designed for integrating

custom access control mechanisms into the Linux kernel• “Security fields” in kernel data structures

• Ex: inode• “Hooks” in kernel code

• Ex: inode_permission in SELinux• The hook placement has been repeatedly analyzed and refined in

literature to ensure that every access is mediated

Introduction

4

Page 5: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

Introduction

5

Page 6: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Provenance collector• Provenance log• Provenance handler

Design

6

Page 7: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Threat Model• Any userspace compromise• Kernel-level compromise

• Isolated disk-level versioning system• Write-once read-many storage system

Design

7

Page 8: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Read/write file descriptor• File operation• IPC• Network communication• Program execution• Creation/deletion of credential obj• User transition

Design – Provenance Collector

8

Page 9: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• provid• A small integer which is reserved for an object until it is destroyed

System-Level Object Model

9

Page 10: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• UUID• A random UUID is created at boot time

• cred structure (ex: in task_struct)• Process fork• New credential• A provid for each created cred structure

System-Level Object Model: System, Processes, and Threads

10

Page 11: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Files and Filesystems• UUID + inode number

• Pipes and Message Queues• Pipe

• The data queue is modeled as an file• Message Queue

• A provid for each message

System-Level Object Model

11

Page 12: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• UUID + counter• The sender chooses an identifier for the remote receive

queue and transmit it along with the first data packet

System-Level Object Model - Sockets

12

Page 13: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Efficient Data Transfer• relay

• A kernel ring buffer made up of a set of preallocated sub-buffer• Represented as a regular file in user space

• Early Boot Provenance• LSM is initialized as early as possible• The provenance is stored in a small temporary buffer before the

VFS (for relay) is initialized• Operating System Integration

• /etc/inittab• Shutdown: Terminate other processes before handler

Implementation Details

13

Page 14: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Provenance-Opaque Flag• The handler calls “read”• trigger file_permission hook• adding another action in log, handler calls “read”• loop

• A flag “security.hifi” is set in the handler process

Implementation Details

14

Page 15: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

Evaluation

15

A(attacker)

B

C

compromisespread

Page 16: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Persistence and Stealth

Evaluation

16

Page 17: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Remote Control

Evaluation

17

Open shell

Exfiltration

Write a file

Page 18: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Spread

Evaluation

18

Page 19: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• Performance• Microbenchmark

• Macrobenchmark• 2.8% time overhead (build a kernel)

Evaluation

19

Page 20: Hi-Fi: Collecting High-Fidelity Whole-System Provenance

• This paper presents a high-fidelity provenance record• This record can be used to observe the behavior of

malware• Low-overhead

Conclusion

20