SlideShare a Scribd company logo
1 of 33
Threat Model Every Story:
Practical Continuous Threat
Modeling Work for Your Team
or ”What Do You Mean Threat Model EVERY Story Who Has That Kind
of Time Go Away and Take Your Threat Model With you!?!”
The Bureau of Statistics informs:
No surveys were harmed in the making of this
talk. All data is purely anecdotal and open to
subjective interpretation based on the reader’s
experience.
• Lead Security Architect at Autodesk Inc.,
focusing on application security
• SAFECode collaborator, IEEE Center For
Security Design collaborator
• Curious argumentative all-around kvetcher
Who am I?
• Show of hands
– You threat model every day
– You want to add threat modeling to your practice
– You do research work on Threat Modeling
– You are in the wrong room and too shy to leave
after three slides into the presentation
Who are you?
• Level setting – threat modeling, what and why?
• My personal threat modeling journey
• Challenges encountered in this unfinished journey
• How I am trying to solve that – Continuous Threat
Modeling
– How can you use it?
– Tools
– References
What are we doing here today?
• A conceptual exercise that aims to identify security-
related flaws in the design of a system and identify
modifications or activities that will mitigate those flaws.
• Formally, it can be “A technique to identify the attacks a
system must resist and the defenses that will bring the
system to a desired state” (Brook Schoenfield)
• Four Fundamental Questions (Adam Shostack)
– What are we working on?
– What can go wrong?
– What are we going to do about it?
– Did we do a good job?
Threat Modeling – what & why
A Threat Modeling (ongoing) personal
journey
Role TM Methodology
developer Discuss the latest published exploits. Wonder aloud if they apply to my code.
developer STRIDE
developer/
architect
STRIDE/element
security
consultant
Threat Library
security
consultant
A frank conversation about the system and what it wants to be (“SME-led”)
security
consultant
TM “spikes”
But what was I looking for?
• Accessible: can a product team do it independently after
a brief period of instruction? Can they keep doing it?
• Scalable: can the same thing be done over many teams
and products? In a short time?
• Educational: can it teach instead of correct?
• Useful: are the results found useful for both product and
security?
• Agile: is it repeatable, does it negatively impact the
product team’s velocity?
• Representative: how does the system being modeled
compare with the model?
• Unconstrained: once the “known suspects” are
evaluated, is the team led to explore further?
Did those methods reach the goals?
The Case For Continuous TM
Threat Model Every Story
• build a baseline - involving everyone. Use whatever technique works for
your team. At Autodesk we are currently focusing on a “subject based” list
of points of interest
• designate one or more “threat model curators” who will be responsible for
maintaining the canonical threat model document and the findings queue
• instruct your developers to evaluate each one of their stories with focus
on security:
– if the story has no “security value”, continue as usual
– if the story generates a security “notable event”, either fix it (and document as
a mitigated finding) or pop it up as a “threat model candidate finding” for the
curator to take notice of (at Autodesk we are doing this using labels on JIRA
tickets)
• make sure your curators are on top of the finding and candidate finding
queues
But…how do my developers know
what has “security value”?
Subject areas
Question and then
continue
questioning during
“official design
time” or when
building a baseline
Checklist
Verify that the
principles have
been followed at
implementation
time
Handbook and Subject areas
Principles Checklist
Threat Model Every Story
• build a baseline - involving everyone. Use whatever technique works for
your team. At Autodesk we are currently focusing on a “subject based” list
of points of interest
• designate one or more “threat model curators” who will be responsible for
maintaining the canonical threat model document and the findings queue
• instruct your developers to evaluate each one of their stories with focus
on security:
– if the story has no “security value”, continue as usual
– if the story generates a security “notable event”, either fix it (and document as
a mitigated finding) or pop it up as a “threat model candidate finding” for the
curator to take notice of (at Autodesk we are doing this using labels on JIRA
tickets)
• make sure your curators are on top of the finding and candidate finding
queues
Threat Modeling Timeline
• “Uh...what?”
• “This is still too heavy”
• “But how do I know I did everything?”
• “I never saw a room of architects excited
about threat modeling before”
Reactions from product teams
Caveat Emptor: This Is Not Perfect
• Difficult to convince teams that the Subject List is
not a threat library and developers that the
Checklist is not a requirements list – not
exhaustive, just a starting point
• The resulting TM won’t be perfect – evolutionary
• A SME or security group is still necessary for
education
• GIGO – garbage-in, garbage-out
So…about that automation thing.
• What are the parts of Threat Modeling we can most easily
automate?
– Diagraming - cross-platform, over the network, simple and quick
yet representative
– Reporting - having a standard and keeping to it; information
passing
– Threat ranking - CVSS or some other agreed ranking system
– Low-hanging fruit - threats that can be immediately derived
from a formal description of the system should emerge
• Tooling should help discuss the system, keep the model as
close as possible to the reality of the system, disseminate
information, and not hinder collaboration:
What is available today?
• There are many threat modeling tools; some are platform-
dependent, like the MS Tool, others are web-based
• Some start the process with a questionnaire along the lines of
“what do you want to build” and generate a list of requirements
that the developers must follow
• Others get a description of the system and generate threats based
on characteristics of the design
• But … developers write code; why not have them feed the threat
model with something that looks like code?
• “TM-as-code” is in the same place “DevOps” was a couple of years
ago. There is talk of, people want to do it, but the definition of what
it actually means is murky
Three current practical approaches
ThreatSpec Fraser Scott
@zeroXten
Threat modeling IN
code
ThreatPlaybook Abhay Bhargav
@abhaybargav
Threat modeling
FROM code
PyTM Threat modeling
WITH code
PyTM – A Pythonic way of TM’ing
Matt Coles, @coles_matthewj Nick Ozmore, @nozmore
Rohit Shambhuni, @rshambho Izar Tarandach, @izar_t
PyTM – Creating a Threat Model
PyTM – Elements and Attributes
PyTM – Generating a DFD
PyTM – Sequence Diagrams
PyTM – Listing threats
PyTM – Report template
PyTM – generating reports
PyTM – how is it being used?
• during team meetings to create the initial
diagram
• in discussions with the product team - “it is
missing this attribute”, “why is this a threat”,
“what if?”
• keep threat models in revision control, together
with the code they describe and generate
automated, standard threat model reports
PyTM – invitation to collaborate
• More threats
• More elements
• Documentation
• A better rule engine
• Integration with other tools
• Suggestions, bug fixes, requirements, sample use
cases
• Discussion!
Thank you!
• Questions ?
• Don’t forget to leave feedback!
References
• OWASP Threat Modeling Slack Channel –
https://owasp.slack.com #threat-modeling
• OWASP Application Threat Modeling -
https://www.owasp.org/index.php/Application_Threat_Modeling
• SAFECode “Tactical Threat Modeling” -
https://safecode.org/wp-content/uploads/2017/05/SAFECode_TM_Whitepaper.pdf
• ThreatSpec - https://threatspec.org/
• ThreatPlaybook -https://we45.gitbook.io/threatplaybook/
• PyTM - https://github.com/izar/pytm

