SlideShare una empresa de Scribd logo
1 de 33
SPEED THE RIGHT WAY:
DESIGN AND SECURITY IN AGILE
KEVIN GILPIN, CTO
@kegilpin
InfoQ.com: News & Community Site
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
security-design-review/
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon London
www.qconlondon.com
SPEEDING THE RIGHT WAY
2
WHO AM I?
• Recently CTO, Conjur / CyberArk Fellow
• 20+ Years of Enterprise Software Engineering in
healthcare, automotive, logistics, data science.
• Pioneer in DevOps, Cloud, and Containers
• MS Aerospace Engineering MIT
• Aviation enthusiast!
3
“BLAME THE PROGRAMMER”
4
AGENDA
• Discussion of breach examples
• How to review designs for security
• How to modernize design reviews
5
COMPLEX SYSTEMS FAIL
IN COMPLEX WAYS
6
Attackers carried out their attack with a series of steps that
let them hop, skip and jump their way into generating
access tokens for millions of Facebook users.
SPEEDING THE WRONG WAY:
FACEBOOK “VIEW AS”
7
SPEEDING THE WRONG WAY:
FACEBOOK “VIEW AS”
“control who can
see what you share”
8
SPEEDING THE WRONG WAY:
FACEBOOK “VIEW AS”
9
SUMMARY OF DESIGN FLAWS IN
“FACEBOOK VIEW AS”
PROBLEM EXAMPLE IMPACT
Over-privileged
service
“Video upload” service able to obtain
a token for any user
“Video upload” service able
to leak a token for the
wrong user into the browser
Execution of untrusted
code
“View as” did not whitelist the UI
components which were trusted to
operate correctly
“Video upload” widget
was improperly loaded and
executed in the UI
Lack of a secure
sandbox
“View as” rendered untrusted code
directly into the user’s browser
Flaw in “Video upload” was
exposed directly to the user rather
than contained in a sandbox
10
The “Swiss Cheese” model
Image: https://en.wikipedia.org/wiki/Swiss_cheese_model
… “likens human systems to multiple
slices of swiss cheese, stacked side
by side, in which the risk of a threat
becoming a reality is mitigated by the
differing layers and types of defences
which are "layered" behind each
other”
11
UK NHS BREACH “TYPE 2 OPT-OUT”
Point of care system
didn’t send the “Opt-Out”
election to the NHS
So the NHS used all the
patient data for 700,000
people against their wishes
12
CASE STUDY
“TYPE 2 OPT-OUT” NHS BREACH
13
SUMMARY OF DESIGN FLAWS IN
“TYPE 2 OPT-OUT”
PROBLEM EXAMPLE IMPACT
Default allow Data access allowed unless denied
Failure to propagate the opt-out
election resulted in leaked data
Expiration No time limit on opt-out election
Impact of the bug extended
for an unlimited time
Lack of user
notification
User not informed about how
their data was being used
Failure to propagate the
opt-out election was not
reported by the users
14
BACK TO THE DRAWING BOARD
15
HOW WE COMMUNICATE:
WHITEBOARDS
Image: http://agilemodeling.com/artifacts/freeForm.htm
16
HOW WE COMMUNICATE:
CHAT
Image: https://www.thesprintbook.com/slack
17
Image: https://confluence.atlassian.com/doc/blog/2015/08/how-to-document-product-requirements-in-confluence
HOW WE COMMUNICATE:
WIKI
18
HOW WE COMMUNICATE:
PULL REQUESTS
19
THE COGNITIVE ARTIFACT –
A FOCAL POINT FOR DISCUSSION
OAUTH2 PROTOCOL FLOW
Source:
https://www.onwebsecurity.com
20
PROPERTIES OF A GOOD COGNITIVE
ARTIFACT
21
• Big enough and expressive enough for the design
problem
• Built on a collaborative platform
• Lives close to the code
• The quality of the artifact becomes the quality of the
product
SIMPLE FORMULA FOR A DESIGN DOCUMENT
1. Overview
2. Diagram(s)
3. Design
discussion
4. API specification
5. Q&A
22
● You’ll get feedback here
● Use RFCs as much as
possible
VISUALIZING “AS DESIGNED”
VERSUS “AS BUILT”
• Design changes made during
coding must be reflected back to
the design artifacts
• Otherwise design artifacts get out
of date
23
GET MORE EYES ON
THE PROBLEM
24
WIDEN THE CIRCLE TO
MAKE DESIGN MORE ACCESSIBLE
• A variety of people can add unique and
valuable perspectives to the design
review.
• To make design reviews more
effective, make it clear to reviewers
what’s being asked of them.
25
ELEMENTS OF A DESIGN REVIEW
• Transforms individual risk into a shared responsibility.
• Like a pull request. Agile, but less technical.
• Performed upstream of the coding, and in parallel with
prototyping.
• Importance and frequency of review is according to the risk.
• Microservice boundaries can be a helpful way to “tag” the
code which needs extra design review attention.
Traditional test cases can verify that the code functions properly
26
DESIGN REVIEW:
WHO AND HOW MUCH?
27
KEY TAKEAWAYS
• Security design flaws are not bugs… and flaws will be complex
• Invest in the right visual artifacts to get more eyes on the design
• Update the design artifact to accurately reflect “as built”
• Clearly indicate in code, READMEs, etc where a visitor can find the security
design used in each project.
• For brand new designs, expect to invest heavily in design artifacts and
design reviews in order to lower the risk
28
29
DESIGN, A NOBLE PROFESSION
I took this photo-of-a-
photo Sunday (March
3, 2019) at the RAF
museum in Hanger 2
(World War I).
THANK YOU
@kegilpin
https://www.linkedin.com/in/kegilpin/
Further Reading
“Always Another Dawn” by Albert Scott Crossfield
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
security-design-review/

