functional graph pattern matching for …...functional graph pattern matching for cybersecurity and...

12
Functional Graph Pattern Matching for Cybersecurity and Beyond Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10 th , 2018 / © 2018 IBM Corporation Xiaokui Shu, Frederico Araujo, Douglas L. Schales, Marc Ph. Stoecklin, Jiyong Jang, Heqing Huang, and Josyula R. Rao. 2018. Threat Intelligence Computing. In 2018 ACM SIGSAC Conference on Computer and Communications Security (CCS ’18), October 15–19, 2018, Toronto, ON, Canada Project sponsored by the Air Force Research Laboratory (AFRL) and the Defense Advanced Research Projects Agency (DARPA) under the award number FA8650-15-C-7561.

Upload: others

Post on 26-May-2020

29 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

Functional Graph Pattern Matching for Cybersecurity and Beyond

—Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin

IBM Research

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation

Xiaokui Shu, Frederico Araujo, Douglas L. Schales, Marc Ph. Stoecklin, Jiyong Jang, Heqing Huang, and Josyula R. Rao. 2018. Threat Intelligence Computing. In 2018 ACM SIGSAC Conference on Computer and Communications Security (CCS ’18), October 15–19, 2018, Toronto, ON, Canada

Project sponsored by the Air Force Research Laboratory (AFRL) and the Defense Advanced Research Projects Agency (DARPA) under the award number FA8650-15-C-7561.

Page 2: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

Every Campaign Is DifferentThey are Developed On-The-Fly

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 2

“It takes an average of 206 days to detect a data breach.”

-- Ponemon The Cost of Data Breach 2017

One exploit failed? Try a 0-day one.

The server is well protected? Try its backup.

C&C is under radar? Try a Twitter post.

Data movement is monitored? Try legitimate channels.

Cannot hack that a laptop? Try social engineering.

Develop a new exploit detection schema?

Did the attacker deliberately turn off the server?

Add Twitter traffic to existing C&C detector?

If that FTP is used, how does it connect alerts?

Does a stolen password complete the jigsaw?

Page 3: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

Detect on the MoveThreat Discovery/Hunting as a Fast Scientific Discovery Problem

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 3

Develop a new exploit detection schema?

Did the attacker deliberately turn off the server?

Add Twitter traffic to existing C&C detector?

If that FTP is used, how does it connect alerts?

Does a stolen password complete the jigsaw?

Observe

Conceive Threat Hypothesis

Develop Analytics

Check Hypothesis

Revise Hypothesis

Confirm Hypothesis

Page 4: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

March the Marsh of Existing Systems

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 4

Observe

Conceive Threat Hypothesis

Develop Analytics

Check Hypothesis

Revise Hypothesis

Confirm Hypothesis

Design your data structureWrite data adaptersImplement algorithmsTest on toy dataDeploy on the premisesWait for feedback

NetFlow dataDNS lookup recordsFirewall logsUser authentication logsPrivileged user activitiesSystem logsProcess syscall traces

Firewall alertsIDS alertsFailed loginsUBA alertsAV alerts

Page 5: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

Escape the Marsh, Take the HighwayThreat Discovery/Hunting as a (Temporal) Graph Computation Problem

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 5

Node.js

10.187.39.243

Node.js

accept_TCP

clone/execute/load_lib

read/write/send/receive

exit/terminate

Node.js

10.187.37.112

Node.js

10.187.37.112

sh

/etc/shadow

128.5.12.87

Time

Page 6: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

One Data RepresentationComputation Graph (CG): An Abstract Computation Model in Temporal Graph

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 6

Time

Canvas

Entities

EventsNetFlow data

DNS lookup records

Firewall logs

Privileged user activities

Process syscall traces

Intermediate Results

UBA alerts

AV alerts

Firewall alerts

Element Attributes

Network-Level

Host-Level

Memory-Level

Labels

lb1

lb2

lb2

lb3

lb1

lb2

lb2

lb3CG

Page 7: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

One Operation AbstractionGraph Pattern Matching

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 7

Observe: What network activities did the Node process have?

Node.js

A pattern comprises:• An entity

• Is a process• Has “node” in its “cmdline”

• An entity• Is a network resource

• An event• Source: first entity• Destination: second entity

Node.js

A pattern comprises:• An entity

• Is a process• Has “node” in its “cmdline”

• An entity• Is a network resource

• An event• Source: second entity• Destination: first entity

Any subgraph

Any subgraph

A pattern comprises:• A subgraph

• All entities• All events

• Another subgraph (may not connect to the first subgraph)• All entities• All events

Page 8: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

One Operation AbstractionFunctional Graph Pattern Matching

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 8

Develop/Check: Multi-level spawning behavior? Malicious?

A pattern comprises:• Bare-bone 2-level spawning• One type of malicious behavior at

the end of the spawned process

Node.js

sh

sensitive data

further spawn

C&C

A pattern for general 2-hop traversal

A pattern to constrain the specific traversal

A pattern to express sensitive data access

A pattern to describe C&C behavior

= +

++

Page 9: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

Yet Another Graph Computation Platform

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 9

τ-calculusDoing cyber calculus on CG

Domain Specific Language (DSL)Interactive Shell

Functional Graph Pattern

Temporal Syntax

Traversal Support

Information-flow Syntax

Graph Immutability

Temporal Locality

Continues Graph Ingestion

Interactive Graph Visualization

Declarative Language

Graph Query

Graph Pattern Matching

LanguageRealization

Topological Locality

Type Checking

Multi-level Caching

Distributed Database

Page 10: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

Batch ExecREPLGraph VizVisual Programming

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 10

Page 11: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

Thank you!

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 11

ACKNOWLEDGMENTS

This project was sponsored by the Air Force Research Laboratory (AFRL) and the Defense Advanced Research Agency (DARPA) under the award number FA8650-15-C-7561.

The views, opinions, and/or findings contained in this article are those of the authors and should not be interpreted as representing the official views or policies of the Department of Defense or the U.S. Government.

Page 12: Functional Graph Pattern Matching for …...Functional Graph Pattern Matching for Cybersecurity and Beyond — Xiaokui Shu, Fred Araujo, Douglas Schales, Marc Stoecklin IBM Research

IBM Research / https://doi.org/10.1145/3243734.3243829 / Dec 10th, 2018 / © 2018 IBM Corporation 12