SlideShare a Scribd company logo
Software Development in the Age of Breaches
Software Development in the Age of Breaches
Software Development in the Age of Breaches
Opportunistic Indeed !
TalkTalk
150K + PII records compromised
SQL Injection
Ashley Madison
37 MM records compromised
Weak VPN Authentication
HomeDepot
56MM PII records compromised
Weak Access Control
Patreon
2.3MM PII records compromised
Debugger in Prod
000WebHost
13.5MM PII records compromised
Using old PHP version
Software Development in the Age of Breaches
Software Development in the Age of Breaches
Test Driven Development
• Bugs increase security risk
• Allows you to release faster
• Fixing issues while in development is cheaper
• Only way to prove that “My code works”
Take it to the next level
select version();
select current_database();
select current_user;
select session_user;
'));waitfor delay '0:0:3'--
"));waitfor delay '0:0:3'--
benchmark(10000000,MD5(1))#
1 or benchmark(10000000,MD5(1))#
" or benchmark(10000000,MD5(1))#
' or benchmark(10000000,MD5(1))#
getUserByName(first_name,last_name)
{
…
}
Software Development in the Age of Breaches
New Responsibility Model
• At SecureDB, we have no testers. Only
“Buddies”
• “Buddies” are fellow developers that:
– Test your code
– Review your code
– Give you feedback
• Switch “Buddies” every sprint
Software Development in the Age of Breaches
Software Development in the Age of Breaches
Where would I even start?
STEP 1: Find a comparable company in your space
STEP 2: COPY IDEAS SHAMELESSLY
Examples:
You’re a social media co that has too many locked accounts.
A: How many login attempts does Twitter Allow?
You’re an e-commerce site worried about fake accounts.
A: How does Amazon do it?
Don’t re-invent the wheel
Software Development in the Age of Breaches
Two Factor Everything
• Evaluate every service you use for TFA support
- Hosting - Code Repos
- Email - SSH Access
- DNS - File sharing systems
• If a vendor does not support TFA
– Are they really worth your time and money?
Change Default Accounts
• Default Admin Username/Password
– Databases
– Key Stores
– Content Management Systems
• Disable Unnecessary Services
• Delete unwanted accounts
Firewall Effectively
• Dev environment is only for Developers
– Block access from internet
– IP Based restrictions
• Restrict SSH access
– IP Based restrictions
– Easy to setup
• Ingress and Egress
• Install WAF (It’s FREE)
Software Development in the Age of Breaches
Continuous Security (DevSecOps)
• Provisioning a new VM
– Install latest patches
– Apply right firewall policies
– Stop unwanted services
– Start appropriate services
• Run as part of the build:
– Fuzzing Tests
– Run vulnerability scans
– Static Analysis
– Dynamic Analysis
Software Development in the Age of Breaches
Input Validation
• Trust nothing that comes from client
• Every layer to do it’s own validation
• Whitelist vs Blacklist?
– Whitelist is better
• Use well tested libraries
– Or OWASP RegEx
• Specifically Test for SQLi and XSS
• Example
Output Escaping
• Escape all content to be rendered
• Use UI Frameworks that escape by default
• Scan the code to check the usage of un-
escaped methods
• Example
Authentication
Web
Form Based Authentication
Two Factor Authentication
TOTP
Text Message
Social Logins
Facebook
Twitter
Google
Basic Authentication
Digest Authentication
OAuth
Certificate Based Auth.
JWT (with JWS/JWE)
APIs
Authorization
• Privilege Escalation attacks are common
• Authz mechanisms
– Role Based Access Control (RBAC)
– Attribute Based Access (ABAC)
• Do Authz checks at every layer
– Cookies
– JWT (Mobile Friendly)
Software Development in the Age of Breaches
White Hat Program
• Allow white hat hackers to find security issues and report
them to you
• Explicit contract laying out what kind of attacks they could
execute
• Implicit contract that they won’t go public with it
– And give you reasonable time to fix it
• Make payments per bug and severity
• Example
you are the best CISO …
of your application
You are the best CISO
of your application
Questions?

More Related Content

PPTX
Securing Your MongoDB Deployment
PPTX
Security Testing - Zap It
PPTX
NoSQL - No Security? - The BSides Edition
PPTX
Ten Commandments of Secure Coding
PDF
Security DevOps - Free pentesters' time to focus on high-hanging fruits // Ha...
PPTX
Security testautomation
PPTX
Exploiting NoSQL Like Never Before
PDF
Automated Security Testing
Securing Your MongoDB Deployment
Security Testing - Zap It
NoSQL - No Security? - The BSides Edition
Ten Commandments of Secure Coding
Security DevOps - Free pentesters' time to focus on high-hanging fruits // Ha...
Security testautomation
Exploiting NoSQL Like Never Before
Automated Security Testing

