+ All Categories
Transcript
Page 1: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

NoDoze:Combating Threat Alert Fatigue with Automated Provenance Triage

Wajih Ul Hassan, Shengjian Guo, Ding Li, Zhengzhang Chen, Kangkook Jee, Zhichun Li, Adam Bates

26th Annual Network and Distributed System Security Symposium (NDSS) 2019

Page 2: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

The Modern Cyber Threat Pandemic3,930 Breaches

in 2015

953 Breaches in

2010

Sele

cted

Dat

a Br

each

es

Source: World’s Biggest Data Breaches, Information is Beautiful

321 Breaches in

2006

Every company wants to keep their name off this chart

2

Page 3: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

• Threat Detection Software (TDS) is the standard approach to security monitoring in large organizations.

Threat Detection

3

• Even the most advanced tools are prone to high false alert rates

Page 4: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

State of Threat DetectionFireeye’s “How Many Alerts is Too Many to Handle?” report:

Organizations receive 17,000 alerts per week on average

51% false alarms

Only 4% of alerts are properly investigated.

Waste an average of $1.27 million every year

https://www2.fireeye.com/CMPG-IDC-Numbers-Game-Special-Report.html

Threat Alert Fatigue A phenomenon when cyber analysts do not respond to threat alerts

because they receive so many each day.

Page 5: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Example rule: ALERT if process reads/writes many files in a short span of time

Program2.exeProgram1.exe Compression UtilityMalware!!

Threat Alert Fatigue

�5

outlook.exe update.exe

Where are we going wrong?• Support for alert context is limited or non-existent

•Alerts fire based on single-event rules •Rules are heuristic, curated by domain experts

Page 6: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Combatting Alert Fatigue

�6

Program1.exe

Outlook.exeMalware.exe

Program2.exe

SoftInstaller.exeZip.exe

Key Idea: The suspiciousness of an individual event is informed by the suspiciousness of its historical context.

Page 7: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Threat Alert Investigation

�7

/Downloads/Mal.exe

Chrome

malware.com

Dependency Graph

malserver.com

Mal.exe

● Life cycle of data object ○ Represented as graph ○ Vertex: File, Socket and Process ○ Edge: Causal dependency event

■ where each event E is a tuple of (SRC,DST,REL)

● Helpful in alert investigation ○ Querying root cause of the alert ○ Gives you context of the alert

Page 8: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

�8

OS-Level Logs

System Log DB

Threat Detector

On-Demand Dep. Graph

Construction

NoDoze Event Freq. DB

Score Assignment & Propagation

Graph Reduction

NoDoze Workflow

Alert Rankings

1.Anomaly Score Calculation 2.Anomaly Score Propagation 3.Graph Reduction

Page 9: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

1.Use historic event data to build an Event Frequency Database

● Encodes typical behavior within the organization

Anomaly Score Calculation

9

Page 10: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

1.Use historic event data to build an Event Frequency Database

● Encodes typical behavior within the organization

2.Generates provenance graph for each alert event.

Anomaly Score Calculation

10

Chrome.exe

x.x.x.xa.a.a.a

/Downloads/ftp.exe

/Downloads/Java.exe

Malware ProcessFtp

Process

Page 11: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

1.Use historic event data to build an Event Frequency Database

● Encodes typical behavior within the organization

2.Generates provenance graph for each alert event. 3.Assign transition probability to each event (edge)

• how often information flows from SRC to DST for particular REL

Anomaly Score Calculation

11

TransProbabilt y(E ) = Frequency(E)FrequencyonlySRC(E)

Chrome.exe

x.x.x.xa.a.a.a

/Downloads/ftp.exe

/Downloads/Java.exe

Malware ProcessFtp

Process

Page 12: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

1.Use historic event data to build an Event Frequency Database

● Encodes typical behavior within the organization

2.Generates provenance graph for each alert event. 3.Assign transition probability to each event (edge)

• how often information flows from SRC to DST for particular REL

Anomaly Score Calculation

12

TransProbabilt y(E ) = Frequency(E)FrequencyonlySRC(E)