More Related Content

What's hot

Practical DevSecOps - Arief Karfianto
Practical DevSecOps - Arief KarfiantoPractical DevSecOps - Arief Karfianto
Practical DevSecOps - Arief Karfiantoidsecconf
 
DevSecOps in Baby Steps
DevSecOps in Baby StepsDevSecOps in Baby Steps
DevSecOps in Baby StepsPriyanka Aash
 
Distributed Immutable Ephemeral - New Paradigms for the Next Era of Security
Distributed Immutable Ephemeral - New Paradigms for the Next Era of SecurityDistributed Immutable Ephemeral - New Paradigms for the Next Era of Security
Distributed Immutable Ephemeral - New Paradigms for the Next Era of SecuritySounil Yu
 
Threat Modeling Lessons From Star Wars
Threat Modeling Lessons From Star WarsThreat Modeling Lessons From Star Wars
Threat Modeling Lessons From Star WarsAdam Shostack
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOpsCYBRIC
 
Threat hunting - Every day is hunting season
Threat hunting - Every day is hunting seasonThreat hunting - Every day is hunting season
Threat hunting - Every day is hunting seasonBen Boyd
 
MITRE ATT&CKcon 2.0: Prioritizing ATT&CK Informed Defenses the CIS Way; Phili...
MITRE ATT&CKcon 2.0: Prioritizing ATT&CK Informed Defenses the CIS Way; Phili...MITRE ATT&CKcon 2.0: Prioritizing ATT&CK Informed Defenses the CIS Way; Phili...
MITRE ATT&CKcon 2.0: Prioritizing ATT&CK Informed Defenses the CIS Way; Phili...MITRE - ATT&CKcon
 
