If ci/cd teams have time for security, so do you

If CI/CD have time for
security, so do you
Software development is speeding up; Waterfall to Agile to Continuous
Integration to Continuous Deployment. Do we still have time for security?
Who’s afraid of CI/CD?
• I hear from clients that they don’t have time for security because
they’re using Agile or CI/CD
• Is CI more hostile to security?
• If so, where does security fit?
Tenants of CI/CD
• Fast - Make automation, builds, setups, deploys, fast and automated
• Early - Do experiments, enable A/B testing, reduce sunk costs
• Often - Build and test all the time
• Responsive - Be reactive to your customers, know your changes won’t break the
app
This is not new!
Originally discussed in Grady Booch’s book
“Object Oriented Design” in 1991 pg. 209
CI/CD in a nutshell
• From Thoughtworks (http://www.thoughtworks.com/continuous-integration)
• Check in frequently
• Don’t check in broken code
• Don’t check in untested code
• Don’t check in when the build is broken
• Don’t go home after checking in until the system builds
Detect errors quickly
• Make changes all the time
• Build and run your tests quickly
• Trust your tests and know you didn’t break anything critical
• (You do have tests for everything critical, right?)
• Integrate quickly and often so you know where things break, when
you break them!
MartinFowler.com/bliki/FeatureBranch.html
Where does security fit?
• Fast - Make automation, builds, setups, deploys, fast and
automated
• Make security fast, automate, match security
testing to time available
• Early - Do experiments, enable A/B testing, reduce sunk
costs
• Get security into epics, stories, Threat Model, use
Training
• Often - Build and test all the time
• Don’t let security issues through, this breaks the build
• Responsive - Be reactive to your customers, know your changes won’t break the app
• Respond to security issues from your customers and team
Fast
• Security can’t hold back integration (deploys, testing, etc.)
• Match security assessments to time available
• Static Analysis on dev’s machines, during commit and integration
• Automated scanning on integration and test deployment
• Manual Penetration testing on major changes or periodically
(monthly, quarterly)
• Ask users about security
• Get security into stories, epics, requirements, use cases & misuse
cases
• Perform Threat Modeling and Threat Exercises so the team
understands attack surface and assets
• Train the team so they can participate in meaningful security
discussions
Early
Early - Threat Modeling
• Can help prioritize what to focus on and what to protect
• Helps ask the right questions
• Get everybody on the same page
• Align and prioritize assets and components
• Enumerates roles and attackers
Often
• In CI/CD “everything happens all the time” so too must security
• Don’t break the build
• Add security automation at every layer to help identify breaking builds
• Don’t introduce new security vulnerabilities!
• Trust the tools and training
• For God’s sake don’t introduce vulnerabilities that have been previously
fixed/reported
• Write regression tests for each issue that you can
Responsive
• Respond to security threats quickly
• Understand what an attack looks like and plug
the hole quickly
• Disclosure!
Listen to and respond to security researcher keep
them in the loop and fix the issue fast
more info at:
http://blog.securityinnovation.com/blog/2014/06/the-importance-of-vulnerability-disclosure-programs-and-bug-bounties.html
Frustratingly Fast and Responsive
• We deliver vulnerability information as we find it
• With one client using CI/CD we were getting fixes for our issues in
sub 1hr time
• They were also pushing out new features, and other bug fixes
• Screenshots on vulns as well as repro steps and videos were
paramount
If ci/cd teams have time for security, so do you
If ci/cd teams have time for security, so do you
Architect for security
• To go fast, it must be habit
• Centralize security components
• Reduce the likelihood of side effects
when changing code
• Increases confidence in fix
• Decreases downtime due to bugs and integration
• Fix an issue once, don’t see it again
Good initial candidates
• Some components to be centralized
• Input validation
• Authentication/authorization
• Data access (SQL and non-sql)
• Encoding
• Encryption
• Key Business Logic
• Code Complete (2nd Edition) still holds up amazingly well
http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670
Automation
• You must know what you’re doing won’t break your build or
deployment
• Automation is key - if it can be automated, it should be
• Build Fast (near real-time) static analysis on dev’s machines to
help identify basic issues early
• SQLi detection (string concatenation)
• XSS detection (failure to encode on output)
• Command injection (concatenation/dangerous functions)
• Remote Code Execution (dangerous functions, known insecure libraries)
What does Security Testing look like?
• If you have the tools use automated testing (web app scanner)
as frequently as it will allow
• Scan at least monthly, weekly is better, daily is better still
• Pay attention to your results, consider them breaking the
build
• Tune your automation to reduce all false positives
• Do a rapid (manual) assessment frequently (monthly/quarterly), document new code and
focus testing on new components
• Do a deep (manual) assessment when appropriately (quarterly/annually), this will test
everything
What Does Work in Agile
• Allows you to react quickly to security vulnerabilities
• Tighten the feedback loop between you and your users
• React to vulnerabilities in your software and 3rd party software
• Quickly cut out vulnerable systems if necessary
• Have confidence in your solutions (with automated testing in place)
What Doesn't
• Cowboy coders with a license to check in and deploy
• Mistakes happen, checks aren’t always performed
• Code may be deployed for weeks or
months before a deep analysis is
performed
• Gives the Audit teams heart attacks
"Debugging is twice as hard as writing the code in the
first place. Therefore, if you write the code as cleverly
as possible, you are, by definition, not smart enough to
debug it." --Brian Kernighan
Story Time!
• One client checked in debug code which disabled CC# filtering
• Was discovered when a customer reported they could see their entire CC# instead of **** ****
**** 1234
• Fixed quickly, hours after discovery
• A test case was added to their suite and the issue hasn’t arisen again
• However! The numbers were stored in logs
• Luckily the developer who was at fault remembered this and the logs were flushed
• Another test case was added to check for this
Conclusions
• There is always time for security
• You can match your security tasks to the time you have available
• Trusting your developers to “do the right thing” isn’t as scary as you
might think
• Amazingly people react well when you trust them!
Contact me!
Kevin Poniatowski
Senior Security Instructor
Security Innovation
kponiatowski@securityinnovation.com
https://securityinnovation.com
1 of 23

Recommended

아침 2분 숨쉬기 다이어트 by
아침 2분 숨쉬기 다이어트아침 2분 숨쉬기 다이어트
아침 2분 숨쉬기 다이어트hjy2901
1.4K views20 slides
아침 2분 숨쉬기 다이어트 by
아침 2분 숨쉬기 다이어트아침 2분 숨쉬기 다이어트
아침 2분 숨쉬기 다이어트hwangjoy
2.3K views20 slides
정부 3.0 공공(빅)데이터 플랫폼거버넌스(5 sep2015)1시간 by
정부 3.0 공공(빅)데이터 플랫폼거버넌스(5 sep2015)1시간정부 3.0 공공(빅)데이터 플랫폼거버넌스(5 sep2015)1시간
정부 3.0 공공(빅)데이터 플랫폼거버넌스(5 sep2015)1시간Han Woo PARK
1.1K views71 slides
2008안지숙 집단음악치료활동 결손가정 아동 자아존중감 및 사회성 향상 영향 by
2008안지숙 집단음악치료활동 결손가정 아동 자아존중감 및 사회성 향상 영향2008안지숙 집단음악치료활동 결손가정 아동 자아존중감 및 사회성 향상 영향
2008안지숙 집단음악치료활동 결손가정 아동 자아존중감 및 사회성 향상 영향혜원 정
4.3K views51 slides
redesign YOU - Design Thinking Yourself by
redesign YOU - Design Thinking Yourselfredesign YOU - Design Thinking Yourself
redesign YOU - Design Thinking YourselfJochen Guertler
15.9K views31 slides
Opportunities and Challenges of Large-scale IoT Data Analytics by
Opportunities and Challenges of Large-scale IoT Data AnalyticsOpportunities and Challenges of Large-scale IoT Data Analytics
Opportunities and Challenges of Large-scale IoT Data AnalyticsPayamBarnaghi
2.4K views45 slides

More Related Content

Recently uploaded

ShortStory_qlora.pptx by
ShortStory_qlora.pptxShortStory_qlora.pptx
ShortStory_qlora.pptxpranathikrishna22
5 views10 slides
MS PowerPoint.pptx by
MS PowerPoint.pptxMS PowerPoint.pptx
MS PowerPoint.pptxLitty Sylus
5 views14 slides
Myths and Facts About Hospice Care: Busting Common Misconceptions by
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common MisconceptionsCare Coordinations
6 views1 slide
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Marc Müller
42 views83 slides
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...NimaTorabi2
15 views17 slides
Bootstrapping vs Venture Capital.pptx by
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptxZeljko Svedic
12 views17 slides

Recently uploaded(20)

Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller42 views
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi215 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic12 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8712 views
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri890 views
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254556 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary23 views
Airline Booking Software by SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta6 views
Top-5-production-devconMunich-2023.pptx by Tier1 app
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptx
Tier1 app8 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app7 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492138 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm15 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik8 views

Featured

ChatGPT and the Future of Work - Clark Boyd by
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
25.3K views69 slides
Getting into the tech field. what next by
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
6K views22 slides
Google's Just Not That Into You: Understanding Core Updates & Search Intent by
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
6.5K views99 slides
How to have difficult conversations by
How to have difficult conversations How to have difficult conversations
How to have difficult conversations Rajiv Jayarajah, MAppComm, ACC
5.2K views19 slides
Introduction to Data Science by
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data ScienceChristy Abraham Joy
82.4K views51 slides
Time Management & Productivity - Best Practices by
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
169.7K views42 slides

Featured(20)

ChatGPT and the Future of Work - Clark Boyd by Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd25.3K views
Getting into the tech field. what next by Tessa Mero
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero6K views
Google's Just Not That Into You: Understanding Core Updates & Search Intent by Lily Ray
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray6.5K views
Time Management & Productivity - Best Practices by Vit Horky
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky169.7K views
The six step guide to practical project management by MindGenius
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius36.6K views
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright... by RachelPearson36
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson3612.7K views
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present... by Applitools
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools55.5K views
12 Ways to Increase Your Influence at Work by GetSmarter
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter401.7K views
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G... by DevGAMM Conference
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference3.6K views
Barbie - Brand Strategy Presentation by Erica Santiago
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago25.1K views
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well by Saba Software
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software25.2K views
Introduction to C Programming Language by Simplilearn
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn8.4K views
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr... by Palo Alto Software
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
Palo Alto Software88.4K views
9 Tips for a Work-free Vacation by Weekdone.com
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation
Weekdone.com7.2K views
How to Map Your Future by SlideShop.com
How to Map Your FutureHow to Map Your Future
How to Map Your Future
SlideShop.com275.1K views

If ci/cd teams have time for security, so do you

  • 1. If CI/CD have time for security, so do you Software development is speeding up; Waterfall to Agile to Continuous Integration to Continuous Deployment. Do we still have time for security?
  • 2. Who’s afraid of CI/CD? • I hear from clients that they don’t have time for security because they’re using Agile or CI/CD • Is CI more hostile to security? • If so, where does security fit?
  • 3. Tenants of CI/CD • Fast - Make automation, builds, setups, deploys, fast and automated • Early - Do experiments, enable A/B testing, reduce sunk costs • Often - Build and test all the time • Responsive - Be reactive to your customers, know your changes won’t break the app This is not new! Originally discussed in Grady Booch’s book “Object Oriented Design” in 1991 pg. 209
  • 4. CI/CD in a nutshell • From Thoughtworks (http://www.thoughtworks.com/continuous-integration) • Check in frequently • Don’t check in broken code • Don’t check in untested code • Don’t check in when the build is broken • Don’t go home after checking in until the system builds
  • 5. Detect errors quickly • Make changes all the time • Build and run your tests quickly • Trust your tests and know you didn’t break anything critical • (You do have tests for everything critical, right?) • Integrate quickly and often so you know where things break, when you break them! MartinFowler.com/bliki/FeatureBranch.html
  • 6. Where does security fit? • Fast - Make automation, builds, setups, deploys, fast and automated • Make security fast, automate, match security testing to time available • Early - Do experiments, enable A/B testing, reduce sunk costs • Get security into epics, stories, Threat Model, use Training • Often - Build and test all the time • Don’t let security issues through, this breaks the build • Responsive - Be reactive to your customers, know your changes won’t break the app • Respond to security issues from your customers and team
  • 7. Fast • Security can’t hold back integration (deploys, testing, etc.) • Match security assessments to time available • Static Analysis on dev’s machines, during commit and integration • Automated scanning on integration and test deployment • Manual Penetration testing on major changes or periodically (monthly, quarterly)
  • 8. • Ask users about security • Get security into stories, epics, requirements, use cases & misuse cases • Perform Threat Modeling and Threat Exercises so the team understands attack surface and assets • Train the team so they can participate in meaningful security discussions Early
  • 9. Early - Threat Modeling • Can help prioritize what to focus on and what to protect • Helps ask the right questions • Get everybody on the same page • Align and prioritize assets and components • Enumerates roles and attackers
  • 10. Often • In CI/CD “everything happens all the time” so too must security • Don’t break the build • Add security automation at every layer to help identify breaking builds • Don’t introduce new security vulnerabilities! • Trust the tools and training • For God’s sake don’t introduce vulnerabilities that have been previously fixed/reported • Write regression tests for each issue that you can
  • 11. Responsive • Respond to security threats quickly • Understand what an attack looks like and plug the hole quickly • Disclosure! Listen to and respond to security researcher keep them in the loop and fix the issue fast more info at: http://blog.securityinnovation.com/blog/2014/06/the-importance-of-vulnerability-disclosure-programs-and-bug-bounties.html
  • 12. Frustratingly Fast and Responsive • We deliver vulnerability information as we find it • With one client using CI/CD we were getting fixes for our issues in sub 1hr time • They were also pushing out new features, and other bug fixes • Screenshots on vulns as well as repro steps and videos were paramount
  • 15. Architect for security • To go fast, it must be habit • Centralize security components • Reduce the likelihood of side effects when changing code • Increases confidence in fix • Decreases downtime due to bugs and integration • Fix an issue once, don’t see it again
  • 16. Good initial candidates • Some components to be centralized • Input validation • Authentication/authorization • Data access (SQL and non-sql) • Encoding • Encryption • Key Business Logic • Code Complete (2nd Edition) still holds up amazingly well http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670
  • 17. Automation • You must know what you’re doing won’t break your build or deployment • Automation is key - if it can be automated, it should be • Build Fast (near real-time) static analysis on dev’s machines to help identify basic issues early • SQLi detection (string concatenation) • XSS detection (failure to encode on output) • Command injection (concatenation/dangerous functions) • Remote Code Execution (dangerous functions, known insecure libraries)
  • 18. What does Security Testing look like? • If you have the tools use automated testing (web app scanner) as frequently as it will allow • Scan at least monthly, weekly is better, daily is better still • Pay attention to your results, consider them breaking the build • Tune your automation to reduce all false positives • Do a rapid (manual) assessment frequently (monthly/quarterly), document new code and focus testing on new components • Do a deep (manual) assessment when appropriately (quarterly/annually), this will test everything
  • 19. What Does Work in Agile • Allows you to react quickly to security vulnerabilities • Tighten the feedback loop between you and your users • React to vulnerabilities in your software and 3rd party software • Quickly cut out vulnerable systems if necessary • Have confidence in your solutions (with automated testing in place)
  • 20. What Doesn't • Cowboy coders with a license to check in and deploy • Mistakes happen, checks aren’t always performed • Code may be deployed for weeks or months before a deep analysis is performed • Gives the Audit teams heart attacks "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." --Brian Kernighan
  • 21. Story Time! • One client checked in debug code which disabled CC# filtering • Was discovered when a customer reported they could see their entire CC# instead of **** **** **** 1234 • Fixed quickly, hours after discovery • A test case was added to their suite and the issue hasn’t arisen again • However! The numbers were stored in logs • Luckily the developer who was at fault remembered this and the logs were flushed • Another test case was added to check for this
  • 22. Conclusions • There is always time for security • You can match your security tasks to the time you have available • Trusting your developers to “do the right thing” isn’t as scary as you might think • Amazingly people react well when you trust them!
  • 23. Contact me! Kevin Poniatowski Senior Security Instructor Security Innovation kponiatowski@securityinnovation.com https://securityinnovation.com

Editor's Notes

  1.      The reason for the title of the talk is not to talk about CI necessarily, although we will, but rather to help construct the most seemingly hostile process or environment to security and show how we can use new techniques to build secure software. Why is security so important?? Yes security is like insurance, you are paying for something you hope you will never use
  2. Allows you to be much more responsive to your customers’ security needs Having tests for everything critical is like asking if you have backups Get fixes in in hours not days, weeks, or months Gotta find the errors before the bad guys do.
  3. static code analysis tools plugin to development environment false sense of security Pen testing is expensive, but your app will be tested, just not by you.
  4. Users actually care about security Talking about security early gets everybody on the same page Simply asking the question “does this have security implications?” can be useful Define Attack Surface: Inputs, functionality Threat Modeling slide coming next
  5. define assets, roles, permissions create activity matrix brainstorm potential attacks find potential issues and prioritize defensive techniques
  6. If your build breaks, fix it immediately. Don’t wait to get told by the security team that it’s important. Security is another aspect of quality. Don’t be “that guy”
  7. If you call researchers “irresponsible” after they wait for patch, you invite other researchers to release w/ no notice, because why bother?
  8. centralize logging. All developers must be on the same page concerning what events and details to log. other components are talked about next slide
  9. If you’re looking for somewhere to start Code Complete is great to understand practices, architectures, paradigms, and principles for building solid code
  10. If he hadn’t remembered full CC# data could have been stored in logs for a long time, resulting in an information leak of PCI data