Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Threat modelling
Search
Apokrupto
November 04, 2017
Programming
1
94
Threat modelling
An introduction to threat modelling for your project.
Apokrupto
November 04, 2017
Tweet
Share
More Decks by Apokrupto
See All by Apokrupto
Code review... done well
apokrupto
0
120
iOS development
apokrupto
0
27
Firebase
apokrupto
0
120
Code Reuse
apokrupto
1
220
Other Decks in Programming
See All in Programming
Ruby製社内ツールのGo移行
bgpat
2
270
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
1.5k
15分間でふんわり理解するDocker @ Matsuriba MAX
ukwhatn
PRO
1
340
自作ソフト(VMagicMirror)がVRMA対応してる話+実装のTips
bakudreameater
0
110
Learning PHP and Static Analysis with PHP Parser
inouehi
1
250
document.write再考
brn
5
2.5k
9年開発を牽引して見えてきた、共通化すべきものと個別でつくるもの ~プログラム言語~
shinout
1
270
incrementalモデルの理解を深める
ikkimiyazaki
2
640
オブジェクト指向のリ・オリエンテーション~歴史を振り返り、AI時代に向きなおる~
hanyudaeiiti
2
200
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
5
2.4k
OpenTelemetry のサービスという概念について
azukiazusa1
1
410
LPIXEL×CADDi_kaerururu
kaerururu
3
300
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
319
20k
KATA
mclloyd
14
11k
Faster Mobile Websites
deanohume
296
30k
Designing for humans not robots
tammielis
247
25k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
Adopting Sorbet at Scale
ufuk
66
8.5k
Gamification - CAS2011
davidbonilla
76
4.5k
For a Future-Friendly Web
brad_frost
170
8.9k
YesSQL, Process and Tooling at Scale
rocio
160
13k
Six Lessons from altMBA
skipperchong
19
2.9k
Transcript
THREAT MODELING DEVFEST17 - NOVEMBER 2017 WARREN GAVIN (@APOKRUPTO)
None
DANNY
None
WHAT YOU WANTED WHAT YOU WROTE THREAT MODELING - @APOKRUPTO
QUESTIONS THREAT MODELING - @APOKRUPTO
QUESTIONS THREAT MODELING - @APOKRUPTO WHY
QUESTIONS THREAT MODELING - @APOKRUPTO WHY WHO
QUESTIONS THREAT MODELING - @APOKRUPTO WHY WHO WHAT
QUESTIONS THREAT MODELING - @APOKRUPTO WHY WHO WHAT HOW
QUESTIONS THREAT MODELING - @APOKRUPTO WHY WHO WHAT HOW WHEN
None
TERRY
None
WHY? THREAT MODELING - @APOKRUPTO
WHY? THREAT MODELING - @APOKRUPTO BUILD A SECURE SYSTEM
None
None
WHY? THREAT MODELING - @APOKRUPTO BUILD A SECURE SYSTEM
WHY? THREAT MODELING - @APOKRUPTO BUILD A SECURE SYSTEM FOR
A GIVEN VALUE OF ‘SECURE'
MEANWHILE
None
WH0? THREAT MODELING - @APOKRUPTO
WH0? THREAT MODELING - @APOKRUPTO EVERYONE
WH0? THREAT MODELING - @APOKRUPTO EVERYONE YOU DON’T NEED TO
BE AN EXPERT
MEANWHILE
None
SAUL
None
None
WHAT? THREAT MODELING - @APOKRUPTO
WHAT? THREAT MODELING - @APOKRUPTO ASSETS
WHAT? THREAT MODELING - @APOKRUPTO ASSETS - DATA, CONFIDENTIAL INFORMATION
WHAT? THREAT MODELING - @APOKRUPTO ASSETS - DATA, CONFIDENTIAL INFORMATION
- COMPANY REPUTATION
MEANWHILE
None
None
None
HOW? THREAT MODELING - @APOKRUPTO
HOW? THREAT MODELING - @APOKRUPTO PREDICTION IS VERY DIFFICULT, ESPECIALLY
ABOUT THE FUTURE Niels Bohr
HOW? THREAT MODELING - @APOKRUPTO ANALYSE
HOW? THREAT MODELING - @APOKRUPTO ANALYSE DATA FLOW
HOW? THREAT MODELING - @APOKRUPTO ANALYSE DATA FLOW METHODOLOGY
HOW? THREAT MODELING - @APOKRUPTO ANALYSE DATA FLOW METHODOLOGY STRIDE
MEANWHILE
None
None
BRUISER
None
HOW? - DATA FLOW THREAT MODELING - @APOKRUPTO
THREAT MODELING - @APOKRUPTO PROCESS HOW? - DATA FLOW
THREAT MODELING - @APOKRUPTO PROCESS MULTI PROCESS HOW? - DATA
FLOW
THREAT MODELING - @APOKRUPTO PROCESS MULTI PROCESS EXTERNAL ENTITY HOW?
- DATA FLOW
THREAT MODELING - @APOKRUPTO PROCESS MULTI PROCESS DATA STORE EXTERNAL
ENTITY HOW? - DATA FLOW
DATA FLOW THREAT MODELING - @APOKRUPTO PROCESS MULTI PROCESS DATA
STORE EXTERNAL ENTITY HOW? - DATA FLOW
DATA FLOW THREAT MODELING - @APOKRUPTO PROCESS MULTI PROCESS DATA
STORE TRUST BOUNDARY EXTERNAL ENTITY HOW? - DATA FLOW
THREAT MODELING - @APOKRUPTO DATA STORE USER HOW? - DATA
FLOW
MEANWHILE
None
None
HOW? - STRIDE THREAT MODELING - @APOKRUPTO
THREAT MODELING - @APOKRUPTO SPOOFING HOW? - STRIDE
THREAT MODELING - @APOKRUPTO SPOOFING TAMPERING HOW? - STRIDE
THREAT MODELING - @APOKRUPTO SPOOFING TAMPERING REPUDIATION HOW? - STRIDE
THREAT MODELING - @APOKRUPTO INFORMATION DISCLOSURE HOW? - STRIDE
THREAT MODELING - @APOKRUPTO INFORMATION DISCLOSURE DENIAL OF SERVICE HOW?
- STRIDE
THREAT MODELING - @APOKRUPTO INFORMATION DISCLOSURE DENIAL OF SERVICE ELEVATION
OF PRIVILEGE HOW? - STRIDE
MEANWHILE
None
None
HOW? - STRIDE/ELEMENT THREAT MODELING - @APOKRUPTO
THREAT MODELING - @APOKRUPTO ENTITY: SR HOW? - STRIDE/ELEMENT
THREAT MODELING - @APOKRUPTO ENTITY: SR PROCESS: STRIDE HOW? -
STRIDE/ELEMENT
THREAT MODELING - @APOKRUPTO ENTITY: SR PROCESS: STRIDE DATA STORE:
TRID HOW? - STRIDE/ELEMENT
THREAT MODELING - @APOKRUPTO ENTITY: SR PROCESS: STRIDE DATA STORE:
TRID DATA FLOW: TID HOW? - STRIDE/ELEMENT
MEANWHILE
None
None
THREAT MODELING - @APOKRUPTO HOW? - QUANTIFY
THREAT MODELING - @APOKRUPTO DAMAGE HOW? - QUANTIFY
THREAT MODELING - @APOKRUPTO DAMAGE REPRODUCIBILITY HOW? - QUANTIFY
THREAT MODELING - @APOKRUPTO DAMAGE REPRODUCIBILITY EXPLOITABILITY HOW? - QUANTIFY
THREAT MODELING - @APOKRUPTO DAMAGE REPRODUCIBILITY EXPLOITABILITY AFFECTED USERS HOW?
- QUANTIFY
THREAT MODELING - @APOKRUPTO DAMAGE REPRODUCIBILITY EXPLOITABILITY AFFECTED USERS DISCOVERABILITY
HOW? - QUANTIFY
DREAD
MEANWHILE
None
THREAT MITIGATION THREAT MODELING - @APOKRUPTO
THREAT MODELING - @APOKRUPTO A THREAT WITH NO MITIGATION IS
A VULNERABILITY THREAT MITIGATION
THREAT MITIGATION THREAT MODELING - @APOKRUPTO
THREAT MITIGATION THREAT MODELING - @APOKRUPTO REDESIGN
THREAT MITIGATION THREAT MODELING - @APOKRUPTO REDESIGN STANDARD MITIGATION
THREAT MITIGATION THREAT MODELING - @APOKRUPTO REDESIGN STANDARD MITIGATION CUSTOM
MITIGATION
THREAT MITIGATION THREAT MODELING - @APOKRUPTO REDESIGN STANDARD MITIGATION CUSTOM
MITIGATION ACCEPT
THREAT MITIGATION THREAT MODELING - @APOKRUPTO AUTHENTICATION
THREAT MODELING - @APOKRUPTO AUTHENTICATION INTEGRITY CHECKS THREAT MITIGATION
THREAT MODELING - @APOKRUPTO AUTHENTICATION INTEGRITY CHECKS NON-REPUDIATION THREAT MITIGATION
THREAT MODELING - @APOKRUPTO CONFIDENTIALITY THREAT MITIGATION
THREAT MODELING - @APOKRUPTO CONFIDENTIALITY AVAILABILITY THREAT MITIGATION
THREAT MODELING - @APOKRUPTO CONFIDENTIALITY AVAILABILITY AUTHORISATION THREAT MITIGATION
TERRY’S THREAT MODEL
None
SPOOFING
None
TAMPERING
None
REPUDIATION
None
INFORMATION DISCLOSURE
None
DENIAL OF SERVICE
None
ELEVATION OF PRIVILEGE
WHEN? THREAT MODELING - @APOKRUPTO
WHEN? THREAT MODELING - @APOKRUPTO AT DESIGN TIME IS BEST
WHEN? THREAT MODELING - @APOKRUPTO AT DESIGN TIME IS BEST
BUT KEEP RE-EVALUATING
WHEN? THREAT MODELING - @APOKRUPTO AT DESIGN TIME IS BEST
BUT KEEP RE-EVALUATING IT’S NEVER TOO LATE
WHEN? THREAT MODELING - @APOKRUPTO AT DESIGN TIME IS BEST
BUT KEEP RE-EVALUATING IT’S NEVER TOO LATE UNLESS IT’S TOO LATE
None
TERRY
IDIOT
DON’T BE A TERRY
OBLIGATORY THANK YOU SLIDE THREAT MODELING - @APOKRUPTO