SlideShare una empresa de Scribd logo
1 de 15
Security Ops, Engineering, and Intelligence
Integration through the power of Graph(DB)!
Christopher Clark - Director, Cyber Security Intelligence
cclark@verisign.com
Talk Overview
*WARNING: This talk will use Neo4j for simplicity
• Introduction to Graph Databases
• Normalization of Inputs ((NODES) and -[RELATIONSHIPS]->)
• Deducing Maliciousness from -[RELATIONSHIPS]->
• And Then, And Then, And … (Forever Extensible!)
• Let’s Ask Questions! (of the Graph..A/K/A: Use Cases!)
• Tools of The Trade
2
Introduction to Graph Databases
3
“Graph Databases are a way of storing data in the form of nodes, edges
and relationships which provide index-free adjacency. “
• DATA = NODES
• (NODES) are Fully Featured JSON Objects, Indexable to ensure uniqueness
• These are the population of your Graph Nation
• If it is an immutable thing, if you can anthropomorphize it, it should be a
(NODE)(Computer, Email, Hash, Service Ticket, IDS Rule, Domain, Threat Actor)
• JOINS = EDGES
• Every (NODE) must connect to at least one more… as must we all, else why exist?
• Individual –EDGES-> are directional: (Chris)-->(You) or (You)-->(Chris)
• EDGES + CONTEXT = RELATIONSHIPS
• -[:RELATIONSHIPS]-> are Fully Featured JSON Objects!
• -[:RELATIONSHIPS]-> give context to the connections between (NODES)
• If it is an action or you can’t imagine holding it, it should be a -[:RELATIONSHIP]->
• (Chris) -[:TALKS]->(You) , but are (You)-[:LISTEN]->(Chris) ?
RELATIONSHIPS + NODES =
Normalization of Inputs
4
mantech.blackcake.net
{Blocked out: “true”,
Sinkholed: “true
Whitelisted: “false”}
-[:RESOLVES]->
{time:20131010}
<-[:HOSTS]-
{time:20131010}
212.215.200.204
{Blocked out: “true”,
Blocked in: “true
Whitelisted: “false”}
Security data is the perfect application of a graph database, as we must construct
a digital world which properly resembles our schemaless physical one.
–[:RELATIONSHIPS]-> are as important as (NODES) in Cyber space.
Deducing Maliciousness Through -[:RELATIONSHIPS]->
5
03557...f1
8
{"filename":"dro
pped.exe”… -[:C2]->
{port:443}
Mantech.
blac…{Bloc
ked out:
“true”,…
-[:RESOLVES]->
{time:2013101
0}
<-[:HOSTS]-
{time:20131010}
212.125…{
Blocked out:
“true”,
…
To effectively leverage the graph, let it paint the threat picture for you. One (NODE) at a time.
A domain is just a domain, only by its -[:RELATIONSHIPS]-> can it be deemed malicious
And Then, And Then… (Forever Extensible!)
6
As a Graph lacks a formal schema and closely maps to the real world,
we can extend our model nearly infinitely.
• Add in (Incidents) and (Threat Intelligence Products):
• Track (Signatures) and (Security Tools)
And Then, And Then, And Then… (Forever Extensible!)
7
• Let’s add in (Users) , (Machines) , (Organizations) , and (Offices):
• And of course we need to reach out to external resources like the iDefense (intelGraph)
Let’s ask questions?! (Of the Graph)
8
How do we talk to the graph? “Graph-centric databases emphasize navigation.”
1. Forget SQL and the need to know where everything lives (or data replication)
Graph is queried by matching patterns, and then traversing to the destination.
2. Forget MongoDB & Maltego Application layer joins
Relationships in the Graph are not a temporal construct
3. Simply tell the Graph what you want to find, not where it is
Even unknown distance recursive searches are near instantaneous.
4. Profit!
Lets identify the victims of a Phishing attack.
MATCH (a)-[:TARGET]->(b)
RETURN a.subject, b.email
Let’s ask more questions?! (Of the Graph)
9
Now we will do a variable length path recursive search (*scary!*) to see which of
our (Users) a (Threat_Group) has targeted, their titles, and (Department)
MATCH (a)-[:ATTRIBUTION]-()-[*1..4]->()-[:TARGET]->(b)-[:MEMBER_OF]->(c)
RETURN a.threat_group, b.first_name, b.title, c.department
We just traversed ALL of this! Just by asking a simple question!
Let’s ask even more questions?! (Of the Graph)
10
If you already know where you wish to start, it’s even easier. Let’s find out what our
(correlation_malicious_ips) IDS rule alerts for and when it was last updated.
MATCH (a)-[:DETECTS]->(b)
WHERE a.signature="correlation_malicious_ips"
RETURN a.date, b.ip, b.asn, b.blocked_out
BONUS: Tell me what this little modification will do?
MATCH (a)-[:DETECTS]->(b)<-[*1..5]-()-[:ATTRIBUTION]->(c)
WHERE a.signature="correlation_malicious_ips"
RETURN c.threat_group, a.date, b.ip, b.asn
Use Case: Unknown Distance Queries!
Has WebC2 targeted the CSOs office lately? LETS ASK!
1. Start with (WebC2)
2. Scan All Paths out from (WebC2) for -[:TARGET{date:2013*}]->
3. Then tell us if the recipient
is a -[:MEMBER_OF]->
(Office of CSO)
4. Return the COUNT of
attacks, date, and names
of recipients for each.
11
WebC2 has Targeted the
OCSO once in 2013
Attack Date: 10-08-2013
Targets:
Brian Hayes (VIP)
Leo Massey
Dorothy Daniels
Use Case: Targeted Countermeasures
Do we have Countermeasures in place for this Campaign? LETS ASK!
1. Start with our previous results and query.
2. Find each related
(IOC)
<-[:DETECTS]-
(Countermeasure)
3. Find undetected (IOC)
4. Return a list of each:
(IOC)
(Countermeasure)
it’s {deploy_date}
(Toolset)
12
Use Case: Targeted Countermeasures Cont.
Countermeasure Gap Analysis for WebC2 Campaign Targeting OCSO
13
Indicator Type Countermeasure Deploy Date Toolset
Phish Sender correlation_malicious_senders 10-07-2013 Nitro SIEM
Phish Subject
Attachment File cf_rtf_cve_2012_0158_var1_objocx 10-07-2013 FireEye
Attachment Hash
Exploit cf_rtf_cve_2012_0158_var1_objocx 10-07-2013 FireEye
Dropped Hash mirscan_malicious_files 10-08-2013 MIR
Dropped File win_troj_apt_greencat_c2 10-08-2013 SourceFire
C2 IP correlation_malicious_ips 10-07-2013 Nitro SIEM
C2 Domain correlation_malicious_domains 10-07-2013 Nitro SIEM
C2 SubDomain APT DNS Sinkhole (Ticket SNK111) 10-08-2013 Sinkhole
C2 SubDomain correlation_malicious_domains 10-08-2013 Nitro SIEM
Resources
• http://www.slideshare.net/jexp/intro-to-graphs-and-neo4j
• http://www.neo4j.org/learn/cypher
• http://docs.neo4j.org/refcard/2.0/
• http://docs.neo4j.org/chunked/milestone/cypher-query-lang.html
• http://thinkaurelius.github.io/titan/
• http://www.tinkerpop.com/
• http://www.odbms.org/blog/2013/04/graphs-vs-sql-interview-with-michael-blaha/
• Security Graph DB Test Code (Neo4j / Py2Neo):
http://github.com/Xen0ph0n/Security_Graph_Demo
14
© 2014 VeriSign, Inc. All rights reserved. VERISIGN and other trademarks, service marks, and designs are registered or unregistered trademarks of
VeriSign, Inc. and its subsidiaries in the United States and in foreign countries. All other trademarks are property of their respective owners.

Más contenido relacionado

Destacado

BSides Manchester
BSides ManchesterBSides Manchester
BSides Manchester
Jane Frankland
 

Destacado (14)

Career Counselling Program on Cyber Security @ K.R.Mangalam University Conduc...
Career Counselling Program on Cyber Security @ K.R.Mangalam University Conduc...Career Counselling Program on Cyber Security @ K.R.Mangalam University Conduc...
Career Counselling Program on Cyber Security @ K.R.Mangalam University Conduc...
 
Speak Up! Salary Negotiation for Women in Tech
Speak Up! Salary Negotiation for Women in TechSpeak Up! Salary Negotiation for Women in Tech
Speak Up! Salary Negotiation for Women in Tech
 
Using Data to Help First Job Salary Negotiations
Using Data to Help First Job Salary NegotiationsUsing Data to Help First Job Salary Negotiations
Using Data to Help First Job Salary Negotiations
 
2014 - KSU - So You Want to Be in Cyber Security?
2014 - KSU - So You Want to Be in Cyber Security?2014 - KSU - So You Want to Be in Cyber Security?
2014 - KSU - So You Want to Be in Cyber Security?
 
WE16 - Go for the Hot Career Field - Cybersecurity
WE16 - Go for the Hot Career Field - CybersecurityWE16 - Go for the Hot Career Field - Cybersecurity
WE16 - Go for the Hot Career Field - Cybersecurity
 
Cyber Security Career Advice
Cyber Security Career AdviceCyber Security Career Advice
Cyber Security Career Advice
 
Navigating Your Career in Cyber Security - Steve Santini & Drew Fearson
Navigating Your Career in Cyber Security - Steve Santini & Drew FearsonNavigating Your Career in Cyber Security - Steve Santini & Drew Fearson
Navigating Your Career in Cyber Security - Steve Santini & Drew Fearson
 
BSides Manchester
BSides ManchesterBSides Manchester
BSides Manchester
 
WE16 - How to Lead a Double Life
WE16 - How to Lead a Double LifeWE16 - How to Lead a Double Life
WE16 - How to Lead a Double Life
 
WE16 - The State of Women in Engineering
WE16 - The State of Women in EngineeringWE16 - The State of Women in Engineering
WE16 - The State of Women in Engineering
 
Fti trends 2017_final.compressed5
Fti trends 2017_final.compressed5Fti trends 2017_final.compressed5
Fti trends 2017_final.compressed5
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph Databases
 
Best cyber security certifications 2017
Best cyber security certifications 2017Best cyber security certifications 2017
Best cyber security certifications 2017
 
Gartner TOP 10 Strategic Technology Trends 2017
Gartner TOP 10 Strategic Technology Trends 2017Gartner TOP 10 Strategic Technology Trends 2017
Gartner TOP 10 Strategic Technology Trends 2017
 

Similar a Security Operations, Engineering, and Intelligence Integration through the power of Graph(DB)!

Boston Spark Meetup event Slides Update
Boston Spark Meetup event Slides UpdateBoston Spark Meetup event Slides Update
Boston Spark Meetup event Slides Update
vithakur
 
CIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignCIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis Design
Antonio Castellon
 

Similar a Security Operations, Engineering, and Intelligence Integration through the power of Graph(DB)! (20)

Jump Start into Apache® Spark™ and Databricks
Jump Start into Apache® Spark™ and DatabricksJump Start into Apache® Spark™ and Databricks
Jump Start into Apache® Spark™ and Databricks
 
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
 
Scalding big ADta
Scalding big ADtaScalding big ADta
Scalding big ADta
 
Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
 
High-Performance Graph Analysis and Modeling
High-Performance Graph Analysis and ModelingHigh-Performance Graph Analysis and Modeling
High-Performance Graph Analysis and Modeling
 
Family tree of data – provenance and neo4j
Family tree of data – provenance and neo4jFamily tree of data – provenance and neo4j
Family tree of data – provenance and neo4j
 
Graphs for AI & ML, Jim Webber, Neo4j
Graphs for AI & ML, Jim Webber, Neo4jGraphs for AI & ML, Jim Webber, Neo4j
Graphs for AI & ML, Jim Webber, Neo4j
 
Boston Spark Meetup event Slides Update
Boston Spark Meetup event Slides UpdateBoston Spark Meetup event Slides Update
Boston Spark Meetup event Slides Update
 
Data Privacy with Apache Spark: Defensive and Offensive Approaches
Data Privacy with Apache Spark: Defensive and Offensive ApproachesData Privacy with Apache Spark: Defensive and Offensive Approaches
Data Privacy with Apache Spark: Defensive and Offensive Approaches
 
End-to-end Big Data Projects with Python - StampedeCon Big Data Conference 2017
End-to-end Big Data Projects with Python - StampedeCon Big Data Conference 2017End-to-end Big Data Projects with Python - StampedeCon Big Data Conference 2017
End-to-end Big Data Projects with Python - StampedeCon Big Data Conference 2017
 
STIX Patterning: Viva la revolución!
STIX Patterning: Viva la revolución!STIX Patterning: Viva la revolución!
STIX Patterning: Viva la revolución!
 
CIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignCIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis Design
 
SecurityPI - Hardening your IoT endpoints in Home.
SecurityPI - Hardening your IoT endpoints in Home. SecurityPI - Hardening your IoT endpoints in Home.
SecurityPI - Hardening your IoT endpoints in Home.
 
Multiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier DominguezMultiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier Dominguez
 
Druid Adoption Tips and Tricks
Druid Adoption Tips and TricksDruid Adoption Tips and Tricks
Druid Adoption Tips and Tricks
 
EnrichmentWeek Binus Computer Vision
EnrichmentWeek Binus Computer VisionEnrichmentWeek Binus Computer Vision
EnrichmentWeek Binus Computer Vision
 
Introduction to threat_modeling
Introduction to threat_modelingIntroduction to threat_modeling
Introduction to threat_modeling
 
Supercharged graph visualization for cyber security
Supercharged graph visualization for cyber securitySupercharged graph visualization for cyber security
Supercharged graph visualization for cyber security
 
Bids talk 9.18
Bids talk 9.18Bids talk 9.18
Bids talk 9.18
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Security Operations, Engineering, and Intelligence Integration through the power of Graph(DB)!

  • 1. Security Ops, Engineering, and Intelligence Integration through the power of Graph(DB)! Christopher Clark - Director, Cyber Security Intelligence cclark@verisign.com
  • 2. Talk Overview *WARNING: This talk will use Neo4j for simplicity • Introduction to Graph Databases • Normalization of Inputs ((NODES) and -[RELATIONSHIPS]->) • Deducing Maliciousness from -[RELATIONSHIPS]-> • And Then, And Then, And … (Forever Extensible!) • Let’s Ask Questions! (of the Graph..A/K/A: Use Cases!) • Tools of The Trade 2
  • 3. Introduction to Graph Databases 3 “Graph Databases are a way of storing data in the form of nodes, edges and relationships which provide index-free adjacency. “ • DATA = NODES • (NODES) are Fully Featured JSON Objects, Indexable to ensure uniqueness • These are the population of your Graph Nation • If it is an immutable thing, if you can anthropomorphize it, it should be a (NODE)(Computer, Email, Hash, Service Ticket, IDS Rule, Domain, Threat Actor) • JOINS = EDGES • Every (NODE) must connect to at least one more… as must we all, else why exist? • Individual –EDGES-> are directional: (Chris)-->(You) or (You)-->(Chris) • EDGES + CONTEXT = RELATIONSHIPS • -[:RELATIONSHIPS]-> are Fully Featured JSON Objects! • -[:RELATIONSHIPS]-> give context to the connections between (NODES) • If it is an action or you can’t imagine holding it, it should be a -[:RELATIONSHIP]-> • (Chris) -[:TALKS]->(You) , but are (You)-[:LISTEN]->(Chris) ? RELATIONSHIPS + NODES =
  • 4. Normalization of Inputs 4 mantech.blackcake.net {Blocked out: “true”, Sinkholed: “true Whitelisted: “false”} -[:RESOLVES]-> {time:20131010} <-[:HOSTS]- {time:20131010} 212.215.200.204 {Blocked out: “true”, Blocked in: “true Whitelisted: “false”} Security data is the perfect application of a graph database, as we must construct a digital world which properly resembles our schemaless physical one. –[:RELATIONSHIPS]-> are as important as (NODES) in Cyber space.
  • 5. Deducing Maliciousness Through -[:RELATIONSHIPS]-> 5 03557...f1 8 {"filename":"dro pped.exe”… -[:C2]-> {port:443} Mantech. blac…{Bloc ked out: “true”,… -[:RESOLVES]-> {time:2013101 0} <-[:HOSTS]- {time:20131010} 212.125…{ Blocked out: “true”, … To effectively leverage the graph, let it paint the threat picture for you. One (NODE) at a time. A domain is just a domain, only by its -[:RELATIONSHIPS]-> can it be deemed malicious
  • 6. And Then, And Then… (Forever Extensible!) 6 As a Graph lacks a formal schema and closely maps to the real world, we can extend our model nearly infinitely. • Add in (Incidents) and (Threat Intelligence Products): • Track (Signatures) and (Security Tools)
  • 7. And Then, And Then, And Then… (Forever Extensible!) 7 • Let’s add in (Users) , (Machines) , (Organizations) , and (Offices): • And of course we need to reach out to external resources like the iDefense (intelGraph)
  • 8. Let’s ask questions?! (Of the Graph) 8 How do we talk to the graph? “Graph-centric databases emphasize navigation.” 1. Forget SQL and the need to know where everything lives (or data replication) Graph is queried by matching patterns, and then traversing to the destination. 2. Forget MongoDB & Maltego Application layer joins Relationships in the Graph are not a temporal construct 3. Simply tell the Graph what you want to find, not where it is Even unknown distance recursive searches are near instantaneous. 4. Profit! Lets identify the victims of a Phishing attack. MATCH (a)-[:TARGET]->(b) RETURN a.subject, b.email
  • 9. Let’s ask more questions?! (Of the Graph) 9 Now we will do a variable length path recursive search (*scary!*) to see which of our (Users) a (Threat_Group) has targeted, their titles, and (Department) MATCH (a)-[:ATTRIBUTION]-()-[*1..4]->()-[:TARGET]->(b)-[:MEMBER_OF]->(c) RETURN a.threat_group, b.first_name, b.title, c.department We just traversed ALL of this! Just by asking a simple question!
  • 10. Let’s ask even more questions?! (Of the Graph) 10 If you already know where you wish to start, it’s even easier. Let’s find out what our (correlation_malicious_ips) IDS rule alerts for and when it was last updated. MATCH (a)-[:DETECTS]->(b) WHERE a.signature="correlation_malicious_ips" RETURN a.date, b.ip, b.asn, b.blocked_out BONUS: Tell me what this little modification will do? MATCH (a)-[:DETECTS]->(b)<-[*1..5]-()-[:ATTRIBUTION]->(c) WHERE a.signature="correlation_malicious_ips" RETURN c.threat_group, a.date, b.ip, b.asn
  • 11. Use Case: Unknown Distance Queries! Has WebC2 targeted the CSOs office lately? LETS ASK! 1. Start with (WebC2) 2. Scan All Paths out from (WebC2) for -[:TARGET{date:2013*}]-> 3. Then tell us if the recipient is a -[:MEMBER_OF]-> (Office of CSO) 4. Return the COUNT of attacks, date, and names of recipients for each. 11 WebC2 has Targeted the OCSO once in 2013 Attack Date: 10-08-2013 Targets: Brian Hayes (VIP) Leo Massey Dorothy Daniels
  • 12. Use Case: Targeted Countermeasures Do we have Countermeasures in place for this Campaign? LETS ASK! 1. Start with our previous results and query. 2. Find each related (IOC) <-[:DETECTS]- (Countermeasure) 3. Find undetected (IOC) 4. Return a list of each: (IOC) (Countermeasure) it’s {deploy_date} (Toolset) 12
  • 13. Use Case: Targeted Countermeasures Cont. Countermeasure Gap Analysis for WebC2 Campaign Targeting OCSO 13 Indicator Type Countermeasure Deploy Date Toolset Phish Sender correlation_malicious_senders 10-07-2013 Nitro SIEM Phish Subject Attachment File cf_rtf_cve_2012_0158_var1_objocx 10-07-2013 FireEye Attachment Hash Exploit cf_rtf_cve_2012_0158_var1_objocx 10-07-2013 FireEye Dropped Hash mirscan_malicious_files 10-08-2013 MIR Dropped File win_troj_apt_greencat_c2 10-08-2013 SourceFire C2 IP correlation_malicious_ips 10-07-2013 Nitro SIEM C2 Domain correlation_malicious_domains 10-07-2013 Nitro SIEM C2 SubDomain APT DNS Sinkhole (Ticket SNK111) 10-08-2013 Sinkhole C2 SubDomain correlation_malicious_domains 10-08-2013 Nitro SIEM
  • 14. Resources • http://www.slideshare.net/jexp/intro-to-graphs-and-neo4j • http://www.neo4j.org/learn/cypher • http://docs.neo4j.org/refcard/2.0/ • http://docs.neo4j.org/chunked/milestone/cypher-query-lang.html • http://thinkaurelius.github.io/titan/ • http://www.tinkerpop.com/ • http://www.odbms.org/blog/2013/04/graphs-vs-sql-interview-with-michael-blaha/ • Security Graph DB Test Code (Neo4j / Py2Neo): http://github.com/Xen0ph0n/Security_Graph_Demo 14
  • 15. © 2014 VeriSign, Inc. All rights reserved. VERISIGN and other trademarks, service marks, and designs are registered or unregistered trademarks of VeriSign, Inc. and its subsidiaries in the United States and in foreign countries. All other trademarks are property of their respective owners.