What's hot (20)

ODP
2014 ZAP Workshop 2: Contexts and Fuzzing
PPTX
Hacker Proof web app using Functional tests
PPTX
[Wroclaw #7] Security test automation
PPTX
[OWASP Poland Day] Application frameworks' vulnerabilities
PPTX
Java Secure Coding Practices
ODP
BSides Manchester 2014 ZAP Advanced Features
PDF
[Wroclaw #6] Introduction to desktop browser add-ons
PPTX
Devouring Security Insufficient data validation risks Cross Site Scripting
PPTX
[Wroclaw #7] AWS (in)security - the devil is in the detail
PDF
Zed Attack Proxy (ZAP)
ODP
Automating OWASP ZAP - DevCSecCon talk
ODP
JavaOne 2014 Security Testing for Developers using OWASP ZAP
PPTX
The OWASP Zed Attack Proxy
PPTX
OWASP Zed Attack Proxy
PDF
Anatomy of a Cloud Hack
PPTX
NoSQL Exploitation Framework
PDF
Using the Zed Attack Proxy as a Web App testing tool
PDF
Fundamental of malware analysis
PPTX
Zap vs burp
PPTX
Presentation on Web Attacks
2014 ZAP Workshop 2: Contexts and Fuzzing
Hacker Proof web app using Functional tests
[Wroclaw #7] Security test automation
[OWASP Poland Day] Application frameworks' vulnerabilities
Java Secure Coding Practices
BSides Manchester 2014 ZAP Advanced Features
[Wroclaw #6] Introduction to desktop browser add-ons
Devouring Security Insufficient data validation risks Cross Site Scripting
[Wroclaw #7] AWS (in)security - the devil is in the detail
Zed Attack Proxy (ZAP)
Automating OWASP ZAP - DevCSecCon talk
JavaOne 2014 Security Testing for Developers using OWASP ZAP
The OWASP Zed Attack Proxy
OWASP Zed Attack Proxy
Anatomy of a Cloud Hack
NoSQL Exploitation Framework
Using the Zed Attack Proxy as a Web App testing tool
Fundamental of malware analysis
Zap vs burp
Presentation on Web Attacks
Ad

Similar to Software Development in the Age of Breaches (20)

PPTX
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls
PPTX
Lateral Movement - Phreaknik 2016
PDF
Unsafe Deserialization Attacks In Java and A New Approach To Protect The JVM ...
ODP
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
PPTX
Spa Secure Coding Guide
PPTX
Vulnerabilities in modern web applications
PDF
Css sf azure_8-9-17-protecting_web_apps_stephen coty_al
PDF
CSS17: Houston - Protecting Web Apps
PDF
NoSQL - No Security?
PDF
Lateral Movement: How attackers quietly traverse your Network
PDF
Lateral Movement - Hacker Halted 2016
PPTX
Owasp first5 presentation
PPTX
Owasp first5 presentation
PDF
Problems with parameters b sides-msp
PPT
Code Quality - Security
PPTX
Top Ten Java Defense for Web Applications v2
PPTX
CSS 17: NYC - Protecting your Web Applications
PDF
DevSecOps: Taking a DevOps Approach to Security
PPTX
Plant_Ecommerce_Security_Presentation.pptx
PPTX
ISS Capstone - Martinez Technology Consulting and Cedar Hills Church Security...
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls
Lateral Movement - Phreaknik 2016
Unsafe Deserialization Attacks In Java and A New Approach To Protect The JVM ...
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
Spa Secure Coding Guide
Vulnerabilities in modern web applications
Css sf azure_8-9-17-protecting_web_apps_stephen coty_al
CSS17: Houston - Protecting Web Apps
NoSQL - No Security?
Lateral Movement: How attackers quietly traverse your Network
Lateral Movement - Hacker Halted 2016
Owasp first5 presentation
Owasp first5 presentation
Problems with parameters b sides-msp
Code Quality - Security
Top Ten Java Defense for Web Applications v2
CSS 17: NYC - Protecting your Web Applications
DevSecOps: Taking a DevOps Approach to Security
Plant_Ecommerce_Security_Presentation.pptx
ISS Capstone - Martinez Technology Consulting and Cedar Hills Church Security...
Ad

Recently uploaded (20)

PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Digital Strategies for Manufacturing Companies
PPT
Introduction Database Management System for Course Database
PPTX
ai tools demonstartion for schools and inter college
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Introduction to Artificial Intelligence
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
System and Network Administraation Chapter 3
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
CHAPTER 2 - PM Management and IT Context
Operating system designcfffgfgggggggvggggggggg
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Design an Analysis of Algorithms II-SECS-1021-03
2025 Textile ERP Trends: SAP, Odoo & Oracle
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Which alternative to Crystal Reports is best for small or large businesses.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Digital Strategies for Manufacturing Companies
Introduction Database Management System for Course Database
ai tools demonstartion for schools and inter college
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Introduction to Artificial Intelligence
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Upgrade and Innovation Strategies for SAP ERP Customers
System and Network Administraation Chapter 3
Internet Downloader Manager (IDM) Crack 6.42 Build 41

Software Development in the Age of Breaches

  • 4. Opportunistic Indeed ! TalkTalk 150K + PII records compromised SQL Injection Ashley Madison 37 MM records compromised Weak VPN Authentication HomeDepot 56MM PII records compromised Weak Access Control Patreon 2.3MM PII records compromised Debugger in Prod 000WebHost 13.5MM PII records compromised Using old PHP version
  • 7. Test Driven Development • Bugs increase security risk • Allows you to release faster • Fixing issues while in development is cheaper • Only way to prove that “My code works”
  • 8. Take it to the next level select version(); select current_database(); select current_user; select session_user; '));waitfor delay '0:0:3'-- "));waitfor delay '0:0:3'-- benchmark(10000000,MD5(1))# 1 or benchmark(10000000,MD5(1))# " or benchmark(10000000,MD5(1))# ' or benchmark(10000000,MD5(1))# getUserByName(first_name,last_name) { … }
  • 10. New Responsibility Model • At SecureDB, we have no testers. Only “Buddies” • “Buddies” are fellow developers that: – Test your code – Review your code – Give you feedback • Switch “Buddies” every sprint
  • 13. Where would I even start? STEP 1: Find a comparable company in your space STEP 2: COPY IDEAS SHAMELESSLY Examples: You’re a social media co that has too many locked accounts. A: How many login attempts does Twitter Allow? You’re an e-commerce site worried about fake accounts. A: How does Amazon do it? Don’t re-invent the wheel
  • 15. Two Factor Everything • Evaluate every service you use for TFA support - Hosting - Code Repos - Email - SSH Access - DNS - File sharing systems • If a vendor does not support TFA – Are they really worth your time and money?
  • 16. Change Default Accounts • Default Admin Username/Password – Databases – Key Stores – Content Management Systems • Disable Unnecessary Services • Delete unwanted accounts
  • 17. Firewall Effectively • Dev environment is only for Developers – Block access from internet – IP Based restrictions • Restrict SSH access – IP Based restrictions – Easy to setup • Ingress and Egress • Install WAF (It’s FREE)
  • 19. Continuous Security (DevSecOps) • Provisioning a new VM – Install latest patches – Apply right firewall policies – Stop unwanted services – Start appropriate services • Run as part of the build: – Fuzzing Tests – Run vulnerability scans – Static Analysis – Dynamic Analysis
  • 21. Input Validation • Trust nothing that comes from client • Every layer to do it’s own validation • Whitelist vs Blacklist? – Whitelist is better • Use well tested libraries – Or OWASP RegEx • Specifically Test for SQLi and XSS • Example
  • 22. Output Escaping • Escape all content to be rendered • Use UI Frameworks that escape by default • Scan the code to check the usage of un- escaped methods • Example
  • 23. Authentication Web Form Based Authentication Two Factor Authentication TOTP Text Message Social Logins Facebook Twitter Google Basic Authentication Digest Authentication OAuth Certificate Based Auth. JWT (with JWS/JWE) APIs
  • 24. Authorization • Privilege Escalation attacks are common • Authz mechanisms – Role Based Access Control (RBAC) – Attribute Based Access (ABAC) • Do Authz checks at every layer – Cookies – JWT (Mobile Friendly)
  • 26. White Hat Program • Allow white hat hackers to find security issues and report them to you • Explicit contract laying out what kind of attacks they could execute • Implicit contract that they won’t go public with it – And give you reasonable time to fix it • Make payments per bug and severity • Example
  • 27. you are the best CISO … of your application You are the best CISO of your application