How often does data flow from SRC to DST?

How often does data flow from SRC to anywhere?

Chrome.exe

x.x.x.xa.a.a.a

/Downloads/ftp.exe

/Downloads/Java.exe

Malware ProcessFtp

Process

Page 13: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

1.Use historic event data to build an Event Frequency Database

● Encodes typical behavior within the organization

2.Generates provenance graph for each alert event. 3.Assign transition probability to each event (edge)

• how often information flows from SRC to DST for particular REL

Anomaly Score Calculation

13

TransProbabilt y(E ) = Frequency(E)FrequencyonlySRC(E)

High Transition Prob. 0.8

Low Transition Prob. 0.2

Chrome.exe

x.x.x.xa.a.a.a

/Downloads/ftp.exe

/Downloads/Java.exe

Malware ProcessFtp

Process

Page 14: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Anomaly Score Propagation4. For Path of length N in graph

we calculate anomaly score as follows:P = (E1, E2, . . . , En)

Chrome.exe

x.x.x.xa.a.a.a

/Downloads/ftp.exe

/Downloads/Java.exe

Malware ProcessFtp

Process

High Transition Prob. 0.8

Low Transition Prob. 0.2

14

Page 15: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Anomaly Score Propagation

15

4. For Path of length N in graph we calculate anomaly score as follows:

P = (E1, E2, . . . , En)

a.a.a.a

ftp.exe

Ftp

x.x.x.x

ftp.exe

Ftp

a.a.a.a

java.exe

Malware

x.x.x.x

java.exe

Malware

High Transition Prob. 0.8

Low Transition Prob. 0.2

Page 16: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Anomaly Score Propagation

16

4. For Path of length N in graph we calculate anomaly score as follows:

P = (E1, E2, . . . , En)

IN/OUT scores account for total amount of data flowing in/out of the SRC and DST

a.a.a.a

ftp.exe

Ftp

x.x.x.x

ftp.exe

Ftp

a.a.a.a

java.exe

Malware

x.x.x.x

java.exe

Malware

High Transition Prob. 0.8

Low Transition Prob. 0.2

Regularit yScore(P) =N

∏i=1

IN(SRCi) × TransProb(Ei) × OUT(DSTi)

Page 17: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Anomaly Score Propagation

17

4. For Path of length N in graph we calculate anomaly score as follows:

P = (E1, E2, . . . , En)

For instance, IN and OUT score is 1.0 then:

a.a.a.a

ftp.exe

Ftp

x.x.x.x

ftp.exe

Ftp

a.a.a.a

java.exe

Malware

x.x.x.x

java.exe

Malware

High Transition Prob. 0.8

Low Transition Prob. 0.2

0.512 0.128 0.032 0.008Regularity Scores =

Regularit yScore(P) =N

∏i=1

IN(SRCi) × TransProb(Ei) × OUT(DSTi)

Page 18: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Anomaly Score Propagation

18

4. For Path of length N in graph we calculate anomaly score as follows:

P = (E1, E2, . . . , En)

AnomalyScore(P) = 1 − Regularit yScore(P)

For instance, IN and OUT score is 1.0 then:

a.a.a.a

ftp.exe

Ftp

x.x.x.x

ftp.exe

Ftp

a.a.a.a

java.exe

Malware

x.x.x.x

java.exe

Malware

High Transition Prob. 0.8

Low Transition Prob. 0.2

Anomaly Scores = 0.488 0.872 0.968 0.992

Regularit yScore(P) =N

∏i=1

IN(SRCi) × TransProb(Ei) × OUT(DSTi)

0.512 0.128 0.032 0.008Regularity Scores =

Page 19: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Anomaly Score Propagation

19

4. For Path of length N in graph we calculate anomaly score as follows:

P = (E1, E2, . . . , En)

For instance, IN and OUT score is 1.0 then:

a.a.a.a

ftp.exe

Ftp

x.x.x.x

ftp.exe

Ftp

a.a.a.a

java.exe

Malware

x.x.x.x

java.exe

Malware

High Transition Prob. 0.8

Low Transition Prob. 0.2

