Transcript
Page 1: Enriching intrusion alerts through multi-host causality

Enriching intrusion alerts through multi-host

causalitySam King

Morley MaoDominic Lucchetti

Peter Chen

University of Michigan

Page 2: Enriching intrusion alerts through multi-host causality

2

Motivation

• IDS alerts highlight suspicious activity– Network and host level

• Alerts lack context– How did this activity happen?– What were the effects of this activity?

Page 3: Enriching intrusion alerts through multi-host causality

4

Causality to connect alerts

Remotesocket

ProcessFileSocket

Detection pointFork eventRead/write event

httpd

wget

rootkits.combash

getroot.exe rootproc

Page 4: Enriching intrusion alerts through multi-host causality

5

Overview

• Causality: BackTracker• Bi-directional distributed

BackTracker• Correlating IDS alerts• Conclusions

Page 5: Enriching intrusion alerts through multi-host causality

6

BackTracker

• Help figure out what application was exploited

• Show chain of events between exploit and detection point

• Track causal operating system events and objects

Page 6: Enriching intrusion alerts through multi-host causality

7

BackTracker Example

ProcessFileSocket

Detection pointFork eventRead/write eventbackdoor

httpdremotesocket

/tmp/xploit/backdoor

bash

wget

remotesocket

Page 7: Enriching intrusion alerts through multi-host causality

8

BackTracker

• Objects: processes, files• Events: read/write, fork, exec, mmap…

• Online component logs events, objects• Offline component generates graphs

• Causality effective technique for highlighting actions of attacker

Page 8: Enriching intrusion alerts through multi-host causality

9

Extending BackTracker

• Use send/receive events to connect hosts on separate hosts– identify packets by source/destination

IP address and TCP sequence number

• Forward tracking

Page 9: Enriching intrusion alerts through multi-host causality

10

Bi-directional distributed BackTracker (BDB)

• Common configuration: firewall• Given a single infected host, track

attack

• Tracking multi-host attacks– Follow attack “upstream”

• Find original source of intrusion• Patch vulnerable server, fix infected laptop

– Follow attack “downstream”• Find other compromised hosts

Page 10: Enriching intrusion alerts through multi-host causality

11

Prioritize Packets

ProcessFileSocket

Detection pointFork eventRead/write eventbackdoor

/tmp/xploit/backdoor

bashwget

remotesocket

httpd

rc

init

remotesocket

Page 11: Enriching intrusion alerts through multi-host causality

12

Highest process, most recent packet

ProcessFileSocket

Detection pointFork eventRead/write eventbackdoor

/tmp/xploit/backdoor

bashwget

remotesocket

httpd

rc

init

remotesocket

Page 12: Enriching intrusion alerts through multi-host causality

13

Guess and check

• Follow all packets, examine other host• Search for causally linked “intrusions”

Host BHost A

spread_worm

backdoor

bash

httpd

backdoor

/tmp/xploit/backdoor

bash wget

sockethttpd

Page 13: Enriching intrusion alerts through multi-host causality

14

Use NIDS to highlight packets

backdoor

/tmp/xploit/backdoor

bash wget

socketsmbd

smb socket

Page 14: Enriching intrusion alerts through multi-host causality

15

Multi-host attacks• Examined Slapper worm and manual

attack on local network• Significant background noise

– 12 hosts, all connected, 4 ftpd, 4 httpd, 4 smbd

• All hosts both clients and servers– Download source code, compile

– Gigabytes of network traffic– Millions of events and objects

• 20 minute experiments, break in after 10• Goal: given a single infected host find

source of attack and all infected hosts

Page 15: Enriching intrusion alerts through multi-host causality

16

Slapper Worm

Host A

Host D

Host C

Host B

External Network

Slapper worm

Firewall

Page 16: Enriching intrusion alerts through multi-host causality

17

ProcessFileSocket

Detection pointCausal event

Page 17: Enriching intrusion alerts through multi-host causality

18

Slapper Worm

Host A

Host D

Host C

Host B

External Network

Slapper worm

Firewall

Page 18: Enriching intrusion alerts through multi-host causality

19

ProcessFileSocket

Detection pointCausal event

Page 19: Enriching intrusion alerts through multi-host causality

20

Tracking Slapper Forward

ProcessFileSocket

Detection pointCausal event

Page 20: Enriching intrusion alerts through multi-host causality

21

Slapper Worm

Host A

Host D

Host C

Host B

External Network

Slapper worm

Firewall

Page 21: Enriching intrusion alerts through multi-host causality

22

Multi-host manual attack

• Highest process, most recent packet does not always work

• Use Snort to highlight suspicious packets

• Stealthy attack, difficult to detect– Attack one host at a time

• Wait for next target to communicate with current host

– Break into various services– Services under heavy legitimate use– Use previously “unknown” attacks– Perform different tasks on each host

Page 22: Enriching intrusion alerts through multi-host causality

23

Multi-host manual attack

Host A

Host I

Host CHost BExternal Network

Host E

Host D

Host GHost F Host H

Host KHost J Host L

Page 23: Enriching intrusion alerts through multi-host causality

24

Correlating IDS alerts• Many independent sources of IDS alerts

– Host/network– Host/host

• Correlate multiple sources, reduce false positives – correlate through syntactic or timing

relationships– correlate through manually specified

semantic relationships

• BDB can correlate IDS alerts through causal relationships

Page 24: Enriching intrusion alerts through multi-host causality

25

Zero Configuration Snort

• Difficult to configure– False positives

• Services not used• Failed exploit attempts• New rules developed frequently

• Setup system with all default Snort rules– Also enabled several other rules

• Use causality to verify Snort alerts– Detect any processes running as root

Page 25: Enriching intrusion alerts through multi-host causality

26

Zero Configuration Snort Results

• Ran honeypot for two days

• Without correlating alerts– 39 Snort alerts– Many processes run as root

• Zero Configuration Snort– Zero false positives– One true positive

Page 26: Enriching intrusion alerts through multi-host causality

27

ProcessFileSocket

Detection pointCausal event

Page 27: Enriching intrusion alerts through multi-host causality

28

Conclusions

• Can use causality to provide context for intrusion alerts– Follow multi-host attacks– Correlate IDS alerts

• Causality effective mechanism for adding context to intrusion alerts

Page 28: Enriching intrusion alerts through multi-host causality

29

Questions


Top Related