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
120
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
32
Firebase
apokrupto
0
160
Code Reuse
apokrupto
1
220
Other Decks in Programming
See All in Programming
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
850
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.4k
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
1
400
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
500
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
0
110
開発生産性を上げるための生成AI活用術
starfish719
3
1.1k
CSC509 Lecture 03
javiergs
PRO
0
340
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
1k
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
590
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
Leading Effective Engineering Teams in the AI Era
addyosmani
6
430
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Site-Speed That Sticks
csswizardry
12
900
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
The Cult of Friendly URLs
andyhume
79
6.6k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
How to Ace a Technical Interview
jacobian
280
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
How STYLIGHT went responsive
nonsquared
100
5.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
35
6.1k
It's Worth the Effort
3n
187
28k
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