Regularit yScore(P) =N

∏i=1

IN(SRCi) × TransProb(Ei) × OUT(DSTi)

Top 2 Anomalous Paths

AnomalyScore(P) = 1 − Regularit yScore(P)

Anomaly Scores = 0.488 0.872 0.968 0.992

0.512 0.128 0.032 0.008Regularity Scores =

Page 20: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Anomaly Score Propagation

20

4. For Path of length N in graph we calculate anomaly score as follows:

P = (E1, E2, . . . , En)

For instance, IN and OUT score is 1.0 then:

a.a.a.a

ftp.exe

Ftp

x.x.x.x

ftp.exe

Ftp

a.a.a.a

java.exe

Malware

x.x.x.x

java.exe

Malware

High Transition Prob. 0.8

Low Transition Prob. 0.2

Regularit yScore(P) =N

∏i=1

IN(SRCi) × TransProb(Ei) × OUT(DSTi)

Top 2 Anomalous Paths

AnomalyScore(P) = 1 − Regularit yScore(P)

Anomaly Scores = 0.488 0.872 0.968 0.992

0.512 0.128 0.032 0.008Regularity Scores =

Use Aggregate Anomaly Scores to Triage threat alerts

Page 21: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

• A major issue in provenance analysis is dependency explosion• One output event depends on all input events that happen before it (the same

process).

Graph Reduction

21

Chrome.exe

/Downloads/ftp.exe

/Downloads/Java.exe

Malware Process

Ftp Process

Page 22: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

• A major issue in provenance analysis is dependency explosion• One output event depends on all input events that happen before it (the same

process).

Graph Reduction

22

Chrome.exe

/Downloads/Java.exe

Malware Process

Page 23: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

• A major issue in provenance analysis is dependency explosion• One output event depends on all input events that happen before it (the same

process).

Graph Reduction

23

Chrome.exe

/Downloads/Java.exe

Malware Process

False/Irrelevant Dependencies

Page 24: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

• A major issue in provenance analysis is dependency explosion• One output event depends on all input events that happen before it (the same

process).

Graph Reduction

24

Chrome.exe

/Downloads/Java.exe

Malware Process

• Existing solutions require developer intervention

False/Irrelevant Dependencies

Page 25: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Graph Reduction

25

Chrome.exe

/Downloads/ftp.exe

/Downloads/Java.exe

Malware Process

Ftp Process

• NoDoze introduces behavioral execution partitioning• partition a program’s execution between normal and anomalous

behavior, prune normal paths.

Page 26: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Graph Reduction

26

Chrome.exe

/Downloads/ftp.exe

/Downloads/Java.exe

Malware Process

Ftp Process

• NoDoze introduces behavioral execution partitioning• partition a program’s execution between normal and anomalous

behavior, prune normal paths.

Most Anomalous Path

Page 27: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Graph Reduction

27

Chrome.exe

/Downloads/Java.exe

Malware Process

• NoDoze introduces behavioral execution partitioning• partition a program’s execution between normal and anomalous

behavior, prune normal paths.

Most Anomalous Path

Page 28: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

• Experimentally validated at NEC Labs using their commercially-available threat detection software (NEC ASI System).

• Provenance data from 190 hosts (heterogenous network)

• Event Frequency Database populated with 1 month data

• Evaluation engagement took place over 5 days

• Underlying Threat Detection Software generated 364 alerts

• 50 True Alerts (we injected these)

• 314 False Alerts (validated by analysts)

NoDoze Evaluation

28

WannaCryPhishing Email

Data TheftShellshock

netcat backdoorpass the hash

wget->gcc

Page 29: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

�29

Summary of Results

84% reduction in false alarms

>90 employee-

hours saved

2 orders

smaller graph

Page 30: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

• To prioritize alerts, just sort by anomaly score!

• Can we go further? Yes

• If there is major separation between scores of True Alerts and False Alerts, we can set a separation threshold for alerts that fall beneath a certain score.

Threat Alert Triage

30

• Threshold can be set experimentally by analysts based on past investigations.

0

0.2

0.4

