SlideShare a Scribd company logo
Building a management system for cyber threat
intelligence knowledge using
OpenCTI
Paris Meetup, 27th August 2019
SPEAKERS
Head of CyberThreat Intelligence @ ANSSI VP of Engineering @YOOI
yooi.comssi.gouv.fr
Co-founders of Luatix
@SamuelHassine Samuel Hassine @richardjulien Julien Richard
openex.io
luatix.org
opencti.io
THE STORY
WHY OPENCTI
WHY WE/YOU NEED A SOFTWARE LIKE THIS
HOW TO START THE PROJECT
YOU CANNOT DEVELOP ALONE
HOW GRAKN EMPOWERS OPENCTI
READY TO USE GRAKN FOR YOUR PROJECT?
WHAT’S NEXT FOR OPENCTI
HEY SAM, YOUR MODEL LOOKS LIKE A GRAPH DOESN’T IT?
DECISION CRITERIA, LEARN AND DISCOVER THE POWER
EVERYTHING HAS A PRICE. PERFECTION DOES NOT EXIST
LOOKING FOR A STANDARD AND FIRST IMPLEMENTATION
ITS JUST THE BEGINNING, WE WANT TO DO MORE
WHY OPENCTI
Intelligence for partner CTI teams
Indicators and signatures for SOC teams
Tactics, techniques and procedures for DFIR teams
Behaviors to help prioritizing EDR and IDS development roadmaps
Red team scenarios for hackers and pentesters teams
Provide knowledge about threat actors of interest
Daily work of a CTI analyst
Investigate adversary behaviors, arsenals and infrastructures
Pivoting on technical elements
Correlating behaviors and finding patterns
< KNOWLEDGE REQUIRES KNOWLEDGE MANAGEMENT >
WHY OPENCTI
TTPs
Tools
Host/network artefacts
Domain names
IP addresses
Hash values Trivial
Easy
Simple
Annoying
Challenging
Tough!
The adversaries “pyramid of pain”
< FOCUS ON TOP! >
WHY OPENCTI
Knowledge issues to solve
From a strategic level...
Victimology of an intrusion set or a threat actor over time.
Tactics and procedures of a campaign targeting a specific sector.
Reusing of legitimate tools in malicious codes families.
Campaigns targeting an organization or sector over time.
to an operational one.
Observables linked to a specific threat and evolution over time.
Clusters of malicious artefacts and enrichment (hosters, registrars, etc.).
< NEEDED ANSWERS >
WHY OPENCTI
Today in the CTI world, long live unstructured data!
CTI analyst
Partners
Vendors
OSINT
SIGINT
We have intel!
Enrich
Investigate
IntelligenceWe have intel!
< CTI ANALYSTS ARE NOT LIBRARIANS >
WHY OPENCTI
A complex role in a complex workflow
Cyber threat
intelligence is
not doomed to
be only the
main data
source of the
security
detection chain
and associated
to guys who
produce
reports that
may be read.
HOW TO START THE PROJECT
Functional needs
Structured and organized storage of information related to cyber threats
Unified data space between all levels of information from operational to strategic
Traceability of the source of all capitalized information
Viewing, sharing, correlation features
According to this context, we need:
HOW TO START THE PROJECT
From unstructured to structured!
STIX2 is the most accurate data model that currently exists
to store cyber threat intelligence knowledge.
Storage of TTPs can be done with any framework
(ATT&CK, KillChain, NSA, custom, etc.). A connector
fully integrates Enterprise ATT&CK and Pre-ATT&CK.
Think the data model
https://oasis-open.github.io/cti-documentation/stix/intro
https://attack.mitre.org
< STIX2 RULES >
HOW TO START THE PROJECT
STIX2 in a nutshell
{
"id": "intrusion-set--bef4c620-0787-42a8-a96d-
b7eb6e85917c",
"type": "intrusion-set",
"name": "APT28",
"aliases": [
"APT28",
"Sednit",
"Sofacy",
"Fancy Bear",
],
"description": "APT28 is a threat group that has been
attributed to Russia's Main Intelligence Directorate of the
Russian General Staff by a July 2018 U.S. Department of
Justice indictment.",
"created_by_ref": "identity--c78cb6e5-0c4b-4611-8297-
d1b8b55e40b5",
"modified": "2019-07-27T00:09:33.254Z",
"created": "2017-05-31T21:31:48.664Z",
"object_marking_refs": [
"marking-definition--fa42a846-8d90-4e51-bc29-
71d5b4802168"
]
}
STIX2 is composed of entities,
embedded relationships and
relationships.
Embedded relations
Entity Intrusion Set
uses
Embedded relation
HOW TO START THE PROJECT
STIX2 in a nutshell
{
"id": "malware--af2ad3b7-ab6a-4807-91fd-51bcaff9acbb",
"type": "malware",
"name": "USBStealer",
"description": "USBStealer is malware that has used by APT28 since at
least 2005 to extract information from air-gapped networks.",
"created_by_ref": "identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5",
"modified": "2018-10-17T00:14:20.652Z",
"created": "2017-05-31T21:33:17.716Z",
"object_marking_refs": [
"marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168"
]
}
{
"id": "relationship--d26b3aeb-972f-471e-ab59-dc1ee2aa532e",
"type": "relationship",
"relationship_type": "uses",
"description": "APT28 uses USBStealer.",
"source_ref": "intrusion-set--bef4c620-0787-42a8-a96d-b7eb6e85917c",
"target_ref": "malware--af2ad3b7-ab6a-4807-91fd-51bcaff9acbb"
"created_by_ref": "identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5",
"modified": "2019-07-27T00:09:36.949Z",
"created": "2017-05-31T21:33:27.041Z",
"object_marking_refs": [
"marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168"
]
}
Entity Malware
Relationship
Embedded relations
Embedded relation
Embedded relation
Embedded relations
HOW TO START THE PROJECT
Let’s start something with
Why
Community works on importing ATT&CK STIX2 data to MongoDB
Support for embedded documents in a document (created_by_ref, object_marking_refs, etc…)
Simple JSON documents importation
Interesting query language and full text search feature
Proof of concept
How
REST API architecture, backend in PHP / Symfony and frontend in ReactJS
Home made Symfony library to handle STIX2 objects and relationships in MongoDB
Relationships are documents with an embedded link to source and target documents
< CODING…. >
https://www.mongodb.com
HOW TO START THE PROJECT
Proof of concept
Create a new identity with
the corresponding document
class.
Use Symfony form to create
entities and store them.
< CALL JULIEN >
Does this approach suit you?
HOW TO START THE PROJECT
Proof of concept
Seems really cool, but are you sure about
, and real timewe try a contract-based API backend, using
https://graphql.org https://relay.dev
Relay
https://redis.io
and
collaboration powered by the addition of ?
By the way, what do you think if
the model and usage of the database ?
NO ONE SUCCEEDS ALONE
STIX2 looks like a graph model
Search “Graph database” in your favorite search engine:
sounds like the #1 choice
< LET’S GIVE IT A TRY >
First try
https://freetaxii.github.io/stix2-object-relationships.html
https://neo4j.com
NO ONE SUCCEEDS ALONE
REPORT
Do it on top of or ? I’m too old for this …
< SO WHAT? FORGET SOMETHING >
Looks like a good idea until “the report use case”
uses
Object_refs
https://janusgraph.org
{
"id": "report--bef4c621-0787-42a8-a96d-b7eb6e85917c",
"type": "report",
"name": "APT28 is using USBStealer since 2012!",
"description": "APT28 is using USBStealer in a new
campaign.",
"created_by_ref": "identity--c78cb6e5-0c4b-4611-8297-
d1b8b55e40b5",
"published": "2019-07-27T00:09:33.254Z",
"created": "2017-05-31T21:31:48.664Z",
"object_refs": [
"intrusion-set--bef4c620-0787-42a8-a96d-b7eb6e85917c",
"malware--af2ad3b7-ab6a-4807-91fd-51bcaff9acbb",
"relationship--d26b3aeb-972f-471e-ab59-dc1ee2aa532e"
]
}
The report is about APT28 and USBStaler, but it is mostly about the relationship between the 2 entities!
We need a solution for this kind of nested relations…
NO ONE SUCCEEDS ALONE
This is not graph … this is hypergraph
AtomSpace
https://github.com/opencog/atomspace
http://hypergraphdb.org
https://www.datachemist.com
https://grakn.ai
< LET’S GIVE GRAKN.AI A TRY… AGAIN >
https://en.wikipedia.org/wiki/Hypergraph
NO ONE SUCCEEDS ALONE
Hey Samuel! Let’s go with Grakn!
< A RISK WE SHOULD TAKE >
DUDE… REALLY?
Open source / Github First release in 2016
Active community Good documentation
Confidential but with the feeling that Grakn will solve our future requirements.
Grakn overview
Database
Indexing
Main storage
Storage for speed-up
lists and search
Frontend
Workers
Subscriptions
Messaging system
Push data
Connectors
Background jobs such
as importing, exporting, etc.
Consume messages
API
Outside world
OPENCTI ARCHITECTURE
Applications and databases
{
"reports":{
"edges":[
{
"node":{
"name":"2019-01-21: APT28 Autoit Zebrocy Progression",
"published":"2019-01-21T00:00:00Z",
"createdByRef":{
"node":{
"name":"VK-Intel",
...
}
}
}
}, ...
ElaticSearch.get(index:"stix_domain_entities", identifier)
match $r isa Report;
$rel(creator:$x, so:$r) isa created_by_ref; $x has name $o;
get $r, $rel, $o; sort $o asc;
offset 0; limit 25;
OPENCTI ARCHITECTURE
query ReportsLinesPaginationQuery
($objectId: String ... $orderBy: ReportsOrdering) {
reports(objectId: $objectId, ... orderBy: $orderBy) {
edges {
node {
id
name
object_status
published
createdByRef {
node {
name
id
}
}
markingDefinitions {
edges {
node {
id
definition
}
}
}
}
}
}
}
GraphQL Query Graql Query
ES query ES query ES query
GraphQL response
“Just” the ordered list of reports by Author
OPENCTI ARCHITECTURE
Database
Indexing
Workers
Messaging systemMISP
Workers Workers
GrahQL API
MISP data event integration
HOW GRAKN EMPOWERS OPENCTI
By enforcing the data model in Grakn, we found out many useful features which
actually saved us time and new dependencies.
What we loved:
Knowledge schema
Entities, abstract entities and sub entities
Nested relations
Logical inference of relations
Reasoning rules language
Inferred relations computed at runtime
< GRAKN ENABLES NEW OPENCTI FEATURES >
Stix-Domain sub entity,
abstract,
has internal_id,
has stix_id,
has stix_label,
has created,
has modified,
has revoked,
plays so;
Stix-Domain-Entity sub Stix-Domain,
abstract,
has name,
has description,
has alias;
Intrusion-Set sub Stix-Domain-Entity,
has first_seen,
has last_seen,
has goal,
has sophistication,
has resource_level,
has primary_motivation,
has secondary_motivation,
plays attribution,
plays source,
plays user,
plays origin;
HOW GRAKN EMPOWERS OPENCTI
Data model
France
APT28
localized-in
From a functional point
of view, this is not
satisfactory.
Considering the whole
knowledge graph, that’s not
correct.
HOW GRAKN EMPOWERS OPENCTI
Nested relations
Industry
Energy
Germany
APT28
Energy (Germany)
Energy (France)
Industry (France)
France
Germany
targets
This makes sense!
targets
targets
Localized-in
Localized-in
Localized-in
HOW GRAKN EMPOWERS OPENCTI
Nested relations
FranceAPT28
Industry
Energy
Germany
targets
APT28 has 3 target relations :
Energy in Germany
Energy in France
Industry in France
APT28
GRU
XTunnel
attributed-to uses
## USES RULES
AttributionUsesRule sub rule,
when {
(origin: $origin, attribution: $entity) isa attributed-to;
(user: $entity, usage: $object) isa uses;
}, then {
(user: $origin, usage: $object) isa uses;
};
usesinferred relation
inferredrelation
HOW GRAKN EMPOWERS OPENCTI
Logical inference of relations
Customizable inference rules directly in the UI in the roadmap!
This is a very important feature since you can have complex use cases with multiple levels of
inferences, and use reasoning rules to make your data more meaningful.
targets
Localized-in
Localized-in
Localized-in
HOW GRAKN EMPOWERS OPENCTI
Nested relations with inferences
FranceAPT28
Industry
Energy
Germany
targets
APT28 has 2 target inferred relations :
targets Germany because targets Energy in Germany
targets France because targets Energy or Industry in France
targets
targets
targets
LocalizationOfTargetsRule sub rule,
when {
$rel(source: $entity, target: $target) isa targets;
(location: $location, localized: $rel) isa localization;
}, then {
(source: $entity, target: $location) isa targets;
};
Ready for a ride?
https://demo.opencti.io
DEMONSTRATION
HOW GRAKN EMPOWERS OPENCTI
Query language
match $intrusionSet isa Intrusion-Set;
{$intrusionSet has name "APT28";} or {$intrusionSet has name "Turla";} or {$intrusionSet has name "FIN6";};
$attackPattern isa Attack-Pattern;
$relations($intrusionSet, $attackPattern) isa uses;
get;
GRAKN READY FOR PRODUCTION?
Is Grakn ready for production complex use cases? YES!
But today…
ElasticSearch
We need data indexation for ordering and filtering.
The only way we found for now is to use
Automatic data migration between major releases in case of data structure upgrade is a must have. We did it one
time and we definitively need a built-in solution.
No database migration
No full indexing
https://www.elastic.co
GRAKN READY FOR PRODUCTION?
Grakn provides all the basic interfaces you need to make it work but it will be very helpful to have more API
around update / delete, query builder and various languages and simpler drivers.
Lack of syntactic sugar
Is Grakn ready for production complex use cases? YES!
But today…
Inference is really interesting for OpenCTI, so we already use it as much as possible. We need a simpler/better
answer structure for the inference explanation.
You should not have this kind of problem up until some advanced usage.
Difficult inference explanation
WHAT’S NEXT FOR OPENCTI
Powerful importation and exportation system
and storage system
Allow users to interact with
nested relations
Medium term
Automatic data completion and
enrichment
Advanced analytics and visualization
Implement multiple levels of knowledge in
the same context
Use Grakn capabilities to add
further correlation features
Implement an investigation graph in the UI using
Grakn capabilities
WHAT’S NEXT FOR OPENCTI
Long term
WHAT’S NEXT FOR OPENCTI
Graph theory and ML
For investigation purposes
compute path from V229424, to V446496;
Compute the shortest path
compute centrality in [Intrusion-Set, Attack-Pattern, Sector], using degree;
Find the most interesting instances
compute cluster in [Intrusion-Set, Attack-Pattern, Sector], using connected-component;
For knowledge purposes
Identify clusters
Extract named entities and relationships in context using NLP and ML
https://www.microsoft.com/security/blog/2019/08/08/from-unstructured-data-to-actionable-
intelligence-using-machine-learning-for-threat-intelligence/
Powered by
Powered by
Powered by
Questions?
Thank you for your attention
github.com/OpenCTI-Platform
681 83 10
Released 2 months ago (2019-06-28)
samuel.hassine@luatix.org julien.richard@luatix.org
Join us on Slack
https://slack.luatix.org

More Related Content

What's hot

How to Hunt for Lateral Movement on Your Network
How to Hunt for Lateral Movement on Your NetworkHow to Hunt for Lateral Movement on Your Network
How to Hunt for Lateral Movement on Your Network
Sqrrl
 
Cyber Threat Intelligence: Building and maturing an intelligence program that...
Cyber Threat Intelligence: Building and maturing an intelligence program that...Cyber Threat Intelligence: Building and maturing an intelligence program that...
Cyber Threat Intelligence: Building and maturing an intelligence program that...
Mark Arena
 
Cyber Threat Intelligence
Cyber Threat IntelligenceCyber Threat Intelligence
Cyber Threat Intelligence
mohamed nasri
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with Splunk
Splunk
 
Global Cyber Threat Intelligence
Global Cyber Threat IntelligenceGlobal Cyber Threat Intelligence
Global Cyber Threat Intelligence
NTT Innovation Institute Inc.
 
Threat Hunting
Threat HuntingThreat Hunting
Threat Hunting
Splunk
 
Cyber threat intelligence ppt
Cyber threat intelligence pptCyber threat intelligence ppt
Cyber threat intelligence ppt
Kumar Gaurav
 
What is Threat Hunting? - Panda Security
What is Threat Hunting? - Panda SecurityWhat is Threat Hunting? - Panda Security
What is Threat Hunting? - Panda Security
Panda Security
 
Advanced persistent threats(APT)
Advanced persistent threats(APT)Advanced persistent threats(APT)
Advanced persistent threats(APT)
Network Intelligence India
 
ATT&CKing with Threat Intelligence
ATT&CKing with Threat IntelligenceATT&CKing with Threat Intelligence
ATT&CKing with Threat Intelligence
Christopher Korban
 
Cyber threat Intelligence and Incident Response by:-Sandeep Singh
Cyber threat Intelligence and Incident Response by:-Sandeep SinghCyber threat Intelligence and Incident Response by:-Sandeep Singh
Cyber threat Intelligence and Incident Response by:-Sandeep Singh
OWASP Delhi
 
Malware analysis _ Threat Intelligence Morocco
Malware analysis _ Threat Intelligence MoroccoMalware analysis _ Threat Intelligence Morocco
Malware analysis _ Threat Intelligence Morocco
Touhami Kasbaoui
 
Cyber Threat Intelligence
Cyber Threat IntelligenceCyber Threat Intelligence
Cyber Threat Intelligence
Prachi Mishra
 
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
MITRE - ATT&CKcon
 
Threat Intelligence Workshop
Threat Intelligence WorkshopThreat Intelligence Workshop
Threat Intelligence Workshop
Priyanka Aash
 
Threat Hunting with Cyber Kill Chain
Threat Hunting with Cyber Kill ChainThreat Hunting with Cyber Kill Chain
Threat Hunting with Cyber Kill Chain
Suwitcha Musijaral CISSP,CISA,GWAPT,SNORTCP
 
Threat hunting 101 by Sandeep Singh
Threat hunting 101 by Sandeep SinghThreat hunting 101 by Sandeep Singh
Threat hunting 101 by Sandeep Singh
OWASP Delhi
 
Hunting Lateral Movement in Windows Infrastructure
Hunting Lateral Movement in Windows InfrastructureHunting Lateral Movement in Windows Infrastructure
Hunting Lateral Movement in Windows Infrastructure
Sergey Soldatov
 
Threat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement MatriceThreat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement Matrice
Vishal Kumar
 
Threat Modeling Using STRIDE
Threat Modeling Using STRIDEThreat Modeling Using STRIDE
Threat Modeling Using STRIDE
Girindro Pringgo Digdo
 

What's hot (20)

How to Hunt for Lateral Movement on Your Network
How to Hunt for Lateral Movement on Your NetworkHow to Hunt for Lateral Movement on Your Network
How to Hunt for Lateral Movement on Your Network
 
Cyber Threat Intelligence: Building and maturing an intelligence program that...
Cyber Threat Intelligence: Building and maturing an intelligence program that...Cyber Threat Intelligence: Building and maturing an intelligence program that...
Cyber Threat Intelligence: Building and maturing an intelligence program that...
 
Cyber Threat Intelligence
Cyber Threat IntelligenceCyber Threat Intelligence
Cyber Threat Intelligence
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with Splunk
 
Global Cyber Threat Intelligence
Global Cyber Threat IntelligenceGlobal Cyber Threat Intelligence
Global Cyber Threat Intelligence
 
Threat Hunting
Threat HuntingThreat Hunting
Threat Hunting
 
Cyber threat intelligence ppt
Cyber threat intelligence pptCyber threat intelligence ppt
Cyber threat intelligence ppt
 
What is Threat Hunting? - Panda Security
What is Threat Hunting? - Panda SecurityWhat is Threat Hunting? - Panda Security
What is Threat Hunting? - Panda Security
 
Advanced persistent threats(APT)
Advanced persistent threats(APT)Advanced persistent threats(APT)
Advanced persistent threats(APT)
 
ATT&CKing with Threat Intelligence
ATT&CKing with Threat IntelligenceATT&CKing with Threat Intelligence
ATT&CKing with Threat Intelligence
 
Cyber threat Intelligence and Incident Response by:-Sandeep Singh
Cyber threat Intelligence and Incident Response by:-Sandeep SinghCyber threat Intelligence and Incident Response by:-Sandeep Singh
Cyber threat Intelligence and Incident Response by:-Sandeep Singh
 
Malware analysis _ Threat Intelligence Morocco
Malware analysis _ Threat Intelligence MoroccoMalware analysis _ Threat Intelligence Morocco
Malware analysis _ Threat Intelligence Morocco
 
Cyber Threat Intelligence
Cyber Threat IntelligenceCyber Threat Intelligence
Cyber Threat Intelligence
 
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
 
Threat Intelligence Workshop
Threat Intelligence WorkshopThreat Intelligence Workshop
Threat Intelligence Workshop
 
Threat Hunting with Cyber Kill Chain
Threat Hunting with Cyber Kill ChainThreat Hunting with Cyber Kill Chain
Threat Hunting with Cyber Kill Chain
 
Threat hunting 101 by Sandeep Singh
Threat hunting 101 by Sandeep SinghThreat hunting 101 by Sandeep Singh
Threat hunting 101 by Sandeep Singh
 
Hunting Lateral Movement in Windows Infrastructure
Hunting Lateral Movement in Windows InfrastructureHunting Lateral Movement in Windows Infrastructure
Hunting Lateral Movement in Windows Infrastructure
 
Threat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement MatriceThreat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement Matrice
 
Threat Modeling Using STRIDE
Threat Modeling Using STRIDEThreat Modeling Using STRIDE
Threat Modeling Using STRIDE
 

Similar to Building a Cyber Threat Intelligence Knowledge Management System (Paris August 2019)

Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Delft University of Technology
 
Data science tools of the trade
Data science tools of the tradeData science tools of the trade
Data science tools of the trade
Fangda Wang
 
Documenting serverless architectures could we do it better - o'reily sa con...
Documenting serverless architectures  could we do it better  - o'reily sa con...Documenting serverless architectures  could we do it better  - o'reily sa con...
Documenting serverless architectures could we do it better - o'reily sa con...
Asher Sterkin
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
bdemchak
 
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
ijtsrd
 
Internet of Things (IoT) - in the cloud or rather on-premises?
Internet of Things (IoT) - in the cloud or rather on-premises?Internet of Things (IoT) - in the cloud or rather on-premises?
Internet of Things (IoT) - in the cloud or rather on-premises?
Guido Schmutz
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
Trivadis
 
Samsung SDS OpeniT - The possibility of Python
Samsung SDS OpeniT - The possibility of PythonSamsung SDS OpeniT - The possibility of Python
Samsung SDS OpeniT - The possibility of Python
Insuk (Chris) Cho
 
Internet of Things (IoT) and Big Data
Internet of Things (IoT) and Big DataInternet of Things (IoT) and Big Data
Internet of Things (IoT) and Big Data
Guido Schmutz
 
Using Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in TorontoUsing Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in Toronto
Daniel Zivkovic
 
React Native e IoT - Un progetto complesso
React Native e IoT - Un progetto complessoReact Native e IoT - Un progetto complesso
React Native e IoT - Un progetto complesso
Commit University
 
Juarez Barbosa Junior - Microsoft - OSL19
Juarez Barbosa Junior - Microsoft - OSL19Juarez Barbosa Junior - Microsoft - OSL19
Juarez Barbosa Junior - Microsoft - OSL19
marketingsyone
 
Total E(A)gression defcon
Total E(A)gression   defconTotal E(A)gression   defcon
Total E(A)gression defcon
Alvaro Folgado Rueda
 
IoT-Fundamentals-And-Digital-Tranformation-Repaired.pptx
IoT-Fundamentals-And-Digital-Tranformation-Repaired.pptxIoT-Fundamentals-And-Digital-Tranformation-Repaired.pptx
IoT-Fundamentals-And-Digital-Tranformation-Repaired.pptx
Aurelia JQ
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesTop 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesJonathan LeBlanc
 
2018 learning approach-digitaltrends
2018 learning approach-digitaltrends2018 learning approach-digitaltrends
2018 learning approach-digitaltrends
Abhilash Gopalakrishnan
 
Ultralight Data Movement for IoT with SDC Edge
Ultralight Data Movement for IoT with SDC EdgeUltralight Data Movement for IoT with SDC Edge
Ultralight Data Movement for IoT with SDC Edge
DataWorks Summit
 
IRJET- A Survey on Real Time Object Detection using Voice Activated Smart IoT
IRJET- A Survey on Real Time Object Detection using Voice Activated Smart IoTIRJET- A Survey on Real Time Object Detection using Voice Activated Smart IoT
IRJET- A Survey on Real Time Object Detection using Voice Activated Smart IoT
IRJET Journal
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
Samsung Open Source Group
 
apidays LIVE Australia 2021 - Tracing across your distributed process boundar...
apidays LIVE Australia 2021 - Tracing across your distributed process boundar...apidays LIVE Australia 2021 - Tracing across your distributed process boundar...
apidays LIVE Australia 2021 - Tracing across your distributed process boundar...
apidays
 

Similar to Building a Cyber Threat Intelligence Knowledge Management System (Paris August 2019) (20)

Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code Review
 
Data science tools of the trade
Data science tools of the tradeData science tools of the trade
Data science tools of the trade
 
Documenting serverless architectures could we do it better - o'reily sa con...
Documenting serverless architectures  could we do it better  - o'reily sa con...Documenting serverless architectures  could we do it better  - o'reily sa con...
Documenting serverless architectures could we do it better - o'reily sa con...
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
 
Internet of Things (IoT) - in the cloud or rather on-premises?
Internet of Things (IoT) - in the cloud or rather on-premises?Internet of Things (IoT) - in the cloud or rather on-premises?
Internet of Things (IoT) - in the cloud or rather on-premises?
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
 
Samsung SDS OpeniT - The possibility of Python
Samsung SDS OpeniT - The possibility of PythonSamsung SDS OpeniT - The possibility of Python
Samsung SDS OpeniT - The possibility of Python
 
Internet of Things (IoT) and Big Data
Internet of Things (IoT) and Big DataInternet of Things (IoT) and Big Data
Internet of Things (IoT) and Big Data
 
Using Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in TorontoUsing Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in Toronto
 
React Native e IoT - Un progetto complesso
React Native e IoT - Un progetto complessoReact Native e IoT - Un progetto complesso
React Native e IoT - Un progetto complesso
 
Juarez Barbosa Junior - Microsoft - OSL19
Juarez Barbosa Junior - Microsoft - OSL19Juarez Barbosa Junior - Microsoft - OSL19
Juarez Barbosa Junior - Microsoft - OSL19
 
Total E(A)gression defcon
Total E(A)gression   defconTotal E(A)gression   defcon
Total E(A)gression defcon
 
IoT-Fundamentals-And-Digital-Tranformation-Repaired.pptx
IoT-Fundamentals-And-Digital-Tranformation-Repaired.pptxIoT-Fundamentals-And-Digital-Tranformation-Repaired.pptx
IoT-Fundamentals-And-Digital-Tranformation-Repaired.pptx
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesTop 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and Sites
 
2018 learning approach-digitaltrends
2018 learning approach-digitaltrends2018 learning approach-digitaltrends
2018 learning approach-digitaltrends
 
Ultralight Data Movement for IoT with SDC Edge
Ultralight Data Movement for IoT with SDC EdgeUltralight Data Movement for IoT with SDC Edge
Ultralight Data Movement for IoT with SDC Edge
 
IRJET- A Survey on Real Time Object Detection using Voice Activated Smart IoT
IRJET- A Survey on Real Time Object Detection using Voice Activated Smart IoTIRJET- A Survey on Real Time Object Detection using Voice Activated Smart IoT
IRJET- A Survey on Real Time Object Detection using Voice Activated Smart IoT
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
 
apidays LIVE Australia 2021 - Tracing across your distributed process boundar...
apidays LIVE Australia 2021 - Tracing across your distributed process boundar...apidays LIVE Australia 2021 - Tracing across your distributed process boundar...
apidays LIVE Australia 2021 - Tracing across your distributed process boundar...
 

More from Vaticle

Building Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug DiscoveryBuilding Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug Discovery
Vaticle
 
Loading Huge Amounts of Data
Loading Huge Amounts of DataLoading Huge Amounts of Data
Loading Huge Amounts of Data
Vaticle
 
Natural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge GraphNatural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge Graph
Vaticle
 
A Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security KnowledgeA Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security Knowledge
Vaticle
 
Unifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge GraphUnifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge Graph
Vaticle
 
The Next Big Thing in AI - Causality
The Next Big Thing in AI - CausalityThe Next Big Thing in AI - Causality
The Next Big Thing in AI - Causality
Vaticle
 
Building a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge GraphBuilding a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge Graph
Vaticle
 
Knowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdfKnowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdf
Vaticle
 
Building a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdfBuilding a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdf
Vaticle
 
Enabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdfEnabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdf
Vaticle
 
TypeDB Academy | Inference with Rules
TypeDB Academy | Inference with RulesTypeDB Academy | Inference with Rules
TypeDB Academy | Inference with Rules
Vaticle
 
TypeDB Academy | Modelling Principles
TypeDB Academy | Modelling PrinciplesTypeDB Academy | Modelling Principles
TypeDB Academy | Modelling Principles
Vaticle
 
Beyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQLBeyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQL
Vaticle
 
TypeDB Academy- Getting Started with Schema Design
TypeDB Academy- Getting Started with Schema DesignTypeDB Academy- Getting Started with Schema Design
TypeDB Academy- Getting Started with Schema Design
Vaticle
 
Comparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDBComparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDB
Vaticle
 
Reasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning EngineReasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning Engine
Vaticle
 
Intro to TypeDB and TypeQL | A strongly-typed database
Intro to TypeDB and TypeQL | A strongly-typed databaseIntro to TypeDB and TypeQL | A strongly-typed database
Intro to TypeDB and TypeQL | A strongly-typed database
Vaticle
 
Graph Databases vs TypeDB | What you can't do with graphs
Graph Databases vs TypeDB | What you can't do with graphsGraph Databases vs TypeDB | What you can't do with graphs
Graph Databases vs TypeDB | What you can't do with graphs
Vaticle
 
Pandora Paper Leaks With TypeDB
 Pandora Paper Leaks With TypeDB Pandora Paper Leaks With TypeDB
Pandora Paper Leaks With TypeDB
Vaticle
 
Strongly Typed Data for Machine Learning
Strongly Typed Data for Machine LearningStrongly Typed Data for Machine Learning
Strongly Typed Data for Machine Learning
Vaticle
 

More from Vaticle (20)

Building Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug DiscoveryBuilding Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug Discovery
 
Loading Huge Amounts of Data
Loading Huge Amounts of DataLoading Huge Amounts of Data
Loading Huge Amounts of Data
 
Natural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge GraphNatural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge Graph
 
A Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security KnowledgeA Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security Knowledge
 
Unifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge GraphUnifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge Graph
 
The Next Big Thing in AI - Causality
The Next Big Thing in AI - CausalityThe Next Big Thing in AI - Causality
The Next Big Thing in AI - Causality
 
Building a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge GraphBuilding a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge Graph
 
Knowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdfKnowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdf
 
Building a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdfBuilding a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdf
 
Enabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdfEnabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdf
 
TypeDB Academy | Inference with Rules
TypeDB Academy | Inference with RulesTypeDB Academy | Inference with Rules
TypeDB Academy | Inference with Rules
 
TypeDB Academy | Modelling Principles
TypeDB Academy | Modelling PrinciplesTypeDB Academy | Modelling Principles
TypeDB Academy | Modelling Principles
 
Beyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQLBeyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQL
 
TypeDB Academy- Getting Started with Schema Design
TypeDB Academy- Getting Started with Schema DesignTypeDB Academy- Getting Started with Schema Design
TypeDB Academy- Getting Started with Schema Design
 
Comparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDBComparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDB
 
Reasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning EngineReasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning Engine
 
Intro to TypeDB and TypeQL | A strongly-typed database
Intro to TypeDB and TypeQL | A strongly-typed databaseIntro to TypeDB and TypeQL | A strongly-typed database
Intro to TypeDB and TypeQL | A strongly-typed database
 
Graph Databases vs TypeDB | What you can't do with graphs
Graph Databases vs TypeDB | What you can't do with graphsGraph Databases vs TypeDB | What you can't do with graphs
Graph Databases vs TypeDB | What you can't do with graphs
 
Pandora Paper Leaks With TypeDB
 Pandora Paper Leaks With TypeDB Pandora Paper Leaks With TypeDB
Pandora Paper Leaks With TypeDB
 
Strongly Typed Data for Machine Learning
Strongly Typed Data for Machine LearningStrongly Typed Data for Machine Learning
Strongly Typed Data for Machine Learning
 

Recently uploaded

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

Building a Cyber Threat Intelligence Knowledge Management System (Paris August 2019)

  • 1. Building a management system for cyber threat intelligence knowledge using OpenCTI Paris Meetup, 27th August 2019
  • 2. SPEAKERS Head of CyberThreat Intelligence @ ANSSI VP of Engineering @YOOI yooi.comssi.gouv.fr Co-founders of Luatix @SamuelHassine Samuel Hassine @richardjulien Julien Richard openex.io luatix.org opencti.io
  • 3. THE STORY WHY OPENCTI WHY WE/YOU NEED A SOFTWARE LIKE THIS HOW TO START THE PROJECT YOU CANNOT DEVELOP ALONE HOW GRAKN EMPOWERS OPENCTI READY TO USE GRAKN FOR YOUR PROJECT? WHAT’S NEXT FOR OPENCTI HEY SAM, YOUR MODEL LOOKS LIKE A GRAPH DOESN’T IT? DECISION CRITERIA, LEARN AND DISCOVER THE POWER EVERYTHING HAS A PRICE. PERFECTION DOES NOT EXIST LOOKING FOR A STANDARD AND FIRST IMPLEMENTATION ITS JUST THE BEGINNING, WE WANT TO DO MORE
  • 4. WHY OPENCTI Intelligence for partner CTI teams Indicators and signatures for SOC teams Tactics, techniques and procedures for DFIR teams Behaviors to help prioritizing EDR and IDS development roadmaps Red team scenarios for hackers and pentesters teams Provide knowledge about threat actors of interest Daily work of a CTI analyst Investigate adversary behaviors, arsenals and infrastructures Pivoting on technical elements Correlating behaviors and finding patterns < KNOWLEDGE REQUIRES KNOWLEDGE MANAGEMENT >
  • 5. WHY OPENCTI TTPs Tools Host/network artefacts Domain names IP addresses Hash values Trivial Easy Simple Annoying Challenging Tough! The adversaries “pyramid of pain” < FOCUS ON TOP! >
  • 6. WHY OPENCTI Knowledge issues to solve From a strategic level... Victimology of an intrusion set or a threat actor over time. Tactics and procedures of a campaign targeting a specific sector. Reusing of legitimate tools in malicious codes families. Campaigns targeting an organization or sector over time. to an operational one. Observables linked to a specific threat and evolution over time. Clusters of malicious artefacts and enrichment (hosters, registrars, etc.). < NEEDED ANSWERS >
  • 7. WHY OPENCTI Today in the CTI world, long live unstructured data! CTI analyst Partners Vendors OSINT SIGINT We have intel! Enrich Investigate IntelligenceWe have intel! < CTI ANALYSTS ARE NOT LIBRARIANS >
  • 8. WHY OPENCTI A complex role in a complex workflow Cyber threat intelligence is not doomed to be only the main data source of the security detection chain and associated to guys who produce reports that may be read.
  • 9. HOW TO START THE PROJECT Functional needs Structured and organized storage of information related to cyber threats Unified data space between all levels of information from operational to strategic Traceability of the source of all capitalized information Viewing, sharing, correlation features According to this context, we need:
  • 10. HOW TO START THE PROJECT From unstructured to structured! STIX2 is the most accurate data model that currently exists to store cyber threat intelligence knowledge. Storage of TTPs can be done with any framework (ATT&CK, KillChain, NSA, custom, etc.). A connector fully integrates Enterprise ATT&CK and Pre-ATT&CK. Think the data model https://oasis-open.github.io/cti-documentation/stix/intro https://attack.mitre.org < STIX2 RULES >
  • 11. HOW TO START THE PROJECT STIX2 in a nutshell { "id": "intrusion-set--bef4c620-0787-42a8-a96d- b7eb6e85917c", "type": "intrusion-set", "name": "APT28", "aliases": [ "APT28", "Sednit", "Sofacy", "Fancy Bear", ], "description": "APT28 is a threat group that has been attributed to Russia's Main Intelligence Directorate of the Russian General Staff by a July 2018 U.S. Department of Justice indictment.", "created_by_ref": "identity--c78cb6e5-0c4b-4611-8297- d1b8b55e40b5", "modified": "2019-07-27T00:09:33.254Z", "created": "2017-05-31T21:31:48.664Z", "object_marking_refs": [ "marking-definition--fa42a846-8d90-4e51-bc29- 71d5b4802168" ] } STIX2 is composed of entities, embedded relationships and relationships. Embedded relations Entity Intrusion Set uses Embedded relation
  • 12. HOW TO START THE PROJECT STIX2 in a nutshell { "id": "malware--af2ad3b7-ab6a-4807-91fd-51bcaff9acbb", "type": "malware", "name": "USBStealer", "description": "USBStealer is malware that has used by APT28 since at least 2005 to extract information from air-gapped networks.", "created_by_ref": "identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5", "modified": "2018-10-17T00:14:20.652Z", "created": "2017-05-31T21:33:17.716Z", "object_marking_refs": [ "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" ] } { "id": "relationship--d26b3aeb-972f-471e-ab59-dc1ee2aa532e", "type": "relationship", "relationship_type": "uses", "description": "APT28 uses USBStealer.", "source_ref": "intrusion-set--bef4c620-0787-42a8-a96d-b7eb6e85917c", "target_ref": "malware--af2ad3b7-ab6a-4807-91fd-51bcaff9acbb" "created_by_ref": "identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5", "modified": "2019-07-27T00:09:36.949Z", "created": "2017-05-31T21:33:27.041Z", "object_marking_refs": [ "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" ] } Entity Malware Relationship Embedded relations Embedded relation Embedded relation Embedded relations
  • 13. HOW TO START THE PROJECT Let’s start something with Why Community works on importing ATT&CK STIX2 data to MongoDB Support for embedded documents in a document (created_by_ref, object_marking_refs, etc…) Simple JSON documents importation Interesting query language and full text search feature Proof of concept How REST API architecture, backend in PHP / Symfony and frontend in ReactJS Home made Symfony library to handle STIX2 objects and relationships in MongoDB Relationships are documents with an embedded link to source and target documents < CODING…. > https://www.mongodb.com
  • 14. HOW TO START THE PROJECT Proof of concept Create a new identity with the corresponding document class. Use Symfony form to create entities and store them. < CALL JULIEN >
  • 15. Does this approach suit you? HOW TO START THE PROJECT Proof of concept Seems really cool, but are you sure about , and real timewe try a contract-based API backend, using https://graphql.org https://relay.dev Relay https://redis.io and collaboration powered by the addition of ? By the way, what do you think if the model and usage of the database ?
  • 16. NO ONE SUCCEEDS ALONE STIX2 looks like a graph model Search “Graph database” in your favorite search engine: sounds like the #1 choice < LET’S GIVE IT A TRY > First try https://freetaxii.github.io/stix2-object-relationships.html https://neo4j.com
  • 17. NO ONE SUCCEEDS ALONE REPORT Do it on top of or ? I’m too old for this … < SO WHAT? FORGET SOMETHING > Looks like a good idea until “the report use case” uses Object_refs https://janusgraph.org { "id": "report--bef4c621-0787-42a8-a96d-b7eb6e85917c", "type": "report", "name": "APT28 is using USBStealer since 2012!", "description": "APT28 is using USBStealer in a new campaign.", "created_by_ref": "identity--c78cb6e5-0c4b-4611-8297- d1b8b55e40b5", "published": "2019-07-27T00:09:33.254Z", "created": "2017-05-31T21:31:48.664Z", "object_refs": [ "intrusion-set--bef4c620-0787-42a8-a96d-b7eb6e85917c", "malware--af2ad3b7-ab6a-4807-91fd-51bcaff9acbb", "relationship--d26b3aeb-972f-471e-ab59-dc1ee2aa532e" ] } The report is about APT28 and USBStaler, but it is mostly about the relationship between the 2 entities! We need a solution for this kind of nested relations…
  • 18. NO ONE SUCCEEDS ALONE This is not graph … this is hypergraph AtomSpace https://github.com/opencog/atomspace http://hypergraphdb.org https://www.datachemist.com https://grakn.ai < LET’S GIVE GRAKN.AI A TRY… AGAIN > https://en.wikipedia.org/wiki/Hypergraph
  • 19. NO ONE SUCCEEDS ALONE Hey Samuel! Let’s go with Grakn! < A RISK WE SHOULD TAKE > DUDE… REALLY? Open source / Github First release in 2016 Active community Good documentation Confidential but with the feeling that Grakn will solve our future requirements. Grakn overview
  • 20. Database Indexing Main storage Storage for speed-up lists and search Frontend Workers Subscriptions Messaging system Push data Connectors Background jobs such as importing, exporting, etc. Consume messages API Outside world OPENCTI ARCHITECTURE Applications and databases
  • 21. { "reports":{ "edges":[ { "node":{ "name":"2019-01-21: APT28 Autoit Zebrocy Progression", "published":"2019-01-21T00:00:00Z", "createdByRef":{ "node":{ "name":"VK-Intel", ... } } } }, ... ElaticSearch.get(index:"stix_domain_entities", identifier) match $r isa Report; $rel(creator:$x, so:$r) isa created_by_ref; $x has name $o; get $r, $rel, $o; sort $o asc; offset 0; limit 25; OPENCTI ARCHITECTURE query ReportsLinesPaginationQuery ($objectId: String ... $orderBy: ReportsOrdering) { reports(objectId: $objectId, ... orderBy: $orderBy) { edges { node { id name object_status published createdByRef { node { name id } } markingDefinitions { edges { node { id definition } } } } } } } GraphQL Query Graql Query ES query ES query ES query GraphQL response “Just” the ordered list of reports by Author
  • 22. OPENCTI ARCHITECTURE Database Indexing Workers Messaging systemMISP Workers Workers GrahQL API MISP data event integration
  • 23. HOW GRAKN EMPOWERS OPENCTI By enforcing the data model in Grakn, we found out many useful features which actually saved us time and new dependencies. What we loved: Knowledge schema Entities, abstract entities and sub entities Nested relations Logical inference of relations Reasoning rules language Inferred relations computed at runtime < GRAKN ENABLES NEW OPENCTI FEATURES >
  • 24. Stix-Domain sub entity, abstract, has internal_id, has stix_id, has stix_label, has created, has modified, has revoked, plays so; Stix-Domain-Entity sub Stix-Domain, abstract, has name, has description, has alias; Intrusion-Set sub Stix-Domain-Entity, has first_seen, has last_seen, has goal, has sophistication, has resource_level, has primary_motivation, has secondary_motivation, plays attribution, plays source, plays user, plays origin; HOW GRAKN EMPOWERS OPENCTI Data model
  • 25. France APT28 localized-in From a functional point of view, this is not satisfactory. Considering the whole knowledge graph, that’s not correct. HOW GRAKN EMPOWERS OPENCTI Nested relations Industry Energy Germany APT28 Energy (Germany) Energy (France) Industry (France) France Germany targets
  • 26. This makes sense! targets targets Localized-in Localized-in Localized-in HOW GRAKN EMPOWERS OPENCTI Nested relations FranceAPT28 Industry Energy Germany targets APT28 has 3 target relations : Energy in Germany Energy in France Industry in France
  • 27. APT28 GRU XTunnel attributed-to uses ## USES RULES AttributionUsesRule sub rule, when { (origin: $origin, attribution: $entity) isa attributed-to; (user: $entity, usage: $object) isa uses; }, then { (user: $origin, usage: $object) isa uses; }; usesinferred relation inferredrelation HOW GRAKN EMPOWERS OPENCTI Logical inference of relations Customizable inference rules directly in the UI in the roadmap! This is a very important feature since you can have complex use cases with multiple levels of inferences, and use reasoning rules to make your data more meaningful.
  • 28. targets Localized-in Localized-in Localized-in HOW GRAKN EMPOWERS OPENCTI Nested relations with inferences FranceAPT28 Industry Energy Germany targets APT28 has 2 target inferred relations : targets Germany because targets Energy in Germany targets France because targets Energy or Industry in France targets targets targets LocalizationOfTargetsRule sub rule, when { $rel(source: $entity, target: $target) isa targets; (location: $location, localized: $rel) isa localization; }, then { (source: $entity, target: $location) isa targets; };
  • 29. Ready for a ride? https://demo.opencti.io DEMONSTRATION
  • 30. HOW GRAKN EMPOWERS OPENCTI Query language match $intrusionSet isa Intrusion-Set; {$intrusionSet has name "APT28";} or {$intrusionSet has name "Turla";} or {$intrusionSet has name "FIN6";}; $attackPattern isa Attack-Pattern; $relations($intrusionSet, $attackPattern) isa uses; get;
  • 31. GRAKN READY FOR PRODUCTION? Is Grakn ready for production complex use cases? YES! But today… ElasticSearch We need data indexation for ordering and filtering. The only way we found for now is to use Automatic data migration between major releases in case of data structure upgrade is a must have. We did it one time and we definitively need a built-in solution. No database migration No full indexing https://www.elastic.co
  • 32. GRAKN READY FOR PRODUCTION? Grakn provides all the basic interfaces you need to make it work but it will be very helpful to have more API around update / delete, query builder and various languages and simpler drivers. Lack of syntactic sugar Is Grakn ready for production complex use cases? YES! But today… Inference is really interesting for OpenCTI, so we already use it as much as possible. We need a simpler/better answer structure for the inference explanation. You should not have this kind of problem up until some advanced usage. Difficult inference explanation
  • 33. WHAT’S NEXT FOR OPENCTI Powerful importation and exportation system and storage system Allow users to interact with nested relations Medium term Automatic data completion and enrichment Advanced analytics and visualization
  • 34. Implement multiple levels of knowledge in the same context Use Grakn capabilities to add further correlation features Implement an investigation graph in the UI using Grakn capabilities WHAT’S NEXT FOR OPENCTI Long term
  • 35. WHAT’S NEXT FOR OPENCTI Graph theory and ML For investigation purposes compute path from V229424, to V446496; Compute the shortest path compute centrality in [Intrusion-Set, Attack-Pattern, Sector], using degree; Find the most interesting instances compute cluster in [Intrusion-Set, Attack-Pattern, Sector], using connected-component; For knowledge purposes Identify clusters Extract named entities and relationships in context using NLP and ML https://www.microsoft.com/security/blog/2019/08/08/from-unstructured-data-to-actionable- intelligence-using-machine-learning-for-threat-intelligence/ Powered by Powered by Powered by
  • 36. Questions? Thank you for your attention github.com/OpenCTI-Platform 681 83 10 Released 2 months ago (2019-06-28) samuel.hassine@luatix.org julien.richard@luatix.org Join us on Slack https://slack.luatix.org

Editor's Notes

  1. Présentation speakers
  2. As a CTI team within CSIRT or a company that has critical assets to protect, we have multiple customers. Because we can not do anything alone and only with your own data, we have to share your intelligence. Produce indicators and signature for Security Operations Center teams Provide the Tactics, Techniques and Procedures used by intrusion sets of interest to the Digital Forensics and Incident Response team. Help developers of Endpoint Dectection and Response systems or intrusion detection systems to prioritize their roadmaps according to the behaviors we observed on the field or during our investigations Finally, to make red team scenarios more realistic, we can provide TTPS and payloads we know about. For all these activities and productions, the knowledge is the key focus of our CTI team. And knowledge needs knowledge management!
  3. The knowledge produced by the CTI team is focused on adversaries that may target the organization or the CSIRT constituencies. This pyramid is one of the most comprehensive view of the different types of knowledge an organization have regarding its adversary. More you go up in the pyramid, more the it is difficult for an adversary to change the piece of knowledge you have on him. But more you go up, more this knowledge is human-related. Changing one technique, tactic or procedure may be doable, but completly change his behavior when moving laterally on a targeted information system is quiet challenging.
  4. Qualify Read / analyze / consolidate all sources Search indicators and patterns in the SOC logs Investigate Investigate implants & adversary infrastructures to complete the initial knowledge Mix open source information with classified/internal and national partners data Disseminate Produce reports to assess campaigns, intrusion sets and threat actors Common investigation with national partners capabilities and teams International relations / private partnerships Get feedback Find new victims Enhance the knowledge, get more indicators, investigate again
  5. Hypergraphs generalise the common notion of graphs by relaxing the definition of edges. An edge in a graph is simply a pair of vertices. Instead, a hyperedge in a hypergraph is a set of vertices. Such sets of vertices can be further structured, following some additional restrictions involved in different possible definitions of hypergraphs.