ATT&CKing the Red/Blue Divide
ATT&CKing the Red/Blue DivideATT&CKing the Red/Blue Divide
ATT&CKing the Red/Blue DivideMITRE ATT&CK
 
Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1Mohammed A. Imran
 
Pentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrowPentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrowAmien Harisen Rosyandino
 
kill-chain-presentation-v3
kill-chain-presentation-v3kill-chain-presentation-v3
kill-chain-presentation-v3Shawn Croswell
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation JourneyDevOps Indonesia
 
Threat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement MatriceThreat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement MatriceVishal Kumar
 
The ATT&CK Philharmonic
The ATT&CK PhilharmonicThe ATT&CK Philharmonic
The ATT&CK PhilharmonicMITRE ATT&CK
 
The New Security Playbook: DevSecOps
The New Security Playbook: DevSecOpsThe New Security Playbook: DevSecOps
The New Security Playbook: DevSecOpsJames Wickett
 
[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and OpportunitiesMohammed A. Imran
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD PipelineJames Wickett
 

What's hot (20)

Practical DevSecOps - Arief Karfianto
Practical DevSecOps - Arief KarfiantoPractical DevSecOps - Arief Karfianto
Practical DevSecOps - Arief Karfianto
 
DevSecOps in Baby Steps
DevSecOps in Baby StepsDevSecOps in Baby Steps
DevSecOps in Baby Steps
 
Distributed Immutable Ephemeral - New Paradigms for the Next Era of Security
Distributed Immutable Ephemeral - New Paradigms for the Next Era of SecurityDistributed Immutable Ephemeral - New Paradigms for the Next Era of Security
Distributed Immutable Ephemeral - New Paradigms for the Next Era of Security
 
Threat Modeling Lessons From Star Wars
Threat Modeling Lessons From Star WarsThreat Modeling Lessons From Star Wars
Threat Modeling Lessons From Star Wars
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOps
 
Threat hunting - Every day is hunting season
Threat hunting - Every day is hunting seasonThreat hunting - Every day is hunting season
Threat hunting - Every day is hunting season
 
Implementing DevSecOps
Implementing DevSecOpsImplementing DevSecOps
Implementing DevSecOps
 
MITRE ATT&CKcon 2.0: Prioritizing ATT&CK Informed Defenses the CIS Way; Phili...
MITRE ATT&CKcon 2.0: Prioritizing ATT&CK Informed Defenses the CIS Way; Phili...MITRE ATT&CKcon 2.0: Prioritizing ATT&CK Informed Defenses the CIS Way; Phili...
MITRE ATT&CKcon 2.0: Prioritizing ATT&CK Informed Defenses the CIS Way; Phili...
 
ATT&CKing the Red/Blue Divide
ATT&CKing the Red/Blue DivideATT&CKing the Red/Blue Divide
ATT&CKing the Red/Blue Divide
 
Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1
 
Pentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrowPentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrow
 
kill-chain-presentation-v3
kill-chain-presentation-v3kill-chain-presentation-v3
kill-chain-presentation-v3
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
 
DevSecOps - The big picture
DevSecOps - The big pictureDevSecOps - The big picture
DevSecOps - The big picture
 
Threat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement MatriceThreat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement Matrice
 
The ATT&CK Philharmonic
The ATT&CK PhilharmonicThe ATT&CK Philharmonic
The ATT&CK Philharmonic
 
The New Security Playbook: DevSecOps
The New Security Playbook: DevSecOpsThe New Security Playbook: DevSecOps
The New Security Playbook: DevSecOps
 
[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
 
Benefits of DevSecOps
Benefits of DevSecOpsBenefits of DevSecOps
Benefits of DevSecOps
 

Similar to "Threat Model Every Story": Practical Continuous Threat Modeling Work for Your Team

Threat-Modeling-as-Code: ThreatPlaybook AppSecUSA 2018 Presentation
Threat-Modeling-as-Code: ThreatPlaybook AppSecUSA 2018 PresentationThreat-Modeling-as-Code: ThreatPlaybook AppSecUSA 2018 Presentation
Threat-Modeling-as-Code: ThreatPlaybook AppSecUSA 2018 PresentationAbhay Bhargav
 
bsides NOVA 2017 So You Want to Be a Cyber Threat Analyst eh?
bsides NOVA 2017 So You Want to Be a Cyber Threat Analyst eh?bsides NOVA 2017 So You Want to Be a Cyber Threat Analyst eh?
bsides NOVA 2017 So You Want to Be a Cyber Threat Analyst eh?Anthony Melfi
 
High time to add machine learning to your information security stack
High time to add machine learning to your information security stackHigh time to add machine learning to your information security stack
High time to add machine learning to your information security stackMinhaz A V
 
Presentation infra and_datacentrre_dialogue_v2
Presentation infra and_datacentrre_dialogue_v2Presentation infra and_datacentrre_dialogue_v2
Presentation infra and_datacentrre_dialogue_v2Claus Cramon Houmann
 
BSides Vienna 2015
BSides Vienna 2015BSides Vienna 2015
BSides Vienna 2015Daniel Liber
 
ProdSec: A Technical Approach
ProdSec: A Technical ApproachProdSec: A Technical Approach
ProdSec: A Technical ApproachJeremy Brown
 
Making security champions in organization
Making security champions in organizationMaking security champions in organization
Making security champions in organizationkunwaratul hax0r
 
Value-driven threat modeling: Security by design - Avi Douglen - DevOpsDays T...
Value-driven threat modeling: Security by design - Avi Douglen - DevOpsDays T...Value-driven threat modeling: Security by design - Avi Douglen - DevOpsDays T...
Value-driven threat modeling: Security by design - Avi Douglen - DevOpsDays T...DevOpsDays Tel Aviv
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for TestingSQALab
 
Owasp tds
Owasp tdsOwasp tds
Owasp tdssnyff
 
Turning security into code by Jeff Williams
Turning security into code by Jeff WilliamsTurning security into code by Jeff Williams
Turning security into code by Jeff WilliamsDevSecCon
 
Application Security in an Agile World - Agile Singapore 2016
Application Security in an Agile World - Agile Singapore 2016Application Security in an Agile World - Agile Singapore 2016
Application Security in an Agile World - Agile Singapore 2016Stefan Streichsbier
 
DevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven WierckxDevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven WierckxDevSecCon
 
Threat modelling(system + enterprise)
Threat modelling(system + enterprise)Threat modelling(system + enterprise)
Threat modelling(system + enterprise)abhimanyubhogwan
 
Digital Transformation, Testing and Automation
Digital Transformation, Testing and AutomationDigital Transformation, Testing and Automation
Digital Transformation, Testing and AutomationTEST Huddle
 
Defending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricalityDefending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricalityClaus Cramon Houmann
 
Keynote Information Security days Luxembourg 2015
Keynote Information Security days Luxembourg 2015Keynote Information Security days Luxembourg 2015
Keynote Information Security days Luxembourg 2015Claus Cramon Houmann
 
Jason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional ToolsJason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional Toolscentralohioissa
 
Hacker vs Tools: Which to Choose?
Hacker vs Tools: Which to Choose?Hacker vs Tools: Which to Choose?
Hacker vs Tools: Which to Choose?Security Innovation
 

Similar to "Threat Model Every Story": Practical Continuous Threat Modeling Work for Your Team (20)

Threat-Modeling-as-Code: ThreatPlaybook AppSecUSA 2018 Presentation
Threat-Modeling-as-Code: ThreatPlaybook AppSecUSA 2018 PresentationThreat-Modeling-as-Code: ThreatPlaybook AppSecUSA 2018 Presentation
Threat-Modeling-as-Code: ThreatPlaybook AppSecUSA 2018 Presentation
 
bsides NOVA 2017 So You Want to Be a Cyber Threat Analyst eh?
bsides NOVA 2017 So You Want to Be a Cyber Threat Analyst eh?bsides NOVA 2017 So You Want to Be a Cyber Threat Analyst eh?
bsides NOVA 2017 So You Want to Be a Cyber Threat Analyst eh?
 
High time to add machine learning to your information security stack
High time to add machine learning to your information security stackHigh time to add machine learning to your information security stack
High time to add machine learning to your information security stack
 
Presentation infra and_datacentrre_dialogue_v2
Presentation infra and_datacentrre_dialogue_v2Presentation infra and_datacentrre_dialogue_v2
Presentation infra and_datacentrre_dialogue_v2
 
BSides Vienna 2015
BSides Vienna 2015BSides Vienna 2015
BSides Vienna 2015
 
ProdSec: A Technical Approach
ProdSec: A Technical ApproachProdSec: A Technical Approach
ProdSec: A Technical Approach
 
Making security champions in organization
Making security champions in organizationMaking security champions in organization
Making security champions in organization
 
Value-driven threat modeling: Security by design - Avi Douglen - DevOpsDays T...
Value-driven threat modeling: Security by design - Avi Douglen - DevOpsDays T...Value-driven threat modeling: Security by design - Avi Douglen - DevOpsDays T...
Value-driven threat modeling: Security by design - Avi Douglen - DevOpsDays T...
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for Testing
 
Owasp tds
Owasp tdsOwasp tds
Owasp tds
 
Turning security into code by Jeff Williams
Turning security into code by Jeff WilliamsTurning security into code by Jeff Williams
Turning security into code by Jeff Williams
 
Application Security in an Agile World - Agile Singapore 2016
Application Security in an Agile World - Agile Singapore 2016Application Security in an Agile World - Agile Singapore 2016
Application Security in an Agile World - Agile Singapore 2016
 
DevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven WierckxDevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
 
Threat modelling(system + enterprise)
Threat modelling(system + enterprise)Threat modelling(system + enterprise)
Threat modelling(system + enterprise)
 
Digital Transformation, Testing and Automation
Digital Transformation, Testing and AutomationDigital Transformation, Testing and Automation
Digital Transformation, Testing and Automation
 
Defending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricalityDefending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricality
 
Keynote Information Security days Luxembourg 2015
Keynote Information Security days Luxembourg 2015Keynote Information Security days Luxembourg 2015
Keynote Information Security days Luxembourg 2015
 
Jason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional ToolsJason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional Tools
 
Hacker vs tools
Hacker vs toolsHacker vs tools
Hacker vs tools
 
Hacker vs Tools: Which to Choose?
Hacker vs Tools: Which to Choose?Hacker vs Tools: Which to Choose?
Hacker vs Tools: Which to Choose?
 

Recently uploaded

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 

Recently uploaded (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 

"Threat Model Every Story": Practical Continuous Threat Modeling Work for Your Team

  • 1. Threat Model Every Story: Practical Continuous Threat Modeling Work for Your Team or ”What Do You Mean Threat Model EVERY Story Who Has That Kind of Time Go Away and Take Your Threat Model With you!?!”
  • 2. The Bureau of Statistics informs: No surveys were harmed in the making of this talk. All data is purely anecdotal and open to subjective interpretation based on the reader’s experience.
  • 3. • Lead Security Architect at Autodesk Inc., focusing on application security • SAFECode collaborator, IEEE Center For Security Design collaborator • Curious argumentative all-around kvetcher Who am I?
  • 4. • Show of hands – You threat model every day – You want to add threat modeling to your practice – You do research work on Threat Modeling – You are in the wrong room and too shy to leave after three slides into the presentation Who are you?
  • 5. • Level setting – threat modeling, what and why? • My personal threat modeling journey • Challenges encountered in this unfinished journey • How I am trying to solve that – Continuous Threat Modeling – How can you use it? – Tools – References What are we doing here today?
  • 6. • A conceptual exercise that aims to identify security- related flaws in the design of a system and identify modifications or activities that will mitigate those flaws. • Formally, it can be “A technique to identify the attacks a system must resist and the defenses that will bring the system to a desired state” (Brook Schoenfield) • Four Fundamental Questions (Adam Shostack) – What are we working on? – What can go wrong? – What are we going to do about it? – Did we do a good job? Threat Modeling – what & why
  • 7. A Threat Modeling (ongoing) personal journey Role TM Methodology developer Discuss the latest published exploits. Wonder aloud if they apply to my code. developer STRIDE developer/ architect STRIDE/element security consultant Threat Library security consultant A frank conversation about the system and what it wants to be (“SME-led”) security consultant TM “spikes”
  • 8. But what was I looking for? • Accessible: can a product team do it independently after a brief period of instruction? Can they keep doing it? • Scalable: can the same thing be done over many teams and products? In a short time? • Educational: can it teach instead of correct? • Useful: are the results found useful for both product and security? • Agile: is it repeatable, does it negatively impact the product team’s velocity? • Representative: how does the system being modeled compare with the model? • Unconstrained: once the “known suspects” are evaluated, is the team led to explore further?
  • 9. Did those methods reach the goals?
  • 10. The Case For Continuous TM
  • 11. Threat Model Every Story • build a baseline - involving everyone. Use whatever technique works for your team. At Autodesk we are currently focusing on a “subject based” list of points of interest • designate one or more “threat model curators” who will be responsible for maintaining the canonical threat model document and the findings queue • instruct your developers to evaluate each one of their stories with focus on security: – if the story has no “security value”, continue as usual – if the story generates a security “notable event”, either fix it (and document as a mitigated finding) or pop it up as a “threat model candidate finding” for the curator to take notice of (at Autodesk we are doing this using labels on JIRA tickets) • make sure your curators are on top of the finding and candidate finding queues
  • 12. But…how do my developers know what has “security value”? Subject areas Question and then continue questioning during “official design time” or when building a baseline Checklist Verify that the principles have been followed at implementation time
  • 15. Threat Model Every Story • build a baseline - involving everyone. Use whatever technique works for your team. At Autodesk we are currently focusing on a “subject based” list of points of interest • designate one or more “threat model curators” who will be responsible for maintaining the canonical threat model document and the findings queue • instruct your developers to evaluate each one of their stories with focus on security: – if the story has no “security value”, continue as usual – if the story generates a security “notable event”, either fix it (and document as a mitigated finding) or pop it up as a “threat model candidate finding” for the curator to take notice of (at Autodesk we are doing this using labels on JIRA tickets) • make sure your curators are on top of the finding and candidate finding queues
  • 17. • “Uh...what?” • “This is still too heavy” • “But how do I know I did everything?” • “I never saw a room of architects excited about threat modeling before” Reactions from product teams
  • 18. Caveat Emptor: This Is Not Perfect • Difficult to convince teams that the Subject List is not a threat library and developers that the Checklist is not a requirements list – not exhaustive, just a starting point • The resulting TM won’t be perfect – evolutionary • A SME or security group is still necessary for education • GIGO – garbage-in, garbage-out
  • 19. So…about that automation thing. • What are the parts of Threat Modeling we can most easily automate? – Diagraming - cross-platform, over the network, simple and quick yet representative – Reporting - having a standard and keeping to it; information passing – Threat ranking - CVSS or some other agreed ranking system – Low-hanging fruit - threats that can be immediately derived from a formal description of the system should emerge • Tooling should help discuss the system, keep the model as close as possible to the reality of the system, disseminate information, and not hinder collaboration:
  • 20. What is available today? • There are many threat modeling tools; some are platform- dependent, like the MS Tool, others are web-based • Some start the process with a questionnaire along the lines of “what do you want to build” and generate a list of requirements that the developers must follow • Others get a description of the system and generate threats based on characteristics of the design • But … developers write code; why not have them feed the threat model with something that looks like code? • “TM-as-code” is in the same place “DevOps” was a couple of years ago. There is talk of, people want to do it, but the definition of what it actually means is murky
  • 21. Three current practical approaches ThreatSpec Fraser Scott @zeroXten Threat modeling IN code ThreatPlaybook Abhay Bhargav @abhaybargav Threat modeling FROM code PyTM Threat modeling WITH code
  • 22. PyTM – A Pythonic way of TM’ing Matt Coles, @coles_matthewj Nick Ozmore, @nozmore Rohit Shambhuni, @rshambho Izar Tarandach, @izar_t
  • 23. PyTM – Creating a Threat Model
  • 24. PyTM – Elements and Attributes
  • 26. PyTM – Sequence Diagrams
  • 27. PyTM – Listing threats
  • 28. PyTM – Report template
  • 30. PyTM – how is it being used? • during team meetings to create the initial diagram • in discussions with the product team - “it is missing this attribute”, “why is this a threat”, “what if?” • keep threat models in revision control, together with the code they describe and generate automated, standard threat model reports
  • 31. PyTM – invitation to collaborate • More threats • More elements • Documentation • A better rule engine • Integration with other tools • Suggestions, bug fixes, requirements, sample use cases • Discussion!
  • 32. Thank you! • Questions ? • Don’t forget to leave feedback!
  • 33. References • OWASP Threat Modeling Slack Channel – https://owasp.slack.com #threat-modeling • OWASP Application Threat Modeling - https://www.owasp.org/index.php/Application_Threat_Modeling • SAFECode “Tactical Threat Modeling” - https://safecode.org/wp-content/uploads/2017/05/SAFECode_TM_Whitepaper.pdf • ThreatSpec - https://threatspec.org/ • ThreatPlaybook -https://we45.gitbook.io/threatplaybook/ • PyTM - https://github.com/izar/pytm

Editor's Notes

  1. Running for 8 or so months. Results are promising but not enough empirical data yet. not saying one thing is better than another just offering the justification and the initial findings of the experiment
  2. 8 years at EMC IBM start-up game consulting work
  3. calibrate comments - need to know who you are
  4. just a brief agenda
  5. Ideally, traditionally performed at the design stage. The objective is to generate findings, but may serve as a framework for other stages of the secure software development cycle. Widely agreed to be an activity with high returns on investment: flaw correction, learning and documentation are immediate products, with training, testing and of course development also impacted. The four questions start with understanding, then wondering, then inventing, then measuring.
  6. As a developer I was all about the results. I just wanted to know which holes I had to plug. As an architect, I focused on coverage. Every single aspect of the system had to be considered to exhaustion, lest something fall between the lines. As a security consultant, it all became about scalability and being able to help the product team as much as possible, hopefully at some point growing security champions and architects that would take over the consulting. It was also about adapting to the rhythm of the team.
  7. The issue with STRIDE and STRIDE/element is that they need someone who knows how things can be broken in order to figure out what is potentially possible as a flaw, or they need the use of attack trees that add complexity and weight to the process. As a learning tool they have their value since they lead to discussion of those findings, but they still depend on having someone, a SME, to do that teaching. They are not constrained, but at the same time a lack of structure may leave areas unresolved or unexamined.  They don’t scale well due to the time needed, the knowledge needed, the need for a SME. The threat library is an improvement on needing a SME, as the team looks at issues that have historically been a problem. On the other side, that tends to constrain the team to only those issues, as they look to discharge themselves of the requirement of a threat model, and the exercise becomes a compliance checklist rather than an examination. The issues are very descriptive and lead to over-focus. It scales better than STRIDE, but still needs the SME to explore beyond the library. Having a tailored conversation on each product amounts to a SME-led threat model. It will surely generate the most correct findings, but at the same time it will not scale at all, it will not teach much to the product team, but in small shops it may be the easiest and best way to go The idea of continuously improving a threat model is not new - it has been pushed, for example, by Microsoft for a long time - but it was in a vague sense, that “a threat model should be updated in every sprint” without giving a practical way to do so that didn’t fall foul of the other issues. It assumes that all the resources needed for a “threat modeling spike” are in place and willing to do what’s needed, and that the process is easily reduced to the scope of a sprint.
  8. The saying that “threat modeling happens at the design stage” used to be fine when we were waterfalling, since you could threat model until you had an acceptable design that would then be implemented. Nowadays with agile methods and emergent designs we don’t have that luxury anymore. Seymour Cray - The problem with programmers is that you can never tell what a programmer is doing until it is too late.
  9. to the meat of the thing.
  10. Richard Feynman: Do your own homework. To truly use first principles, don’t rely on experts or previous work. Approach new problems with the mindset of a novice. Truly understand the fundamental data, assumptions and reasoning yourself. Be curious. This is where the education angle comes in. We are training our developers wrong. We are providing huge amounts of information that do not correspond to huge amounts of useability. We are doing the busywork of teaching people how the RSA algorithm works without focusing on the aspects of choosing the right key length, algorithm and secret protection scheme that their system needs. In order to create sensitivity to what “security notable events” are, we at Autodesk are experimenting with providing developers with a checklist that they use as part of the definition of done of their stories.
  11. The subject areas are more important than the sample questions.
  12. This checklist follows a “if this then that” model - the developer only needs to relate to those items that are relevant to the work at hand The language on the “if” side is developer language. There is no need to decipher what the security team intends in order to figure out if something is relevant or not The checklist is limited in length - one double sided printed page should be the limit so ideally it can be printed and kept at hand The “then that” side is not prescriptive. It pushes the developer to search for the information that relates to whatever environment or framework they are using. This is for three reasons - to keep the list short, to make it somewhat open-ended, and to tickle the curiosity innate to most developers. Pointers are given but not “absolute solutions” The checklist is backed by documentation and live support by the security team It is made clear to the developer - once you don’t need the list anymore, throw it away. The list focuses on teaching fundamentals, not formulas.
  13. If we look at the threat modeling spike in detail what we see is that at the end of the sprint, the same process used to generate the baseline threat model should be again used to update it. The mitigator is that this time only those things that changed will need to be revisited. That is well and fine, but it still doesn’t answer the basic questions: who is responsible for doing the update? the whole team? the owner of the tm who will provide guidance? is a SME available? when will the findings be fixed? is a finding enough to hold back a story? are they automatically addressed in the next sprint?
  14. Tm-IN-code – threat modeling happens as code is written and mixes with the code, encapsulates the problem with the solution Tm-from-code - deriving previously identified threats from other tools, validating or discovering threats present in code and providing a proper language to talk about these threats Tm-with-code - we use code to express the system to be modeled and derive information about it