Más contenido relacionado

Más de C4Media

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsC4Media
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechC4Media
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/awaitC4Media
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaC4Media
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayC4Media
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?C4Media
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseC4Media
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinC4Media
 

Más de C4Media (20)

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven Utopia
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL Database
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with Brooklin
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Speed the Right Way: Design and Security in Agile

  • 1. SPEED THE RIGHT WAY: DESIGN AND SECURITY IN AGILE KEVIN GILPIN, CTO @kegilpin
  • 2. InfoQ.com: News & Community Site Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ security-design-review/ • Over 1,000,000 software developers, architects and CTOs read the site world- wide every month • 250,000 senior developers subscribe to our weekly newsletter • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • 2 dedicated podcast channels: The InfoQ Podcast, with a focus on Architecture and The Engineering Culture Podcast, with a focus on building • 96 deep dives on innovative topics packed as downloadable emags and minibooks • Over 40 new content items per week
  • 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon London www.qconlondon.com
  • 5. WHO AM I? • Recently CTO, Conjur / CyberArk Fellow • 20+ Years of Enterprise Software Engineering in healthcare, automotive, logistics, data science. • Pioneer in DevOps, Cloud, and Containers • MS Aerospace Engineering MIT • Aviation enthusiast! 3
  • 7. AGENDA • Discussion of breach examples • How to review designs for security • How to modernize design reviews 5
  • 8. COMPLEX SYSTEMS FAIL IN COMPLEX WAYS 6
  • 9. Attackers carried out their attack with a series of steps that let them hop, skip and jump their way into generating access tokens for millions of Facebook users. SPEEDING THE WRONG WAY: FACEBOOK “VIEW AS” 7
  • 10. SPEEDING THE WRONG WAY: FACEBOOK “VIEW AS” “control who can see what you share” 8
  • 11. SPEEDING THE WRONG WAY: FACEBOOK “VIEW AS” 9
  • 12. SUMMARY OF DESIGN FLAWS IN “FACEBOOK VIEW AS” PROBLEM EXAMPLE IMPACT Over-privileged service “Video upload” service able to obtain a token for any user “Video upload” service able to leak a token for the wrong user into the browser Execution of untrusted code “View as” did not whitelist the UI components which were trusted to operate correctly “Video upload” widget was improperly loaded and executed in the UI Lack of a secure sandbox “View as” rendered untrusted code directly into the user’s browser Flaw in “Video upload” was exposed directly to the user rather than contained in a sandbox 10
  • 13. The “Swiss Cheese” model Image: https://en.wikipedia.org/wiki/Swiss_cheese_model … “likens human systems to multiple slices of swiss cheese, stacked side by side, in which the risk of a threat becoming a reality is mitigated by the differing layers and types of defences which are "layered" behind each other” 11
  • 14. UK NHS BREACH “TYPE 2 OPT-OUT” Point of care system didn’t send the “Opt-Out” election to the NHS So the NHS used all the patient data for 700,000 people against their wishes 12
  • 15. CASE STUDY “TYPE 2 OPT-OUT” NHS BREACH 13
  • 16. SUMMARY OF DESIGN FLAWS IN “TYPE 2 OPT-OUT” PROBLEM EXAMPLE IMPACT Default allow Data access allowed unless denied Failure to propagate the opt-out election resulted in leaked data Expiration No time limit on opt-out election Impact of the bug extended for an unlimited time Lack of user notification User not informed about how their data was being used Failure to propagate the opt-out election was not reported by the users 14
  • 17. BACK TO THE DRAWING BOARD 15
  • 18. HOW WE COMMUNICATE: WHITEBOARDS Image: http://agilemodeling.com/artifacts/freeForm.htm 16
  • 19. HOW WE COMMUNICATE: CHAT Image: https://www.thesprintbook.com/slack 17
  • 22. THE COGNITIVE ARTIFACT – A FOCAL POINT FOR DISCUSSION OAUTH2 PROTOCOL FLOW Source: https://www.onwebsecurity.com 20
  • 23. PROPERTIES OF A GOOD COGNITIVE ARTIFACT 21 • Big enough and expressive enough for the design problem • Built on a collaborative platform • Lives close to the code • The quality of the artifact becomes the quality of the product
  • 24. SIMPLE FORMULA FOR A DESIGN DOCUMENT 1. Overview 2. Diagram(s) 3. Design discussion 4. API specification 5. Q&A 22 ● You’ll get feedback here ● Use RFCs as much as possible
  • 25. VISUALIZING “AS DESIGNED” VERSUS “AS BUILT” • Design changes made during coding must be reflected back to the design artifacts • Otherwise design artifacts get out of date 23
  • 26. GET MORE EYES ON THE PROBLEM 24
  • 27. WIDEN THE CIRCLE TO MAKE DESIGN MORE ACCESSIBLE • A variety of people can add unique and valuable perspectives to the design review. • To make design reviews more effective, make it clear to reviewers what’s being asked of them. 25
  • 28. ELEMENTS OF A DESIGN REVIEW • Transforms individual risk into a shared responsibility. • Like a pull request. Agile, but less technical. • Performed upstream of the coding, and in parallel with prototyping. • Importance and frequency of review is according to the risk. • Microservice boundaries can be a helpful way to “tag” the code which needs extra design review attention. Traditional test cases can verify that the code functions properly 26
  • 29. DESIGN REVIEW: WHO AND HOW MUCH? 27
  • 30. KEY TAKEAWAYS • Security design flaws are not bugs… and flaws will be complex • Invest in the right visual artifacts to get more eyes on the design • Update the design artifact to accurately reflect “as built” • Clearly indicate in code, READMEs, etc where a visitor can find the security design used in each project. • For brand new designs, expect to invest heavily in design artifacts and design reviews in order to lower the risk 28
  • 31. 29 DESIGN, A NOBLE PROFESSION I took this photo-of-a- photo Sunday (March 3, 2019) at the RAF museum in Hanger 2 (World War I).
  • 33. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ security-design-review/