Sam King Peter Chen CoVirt Project, University of Michigan

24
Backtracking Intrusions Sam King Peter Chen CoVirt Project, University of Michigan

Transcript of Sam King Peter Chen CoVirt Project, University of Michigan

Page 1: Sam King Peter Chen CoVirt Project, University of Michigan

Backtracking Intrusions

Sam King

Peter Chen

CoVirt Project, University of Michigan

Page 2: Sam King Peter Chen CoVirt Project, University of Michigan

Motivation

• Computer break-ins increasing

• Computer forensics is important– How did they get in

Page 3: Sam King Peter Chen CoVirt Project, University of Michigan

Current Forensic Methods

• Manual inspection of existing logs• System, application logs

– Not enough information

• Network log– May be encrypted

• Disk image– Only shows final state

• Machine level logs– No semantic information

• No way to separate out legitimate actions

Page 4: Sam King Peter Chen CoVirt Project, University of Michigan

BackTracker

• Can we help figure out what was exploited?

• Track back to exploited application

• Record causal dependencies between objects

Page 5: Sam King Peter Chen CoVirt Project, University of Michigan

Process

File

Socket

Detection point

Fork event

Read/write event

Page 6: Sam King Peter Chen CoVirt Project, University of Michigan

Presentation Outline

• BackTracker design

• Evaluation

• Limitations

• Conclusions

Page 7: Sam King Peter Chen CoVirt Project, University of Michigan

BackTracker

• Online component, log objects and events

• Offline component to generate graphs

BackTracker runs, shows source of intrusion

intrusion detected

intrusion occurs

Page 8: Sam King Peter Chen CoVirt Project, University of Michigan

BackTracker Objects

• Process

• File

• Filename

Page 9: Sam King Peter Chen CoVirt Project, University of Michigan

Dependency-Forming Events

• Process / Process– fork, clone, vfork

• Process / File– read, write, mmap, exec

• Process / Filename– open, creat, link, unlink, mkdir, rmdir, stat,

chmod, …

Page 10: Sam King Peter Chen CoVirt Project, University of Michigan
Page 11: Sam King Peter Chen CoVirt Project, University of Michigan

Prioritizing Dependency Graphs

• Hide read-only files

• Eliminate helper processes

• Filter “low-control”events

/bin/bash

/lib/libcbash

proc

backdoor

Page 12: Sam King Peter Chen CoVirt Project, University of Michigan

Prioritizing Dependency Graphs

id

pipe

• Hide read-only files

• Eliminate helper processes

• Filter “low-control”events

bash

proc

backdoor

Page 13: Sam King Peter Chen CoVirt Project, University of Michigan

Prioritizing Dependency Graphs

bash

proc login_a

utmp

login_b

backdoor

• Hide read-only files

• Eliminate helper processes

• Filter “low-control”events

Page 14: Sam King Peter Chen CoVirt Project, University of Michigan

Filtering “Low-Control” Events

bash

proc login

utmp

backdoor

Page 15: Sam King Peter Chen CoVirt Project, University of Michigan

backdoor

sshd

bash

Filtering “Low-Control” Events

bash

proc login

utmp

Page 16: Sam King Peter Chen CoVirt Project, University of Michigan
Page 17: Sam King Peter Chen CoVirt Project, University of Michigan

Process

File

Socket

Detection point

Fork event

Read/write event

Page 18: Sam King Peter Chen CoVirt Project, University of Michigan

Implementation

• Prototype built on Linux 2.4.18

• Both stand-alone and virtual machine

• Hook system call handler

• Inspect state of OS directly

Guest OS

Host OS

VMM EventLogger

Guest Apps

Host OS

EventLogger

Host Apps

Virtual Machine Implementation Stand-Alone Implementation

Page 19: Sam King Peter Chen CoVirt Project, University of Michigan

Evaluation

• Determine effectiveness of Backtracker

• Set up Honeypot virtual machine

• Intrusion detection using standard tools

• Attacks evaluated with six default filtering rules

Page 20: Sam King Peter Chen CoVirt Project, University of Michigan

Process

File

Socket

Detection point

Fork event

Read/write event

Page 21: Sam King Peter Chen CoVirt Project, University of Michigan

Process

File

Socket

Detection point

Fork event

Read/write event

Page 22: Sam King Peter Chen CoVirt Project, University of Michigan

BackTracker Limitations

• Layer-below attack

• Use “low control” events or filtered objects to carry out attack

• Hidden channels

• Create large dependency graph– Perform a large number of steps

– Implicate innocent processes

Page 23: Sam King Peter Chen CoVirt Project, University of Michigan

Future Work

• Department system administrators currently evaluating BackTracker

• Use different methods of dependency tracking

• Forward tracking

Page 24: Sam King Peter Chen CoVirt Project, University of Michigan

Conclusions

• Tracking causality through system calls can backtrack intrusions

• Dependency tracking– Reduce events and objects by 100x– Still effective even when same application

exploited many times

• Filtering– Further reduce events and objects