Top Banner
SESSION ID: #RSAC Michael Roytman PREDICTING EXPLOITABILITY - FORECASTS FOR VULNERABILITY MANAGEMENT AIR-W02 Chief Data Scientist Kenna Security @mroytman
39

SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

Sep 26, 2018

Download

Documents

lenga
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

SESSION ID:

#RSAC

Michael Roytman

PREDICTING EXPLOITABILITY -FORECASTS FOR VULNERABILITY MANAGEMENT

AIR-W02

Chief Data ScientistKenna Security@mroytman

Page 2: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

“Prediction is very difficult, especially about the future.”

-Niels Bohr

Page 3: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

3 Types of Data-Driven

3

Page 4: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

THE PROBLEM

4

Too many vulnerabilities.How do we derive risk from vulnerability in a data-driven manner?

Page 5: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

EXPLOITABILITY

5

1. RETROSPECTIVE2. REAL-TIME3. PREDICTIVE

Page 6: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

EXPLOITABILITY

6

1. RETROSPECTIVE2. REAL-TIME3. PREDICTIVE

Page 7: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Retrospective Model: CVSS

7

Analyst InputVulnerability Management Programs Augmenting Data

Temporal Score Estimation

Vulnerability Researchers

Page 8: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

EXPLOITABILITY

8

1. RETROSPECTIVE2. REAL-TIME3. PREDICTIVE

Page 9: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Real-Time - The Data

9

Vulnerability Scans (Qualys, Rapid7, Nessus, etc):• 7,000,000 Assets (desktops, servers, urls, ips, macaddresses)• 1,400,000,000 Vulnerabilities (unique asset/CVE pairs)

Exploit Events - Successful Exploitations• ReversingLabs’ backend metadata

• Hashes for each CVE• Number of found pieces of malware corresponding to each hash

• Alienvault Backdoor• “attempted exploits” correlated with open vulnerabilities

Page 10: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Attackers Are Fast

10

Page 11: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Positive Predictive Value of Remediating:

11

Page 12: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

DATA OF FUTURE PAST

12

Q: “Of my current vulnerabilities, which ones should I remediate?”

A: Old ones with stable, weaponized exploits

Page 13: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

FUTURE OF DATA PAST

13

Q: “A new vulnerability was just released. Do we scramble?”

A:

Page 14: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

EXPLOITABILITY

14

1. RETROSPECTIVE2. REAL-TIME3. PREDICTIVE

Page 15: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Learning Machine Learning

15

Page 16: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch
Page 17: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

The Future

17

•Classification: output is qualitative

•prediction:

“Will this vulnerability have an exploit written for it?”(== cause more risk later)

Page 18: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

Enter: AWS ML

Page 19: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

The Data

19

N = 81303

All CVE. Described By:1. National Vulnerability Database2. Common Platform Enumeration3. Occurrences in Kenna Scan DataLabelled as Exploit Available/Not:1. Exploit DB2. Metasploit3. D2 Elliot/Canvas4. Blackhat Exploit Kits

Page 20: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

70% Training, 30% Evaluation Split

N = 81303

All Models:

20

L2 regularizer

1 gb

100 passes over the data

Receiver operating characteristics for comparisons

Page 21: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Predictive - The Expectations

21

Distribution is not uniform. 77% of dataset is not exploited1. Accuracy of 77% would be bad

Precision matters more than Recall1. No one would use this model absent actual exploit available data.2. False Negatives matter less than false positives - wasted effort

We are not modeling when something will be exploited, just IFCould be tomorrow or in 6 months. Re-run the model every day

Page 22: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Model 1: Baseline

22

-CVSS Base-CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date

Page 23: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

LMGTFY:

Page 24: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

Moar Simple?

Page 25: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

Measuring Performance

Page 26: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Model 2: Patches

26

-CVSS Base-CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch Exists

Page 27: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Model 3: Affected Software

27

-CVSS Base-CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch Exists-Vendors-Products

Page 28: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Model 4: Words!

28

-CVSS Base-CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch Exists-Vendors-Products-Description, Ngrams 1-5

Page 29: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Model 5: Vulnerability Prevalence

29

-CVSS Base-CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch Exists-Vendors

-Products-Description, Ngrams 1-5-Vulnerability Prevalence-Number of References

Page 30: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Model 6: ”Somewhat Likely”

30

Page 31: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Model 6: ”Highly Likely”

31

Page 32: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Model 6: ”Most Likely”

32

Page 33: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

33

-Track Predictions vs. Real Exploits

-Integrate 20+ BlackHat Exploit Kits - FP reduction?

-Find better vulnerability descriptions - mine advisories for content? FN reduction?

Future Work

-Predict Breaches, not Exploits

-Attempt Models by Vendor

Page 34: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

34

Too many vulnerabilities.How do we derive risk from vulnerability in a data-driven manner?

PROBLEM

Page 35: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

35

1. Gather data about known successfulattack paths2. Issue forecasts where data is lacking in order to predict new exploits3. Gather MORE data about known successful attack paths

SOLUTION

Page 36: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

36

2. When Risk is Rare, Precision is Difficult

Takeaways1. Simple, Power Questions make Machine Learning Useful in Security

3. When Precision is Difficult, Be Smart about Tradeoffs

Page 37: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch
Page 38: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

38

The Takeaway

____ Machine Learn!

Page 39: SESSION ID: AIR-W02 PREDICTING … · -CVSS Temporal-Remote Code Execution-Availability-Integrity-Confidentiality-Authentication-Access Complexity-Access Vector-Publication Date-Patch

#RSAC

Putting It All Together

39

Thank You for waking up so early for this!

@mroytman

www.kennasecurity.com