0.6

0.8

1

50 100 150 200 250CDF

Ranking

True AlertsFalse AlertsThreshold

84% reduction

Page 31: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Time Saved

● Studies have shown that it takes 20+ mins on average to investigate each alert

● In our dataset we have total 314 false alerts collected from underlying threat detection software ○ Take 104 hours to investigate

● NoDoze reduces 84% of 314 false alerts ○ Saved more than 90 hours

�31

>90 employee-

hours saved

Page 32: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Graph Reduction

�32

Svchost

IExplorer.exe springs.7zip

Svchost.exe

Explorer.exe

dropper.exe

7zip.exe

Skype.exeIExplorere.exe

IExplorere.exe

dropper.exe

y.y.y.y:445

Spoolsv.exe

encrypt.exe

Svchost.exe

encryptor.exe

Attack Other hosts

smbd

z.z.z.z:445

sys-report.txt

Low Anomaly Score Progeny of E2

High Anomaly Score Progeny of E1

Powershell

sys-report.txt

WBEM/WMIC REG NETSTAT TASKLIST ROUTE IPCONFIG

Other file nodes

Other file nodes

vim

diff

check-filebash

sys-report.txt

cat ls grep cut

Low Anomaly Score Ancestry of E2

High Anomaly Score Ancestry of E1

collect-info.ps1

Powershell

Svchost.exe

Userinit

E1E2

IExplorer.exe

springs.7zip

Svchost.exe

Explorer.exe

dropper.exe

7zip.exe

a.a.a.a

dropper.exe

Svchost.exe

Spoolsv.exe

encrypt.exeSvchost.exe

encryptor.exe

All filenodes

b.b.b.b

y.y.y.y:445

All filenodes

E1

2 orders smaller graph

Page 33: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Conclusion

● We develop NoDoze — a threat alert triage and investigation system

● It leverages historical information and contextual alerting to improve state-of-the-art threat detection softwares

● Evaluation results show that our system substantially reduces the slog of investigating false alarms

�33

Page 34: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Conclusion

● We develop NoDoze — a threat alert triage and investigation system

● It leverages historical information and contextual alerting to improve state-of-the-art threat detection softwares

● Evaluation results show that our system substantially reduces the slog of investigating false alarms

�34

Thanks & [email protected]

Page 35: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Backup slides

!35

Page 36: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

• Using NoDoze as a TDS is prohibitively costly

• Graph analysis on every event happening in enterprise

• Lot of research to curate these rules

• Efficiently generate threat alerts

• Use these alerts as a starting point

Why we need TDS?

36

Page 37: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

• Two reasons to miss attacks:

• Underlying TDS miss attacks

• NoDoze separation threshold is two low

• Goal of NoDoze is to triage

• Separation Threshold is configurable

• Based on organization setup such as num. of hosts and workload

What about False negative

37

Page 38: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Anomaly Score Normalization

38

AnomalyScore(P) = 1 −N

∏i=1

IN(SRCi) × TransProb(Ei) × OUT(DSTi)

Normalize the path scores • Longer paths tends to have higher score in above equation • Remove scoring bias by calculating decay factor using random sampling

approach

Page 39: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Data Provenance aka Audit log ●Lineage of system activities●Represented as Graph

○ Vertex: File, Socket and Process ○ Edge: Causal dependency event

39

1. Bash, Spawns NGINX 2. NGINX, Receives from abc.com 3. NGINX, Reads File index.html 4. ….......

index.html

NGINX

abc.com

Audit log

Bash

Provenance Graph

Bash: exec(“./NGINX”);

NGINX: recv(…,“abc.com”);fread(“index.html”);

Code Execution

Page 40: NoDoze:Combating Threat Alert Fatigue with Automated ... · smbd z.z.z.z:445 sys-report.txt Low Anomaly Score Progeny of E 2 High Anomaly Score Progeny of E 1 Powershell sys-report.txt

Linux Auditd Architecture

40

User-space

Kernel

kauditd

auditd Logs

netlink

Application

syscall

audit filter

Syscall processing

syscallreturn


Top Related